<?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>66874</bug_id>
          
          <creation_ts>2011-08-24 11:55:27 -0700</creation_ts>
          <short_desc>Get rid of frame life support timer</short_desc>
          <delta_ts>2011-08-26 16:28:04 -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>WebCore Misc.</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dimich</cc>
    
    <cc>ggaren</cc>
    
    <cc>levin</cc>
    
    <cc>mjs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>456275</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-24 11:55:27 -0700</bug_when>
    <thetext>Postponing frame deletion on a zero delay timer makes behavior less predictable for both WebKit developers and JS developers. Frame lifetime shouldn&apos;t depend on JS execution.

Perhaps surprisingly, very few regression tests depend on the life support timer. There is a risk of web site regressions, but we&apos;ll see.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456281</commentid>
    <comment_count>1</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-08-24 12:00:01 -0700</bug_when>
    <thetext>I feel the same giddy fear that a 5-year-old might feel before launching a firecracker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456287</commentid>
    <comment_count>2</comment_count>
      <attachid>105036</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-24 12:04:33 -0700</bug_when>
    <thetext>Created attachment 105036
proposed patch

I&apos;m surprised that I didn&apos;t need to add RefPtr protectors anywhere. My theory is that the keep alive timer wasn&apos;t working in some situations, so we had to fix all such issues over time already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456301</commentid>
    <comment_count>3</comment_count>
      <attachid>105036</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-24 12:22:21 -0700</bug_when>
    <thetext>Comment on attachment 105036
proposed patch

Attachment 105036 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9488212</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456308</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-08-24 12:30:33 -0700</bug_when>
    <thetext>Source/WebCore/bindings/v8/ScriptController.cpp: In member function &apos;WebCore::ScriptValue WebCore::ScriptController::evaluate(const WebCore::ScriptSourceCode&amp;)&apos;:
Source/WebCore/bindings/v8/ScriptController.cpp:194: error: &apos;class WebCore::Frame&apos; has no member named &apos;keepAlive&apos;
make: *** [out/Release/obj.target/webcore_remaining/Source/WebCore/bindings/v8/ScriptController.o] Error 1

Ah, the v8 bindings. An epic contribution to the WebKit project.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456309</commentid>
    <comment_count>5</comment_count>
      <attachid>105044</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-24 12:30:35 -0700</bug_when>
    <thetext>Created attachment 105044
with v8 build fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456310</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-08-24 12:32:14 -0700</bug_when>
    <thetext>&gt; Source/WebCore/bindings/js/JSDOMWindowBase.h:-58
&gt; -        virtual JSC::ExecState* globalExec();

You can make globalExec() in JavaScriptCore non-virtual now. The only reason it&apos;s virtual is to allow for this override.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456316</commentid>
    <comment_count>7</comment_count>
      <attachid>105046</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-24 12:41:47 -0700</bug_when>
    <thetext>Created attachment 105046
with devirtualized globalExec()

Looks like I can!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456486</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-24 15:50:14 -0700</bug_when>
    <thetext>I have run Layout tests on Chromium try bot with this patch applied and got following results: http://build.chromium.org/p/tryserver.chromium/builders/win_layout/builds/1362
It seems there are some crashes in tests that may be relevant. The crash stacks are in &apos;stdio&apos; file of the &quot;webkit tests&apos; step.

Just curious, some patches in the past did not have layout tests, is it possible to verify what the issues they were fixing are not regressing? This is one example: http://trac.webkit.org/changeset/7546

Also, some changes in the past do not have information about them, like this one: http://trac.webkit.org/changeset/42417. Do we know what was fixed by them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456491</commentid>
    <comment_count>9</comment_count>
      <attachid>105046</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-24 15:54:25 -0700</bug_when>
    <thetext>Comment on attachment 105046
with devirtualized globalExec()

Attachment 105046 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9510030

New failing tests:
http/tests/fileapi/create-blob-url-from-data-url.html
http/tests/websocket/tests/hybi/close-on-unload-reference-in-parent.html
fast/frames/iframe-scale-applied-twice.html
http/tests/websocket/tests/hybi/send-after-close-on-unload.html
http/tests/websocket/tests/hixie76/close-on-unload.html
http/tests/websocket/tests/hixie76/close-on-unload-reference-in-parent.html
fast/replaced/frame-removed-during-resize.html
http/tests/websocket/tests/hybi/close-on-unload.html
fast/dom/xmlhttprequest-constructor-in-detached-document.html
http/tests/websocket/tests/hixie76/send-after-close-on-unload.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456495</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-24 15:57:06 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Just curious, some patches in the past did not have layout tests, is it possible to verify what the issues they were fixing are not regressing? This is one example: http://trac.webkit.org/changeset/7546

I can attach the test case from that bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456497</commentid>
    <comment_count>11</comment_count>
      <attachid>105090</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-24 15:58:24 -0700</bug_when>
    <thetext>Created attachment 105090
Test case for the bug fixed in r7546</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456535</commentid>
    <comment_count>12</comment_count>
      <attachid>105096</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-24 16:58:34 -0700</bug_when>
    <thetext>Created attachment 105096
trying to fix v8 tests

The test for r7546 passes for me with this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456577</commentid>
    <comment_count>13</comment_count>
      <attachid>105096</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-08-24 18:03:28 -0700</bug_when>
    <thetext>Comment on attachment 105096
trying to fix v8 tests

r=me, assuming tests pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456595</commentid>
    <comment_count>14</comment_count>
      <attachid>105096</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-24 18:34:58 -0700</bug_when>
    <thetext>Comment on attachment 105096
trying to fix v8 tests

Attachment 105096 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9513125

New failing tests:
http/tests/fileapi/create-blob-url-from-data-url.html
http/tests/websocket/tests/hybi/close-on-unload-reference-in-parent.html
fast/frames/iframe-scale-applied-twice.html
http/tests/websocket/tests/hybi/send-after-close-on-unload.html
http/tests/websocket/tests/hixie76/close-on-unload.html
http/tests/websocket/tests/hixie76/close-on-unload-reference-in-parent.html
fast/replaced/frame-removed-during-resize.html
http/tests/websocket/tests/hybi/close-on-unload.html
fast/dom/xmlhttprequest-constructor-in-detached-document.html
http/tests/websocket/tests/hixie76/send-after-close-on-unload.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456640</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-24 22:04:53 -0700</bug_when>
    <thetext>So, my attempt to fix v8 bindings didn&apos;t work. Not sure how to proceed - is the agreement that we don&apos;t need to care about v8 bindings still in force? I&apos;d certainly prefer to avoid introducing regressions, but I cannot fix v8 myself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456688</commentid>
    <comment_count>16</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-25 00:31:24 -0700</bug_when>
    <thetext>Can I help?  /me looks at the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456692</commentid>
    <comment_count>17</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-25 00:42:09 -0700</bug_when>
    <thetext>Is this code needed to make Magic iframes work?  I never fully understood how those worked.

This looks a bit complicated to figure out at 1am, but I can take a look tomorrow in more detail.  If you&apos;d be willing to wait a day before landing this patch, hopefully we can land it in a clean way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456835</commentid>
    <comment_count>18</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-25 07:28:03 -0700</bug_when>
    <thetext>I don’t even know what “magic iframes” are. I’d love to learn.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456888</commentid>
    <comment_count>19</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-25 08:53:36 -0700</bug_when>
    <thetext>I think that it&apos;s about transferring live subframes between documents. I&apos;m also suspicious of this case, although regression tests seem to pass. Perhaps Dmitry knows why these aren&apos;t affected.

I&apos;m certainly willing to wait a day or even longer than that. Your help is very appreciated!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456927</commentid>
    <comment_count>20</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-25 09:53:18 -0700</bug_when>
    <thetext>&gt; I don’t even know what “magic iframes” are. I’d love to learn.

As Alexey says, it allows a web site to move an iframe from one document to another without causing it to reload (much like you can move a &lt;video&gt; element from one page to another without disrupting playback).  The idea came out of the discussion about global pages (or whatever it was called).  It&apos;s used, for example, to make the chat moles in Gmail pop out quickly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456932</commentid>
    <comment_count>21</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-25 09:57:12 -0700</bug_when>
    <thetext>I knew about the feature, but didn’t know about the “magic” name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456970</commentid>
    <comment_count>22</comment_count>
      <attachid>105214</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-25 10:38:59 -0700</bug_when>
    <thetext>Created attachment 105214
plus windows build fix, minus failed v8 fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457000</commentid>
    <comment_count>23</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-25 11:02:49 -0700</bug_when>
    <thetext>I will take a look at v8 issue later today if Adam won&apos;t beat me to it.

One of GMail engineers named the feature of transferring live iframe the &quot;magic iframe&quot; and it somehow stuck around :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457116</commentid>
    <comment_count>24</comment_count>
      <attachid>105214</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-25 13:54:35 -0700</bug_when>
    <thetext>Comment on attachment 105214
plus windows build fix, minus failed v8 fix

Attachment 105214 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9495607

New failing tests:
http/tests/fileapi/create-blob-url-from-data-url.html
http/tests/websocket/tests/hybi/close-on-unload-reference-in-parent.html
fast/frames/iframe-scale-applied-twice.html
http/tests/websocket/tests/hybi/send-after-close-on-unload.html
http/tests/websocket/tests/hixie76/close-on-unload.html
http/tests/websocket/tests/hixie76/close-on-unload-reference-in-parent.html
fast/replaced/frame-removed-during-resize.html
http/tests/websocket/tests/hybi/close-on-unload.html
fast/dom/xmlhttprequest-constructor-in-detached-document.html
http/tests/websocket/tests/hixie76/send-after-close-on-unload.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457325</commentid>
    <comment_count>25</comment_count>
      <attachid>105289</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-25 18:54:16 -0700</bug_when>
    <thetext>Created attachment 105289
Lets see if it fixes v8 crashes

It&apos;s the latest Alexey&apos;s patch, with 2 protection pointes added in V8Proxy.cpp. Lets see what chromium EWS says.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457326</commentid>
    <comment_count>26</comment_count>
      <attachid>105290</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-25 18:57:51 -0700</bug_when>
    <thetext>Created attachment 105290
Same, with style fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457340</commentid>
    <comment_count>27</comment_count>
      <attachid>105290</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-25 19:36:45 -0700</bug_when>
    <thetext>Comment on attachment 105290
Same, with style fix.

Attachment 105290 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9510777

New failing tests:
fast/dom/xmlhttprequest-constructor-in-detached-document.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457342</commentid>
    <comment_count>28</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-25 19:42:01 -0700</bug_when>
    <thetext>That seems better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457362</commentid>
    <comment_count>29</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-25 20:55:07 -0700</bug_when>
    <thetext>I bet it needs another RefPtr somewhere.. Stay tuned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457374</commentid>
    <comment_count>30</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-25 21:30:08 -0700</bug_when>
    <thetext>This test has some JSC bindings specific output, so it might just need custom results for v8. Fantastic!

The patch also needs more Windows build fixing...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457409</commentid>
    <comment_count>31</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-25 22:57:26 -0700</bug_when>
    <thetext>Indeed, the remaining v8 test is failing because it needs v8-specific result (in LayoutTests/platform/chromium). Here is the diff:

-CONSOLE MESSAGE: line 12: ReferenceError: XMLHttpRequest constructor associated document is unavailable
+CONSOLE MESSAGE: line 12: Uncaught ReferenceError: XMLHttpRequest constructor&apos;s associated context is not available

You may leave it as is, Chromium WebKit gardener (Dave Levin for tomorrow) will be able to rebaseline it. Added him to Cc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457701</commentid>
    <comment_count>32</comment_count>
      <attachid>105389</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-26 12:24:40 -0700</bug_when>
    <thetext>Created attachment 105389
patch for landing

Thank you!

Fixed Windows build and added custom results for v8.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457732</commentid>
    <comment_count>33</comment_count>
      <attachid>105389</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-26 13:29:48 -0700</bug_when>
    <thetext>Comment on attachment 105389
patch for landing

Rejecting attachment 105389 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
tructor-in-detached-document.html = TEXT

Regressions: Unexpected image mismatch : (5)
  fast/text/atsui-multiple-renderers.html = IMAGE
  fast/text/international/danda-space.html = IMAGE
  fast/text/international/thai-baht-space.html = IMAGE
  fast/text/international/thai-line-breaks.html = IMAGE
  platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html = IMAGE

Regressions: Unexpected image and text mismatch : (1)
  svg/custom/svg-fonts-word-spacing.html = IMAGE+TEXT



Full output: http://queues.webkit.org/results/9541170</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457775</commentid>
    <comment_count>34</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-26 14:19:50 -0700</bug_when>
    <thetext>Attachment 105389 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

LayoutTests/ChangeLog:10:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
Total errors found: 1 in 13 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>457776</commentid>
    <comment_count>35</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-08-26 14:22:34 -0700</bug_when>
    <thetext>(In reply to comment #34)
&gt; Attachment 105389 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
&gt; 
&gt; LayoutTests/ChangeLog:10:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
&gt; Total errors found: 1 in 13 files

Not a very descriptive error but there seems to be a missing colon on that line. (Not worth fixing the patch  imo.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457780</commentid>
    <comment_count>36</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-26 14:29:05 -0700</bug_when>
    <thetext>The test results look incorrect/unrelated. I run the tests in specified directories locally with the patch and it&apos;s all right.

The EWS may barf because the fast/dom/xmlhttprequest-constructor-in-detached-document.html is still failing. It will still fail because there are os-specific versions of the results captured that have to be removed in following dirs:
LayoutTests/platform/chromium-cg-mac
LayoutTests/platform/chromium-win

In presence of more-specific results they will be used first, that&apos;s why compare fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457792</commentid>
    <comment_count>37</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-26 14:44:37 -0700</bug_when>
    <thetext>I see. It&apos;s surprising that this test has custom results on some platforms for Chromium. Hopefully a common result will work now for all of them (but sadly, not the main cross-platform result).

Landed manually in &lt;http://trac.webkit.org/changeset/93913&gt; without Chromium test fixes, Dave is going to take care of these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457843</commentid>
    <comment_count>38</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-26 16:24:40 -0700</bug_when>
    <thetext>(In reply to comment #37)
&gt; I see. It&apos;s surprising that this test has custom results on some platforms for Chromium.

They are identical results. The rebaselining tool that Chromium Webkit gardeners use at some point was not very particular about coalescing results across platforms. Also gardener can grab new snapshots from canary servers for particular platform while other servers did not yet run the test and so they don&apos;t have a snapshot that could be coalesced. We likely do have some duplication of results in platform/chromium because of various reasons.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457846</commentid>
    <comment_count>39</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-08-26 16:28:04 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; (In reply to comment #37)
&gt; &gt; I see. It&apos;s surprising that this test has custom results on some platforms for Chromium.
&gt; 
&gt; They are identical results. The rebaselining tool that Chromium Webkit gardeners use at some point was not very particular about coalescing results across platforms. Also gardener can grab new snapshots from canary servers for particular platform while other servers did not yet run the test and so they don&apos;t have a snapshot that could be coalesced. We likely do have some duplication of results in platform/chromium because of various reasons.

The new tool does a good job of coalescing the results and when I rebaselined this, it got fixed up.

Disappointing that we have to have a different result at all (but at the moment I have no time to pursue that -- maybe in the distant future).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105036</attachid>
            <date>2011-08-24 12:04:33 -0700</date>
            <delta_ts>2011-08-24 12:30:35 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>KillLifeSupport.txt</filename>
            <type>text/plain</type>
            <size>12574</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNzE3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDgtMjQgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiBmcmFtZSBs
aWZlIHN1cHBvcnQgdGltZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY2ODc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGVzdDogZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHkuaHRtbAor
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3Jp
cHRDb250cm9sbGVyLmNwcDogKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5X
b3JsZCk6CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZTo6RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6On5GcmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZTo6cGFnZURlc3Ryb3llZCk6CisgICAgICAgICogcGFnZS9GcmFtZS5oOgor
ICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6IChXZWJDb3JlOjpQYWdlOjp+UGFnZSk6CisgICAgICAg
IFJlbW92ZWQgYWxsIGNvZGUgdGhhdCBkZWFsdCB3aXRoIHRoZSBsaWZlIHN1cHBvcnQgdGltZXIu
CisKIDIwMTEtMDgtMjQgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBK
U0hUTUxJbWFnZUVsZW1lbnQgKGFuZCBhc3NvY2lhdGVkIE5vZGUpIGlzIGFiYW5kb25lZCB3aGVu
IGltYWdlIGxvYWQgaXMgY2FuY2VsZWQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93QmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAkocmV2aXNpb24gOTM1NjcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04
MCwxNSArODAsNiBAQCB2b2lkIEpTRE9NV2luZG93QmFzZTo6cHJpbnRFcnJvck1lc3NhZ2UoCiAg
ICAgcHJpbnRFcnJvck1lc3NhZ2VGb3JGcmFtZShpbXBsKCktPmZyYW1lKCksIG1lc3NhZ2UpOwog
fQogCi1FeGVjU3RhdGUqIEpTRE9NV2luZG93QmFzZTo6Z2xvYmFsRXhlYygpCi17Ci0gICAgLy8g
V2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBhbnkgc2NyaXB0IGV4ZWN1dGlvbiBoYXBwZW5pbmcg
aW4gdGhpcwotICAgIC8vIGZyYW1lIGRvZXMgbm90IGRlc3Ryb3kgaXQKLSAgICBpZiAoRnJhbWUg
KmZyYW1lID0gaW1wbCgpLT5mcmFtZSgpKQotICAgICAgICBmcmFtZS0+a2VlcEFsaXZlKCk7Ci0g
ICAgcmV0dXJuIEJhc2U6Omdsb2JhbEV4ZWMoKTsKLX0KLQogYm9vbCBKU0RPTVdpbmRvd0Jhc2U6
OnN1cHBvcnRzUHJvZmlsaW5nKCkgY29uc3QKIHsKICNpZiAhRU5BQkxFKEpBVkFTQ1JJUFRfREVC
VUdHRVIpIHx8ICFFTkFCTEUoSU5TUEVDVE9SKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgJKHJldmlzaW9uIDkzNTY3KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTU1
LDcgKzU1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgcmV0dXJuIEpTQzo6
U3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpT
Qzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBBbm9ueW1vdXNTbG90Q291bnQsICZzX2lu
Zm8pOwogICAgICAgICB9CiAKLSAgICAgICAgdmlydHVhbCBKU0M6OkV4ZWNTdGF0ZSogZ2xvYmFs
RXhlYygpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNQcm9maWxpbmcoKSBjb25zdDsK
ICAgICAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzUmljaFNvdXJjZUluZm8oKSBjb25zdDsKICAg
ICAgICAgdmlydHVhbCBib29sIHNob3VsZEludGVycnVwdFNjcmlwdCgpIGNvbnN0OwpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAJKHJl
dmlzaW9uIDkzNTY3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJv
bGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NCwxMCArMTQ0LDYgQEAgU2NyaXB0VmFsdWUg
U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbgogCiAgICAgIChjb29raWUpOwogCi0gICAgLy8g
RXZhbHVhdGluZyB0aGUgSmF2YVNjcmlwdCBjb3VsZCBjYXVzZSB0aGUgZnJhbWUgdG8gYmUgZGVh
bGxvY2F0ZWQKLSAgICAvLyBzbyB3ZSBzdGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBoZXJlLgot
ICAgIG1fZnJhbWUtPmtlZXBBbGl2ZSgpOwotCiAgICAgaWYgKGNvbXAuY29tcGxUeXBlKCkgPT0g
Tm9ybWFsIHx8IGNvbXAuY29tcGxUeXBlKCkgPT0gUmV0dXJuVmFsdWUpIHsKICAgICAgICAgbV9z
b3VyY2VVUkwgPSBzYXZlZFNvdXJjZVVSTDsKICAgICAgICAgcmV0dXJuIFNjcmlwdFZhbHVlKGV4
ZWMtPmdsb2JhbERhdGEoKSwgY29tcC52YWx1ZSgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3Bw
CShyZXZpc2lvbiA5MzU2NykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNTcsNyArMTU3LDYgQEAgaW5saW5lIEZyYW1lOjpGcmFtZShQYWdlKiBw
YWdlLCBIVE1MRnJhbQogICAgICwgbV9zZWxlY3Rpb24odGhpcykKICAgICAsIG1fZXZlbnRIYW5k
bGVyKHRoaXMpCiAgICAgLCBtX2FuaW1hdGlvbkNvbnRyb2xsZXIodGhpcykKLSAgICAsIG1fbGlm
ZVN1cHBvcnRUaW1lcih0aGlzLCAmRnJhbWU6OmxpZmVTdXBwb3J0VGltZXJGaXJlZCkKICAgICAs
IG1fcGFnZVpvb21GYWN0b3IocGFyZW50UGFnZVpvb21GYWN0b3IodGhpcykpCiAgICAgLCBtX3Rl
eHRab29tRmFjdG9yKHBhcmVudFRleHRab29tRmFjdG9yKHRoaXMpKQogICAgICwgbV9wYWdlU2Nh
bGVGYWN0b3IoMSkKQEAgLTIxNyw4ICsyMTYsNiBAQCBGcmFtZTo6fkZyYW1lKCkKIAogICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgbm90IGJlIGRvaW5nIGFsbCB0aGlzIHdvcmsgaW5zaWRlIHRoZSBk
ZXN0cnVjdG9yCiAKLSAgICBBU1NFUlQoIW1fbGlmZVN1cHBvcnRUaW1lci5pc0FjdGl2ZSgpKTsK
LQogI2lmbmRlZiBOREVCVUcKICAgICBmcmFtZUNvdW50ZXIuZGVjcmVtZW50KCk7CiAjZW5kaWYK
QEAgLTI0Nyw4ICsyNDQsNiBAQCBGcmFtZTo6fkZyYW1lKCkKICAgICAgICAgbV92aWV3LT5oaWRl
KCk7CiAgICAgICAgIG1fdmlldy0+Y2xlYXJGcmFtZSgpOwogICAgIH0KLQotICAgIEFTU0VSVCgh
bV9saWZlU3VwcG9ydFRpbWVyLmlzQWN0aXZlKCkpOwogfQogCiB2b2lkIEZyYW1lOjphZGREZXN0
cnVjdGlvbk9ic2VydmVyKEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlciogb2JzZXJ2ZXIpCkBAIC01
ODksNDYgKzU4NCw2IEBAIHZvaWQgRnJhbWU6OmluamVjdFVzZXJTY3JpcHRzRm9yV29ybGQoRE8K
ICAgICB9CiB9CiAKLSNpZm5kZWYgTkRFQlVHCi1zdGF0aWMgSGFzaFNldDxGcmFtZSo+JiBrZWVw
QWxpdmVTZXQoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoSGFzaFNldDxGcmFtZSo+LCBz
dGF0aWNLZWVwQWxpdmVTZXQsICgpKTsKLSAgICByZXR1cm4gc3RhdGljS2VlcEFsaXZlU2V0Owot
fQotI2VuZGlmCi0KLXZvaWQgRnJhbWU6OmtlZXBBbGl2ZSgpCi17Ci0gICAgaWYgKG1fbGlmZVN1
cHBvcnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICByZXR1cm47Ci0jaWZuZGVmIE5ERUJVRwot
ICAgIGtlZXBBbGl2ZVNldCgpLmFkZCh0aGlzKTsKLSNlbmRpZgotICAgIHJlZigpOwotICAgIG1f
bGlmZVN1cHBvcnRUaW1lci5zdGFydE9uZVNob3QoMCk7Ci19Ci0KLSNpZm5kZWYgTkRFQlVHCi12
b2lkIEZyYW1lOjpjYW5jZWxBbGxLZWVwQWxpdmUoKQotewotICAgIEhhc2hTZXQ8RnJhbWUqPjo6
aXRlcmF0b3IgZW5kID0ga2VlcEFsaXZlU2V0KCkuZW5kKCk7Ci0gICAgZm9yIChIYXNoU2V0PEZy
YW1lKj46Oml0ZXJhdG9yIGl0ID0ga2VlcEFsaXZlU2V0KCkuYmVnaW4oKTsgaXQgIT0gZW5kOyAr
K2l0KSB7Ci0gICAgICAgIEZyYW1lKiBmcmFtZSA9ICppdDsKLSAgICAgICAgZnJhbWUtPm1fbGlm
ZVN1cHBvcnRUaW1lci5zdG9wKCk7Ci0gICAgICAgIGZyYW1lLT5kZXJlZigpOwotICAgIH0KLSAg
ICBrZWVwQWxpdmVTZXQoKS5jbGVhcigpOwotfQotI2VuZGlmCi0KLXZvaWQgRnJhbWU6OmxpZmVT
dXBwb3J0VGltZXJGaXJlZChUaW1lcjxGcmFtZT4qKQotewotI2lmbmRlZiBOREVCVUcKLSAgICBr
ZWVwQWxpdmVTZXQoKS5yZW1vdmUodGhpcyk7Ci0jZW5kaWYKLSAgICBkZXJlZigpOwotfQotCiB2
b2lkIEZyYW1lOjpjbGVhckRPTVdpbmRvdygpCiB7CiAgICAgaWYgKG1fZG9tV2luZG93KSB7CkBA
IC03NTIsMTAgKzcwNyw2IEBAIHZvaWQgRnJhbWU6OnBhZ2VEZXN0cm95ZWQoKQogICAgIGlmIChw
YWdlKCkgJiYgcGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZEZyYW1lKCkgPT0gdGhp
cykKICAgICAgICAgcGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+c2V0Rm9jdXNlZEZyYW1lKDAp
OwogCi0gICAgLy8gRklYTUU6IFJlbW92aW5nIGtlZXBhbGl2ZSB3aWxsIG1ha2UgYmVoYXZpb3Ig
YmV0dGVyIG1hdGNoIEZpcmVmb3guCi0gICAgLy8gU29tZSBjb2RlIHRoYXQgdXNlZCB0byBiZSBo
ZXJlIGluZGlyZWN0bHkgdHJpZ2dlcmVkIGtlZXBhbGl2ZSwgYW5kIHdlIGRvbid0IHdhbnQgdG8g
Y2hhbmdlIGJlaGF2aW9yIGF0IHRoZSBtb21lbnQuCi0gICAga2VlcEFsaXZlKCk7Ci0KICAgICBz
Y3JpcHQoKS0+Y2xlYXJTY3JpcHRPYmplY3RzKCk7CiAgICAgc2NyaXB0KCktPnVwZGF0ZVBsYXRm
b3JtU2NyaXB0T2JqZWN0cygpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCShyZXZpc2lvbiA5MzU2
NykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMTUz
LDkgKzE1Myw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBpblZpZXdTb3Vy
Y2VNb2RlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0SW5WaWV3U291cmNlTW9kZShib29sID0g
dHJ1ZSk7CiAKLSAgICAgICAgdm9pZCBrZWVwQWxpdmUoKTsgLy8gVXNlZCB0byBrZWVwIHRoZSBm
cmFtZSBhbGl2ZSB3aGVuIHJ1bm5pbmcgYSBzY3JpcHQgdGhhdCBtaWdodCBkZXN0cm95IGl0Lgot
ICAgICAgICBzdGF0aWMgdm9pZCBjYW5jZWxBbGxLZWVwQWxpdmUoKTsKLQogICAgICAgICB2b2lk
IHNldERvY3VtZW50KFBhc3NSZWZQdHI8RG9jdW1lbnQ+KTsKIAogICAgICAgICB2b2lkIHNldFBh
Z2Vab29tRmFjdG9yKGZsb2F0IGZhY3Rvcik7CkBAIC0yMTksNyArMjE2LDYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBGcmFtZShQYWdlKiwgSFRNTEZyYW1lT3duZXJFbGVtZW50Kiwg
RnJhbWVMb2FkZXJDbGllbnQqKTsKIAogICAgICAgICB2b2lkIGluamVjdFVzZXJTY3JpcHRzRm9y
V29ybGQoRE9NV3JhcHBlcldvcmxkKiwgY29uc3QgVXNlclNjcmlwdFZlY3RvciYsIFVzZXJTY3Jp
cHRJbmplY3Rpb25UaW1lKTsKLSAgICAgICAgdm9pZCBsaWZlU3VwcG9ydFRpbWVyRmlyZWQoVGlt
ZXI8RnJhbWU+Kik7CiAKICAgICAgICAgSGFzaFNldDxGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIq
PiBtX2Rlc3RydWN0aW9uT2JzZXJ2ZXJzOwogCkBAIC0yNDIsOCArMjM4LDYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBtdXRhYmxlIEV2ZW50SGFuZGxlciBtX2V2ZW50SGFuZGxlcjsK
ICAgICAgICAgbXV0YWJsZSBBbmltYXRpb25Db250cm9sbGVyIG1fYW5pbWF0aW9uQ29udHJvbGxl
cjsKIAotICAgICAgICBUaW1lcjxGcmFtZT4gbV9saWZlU3VwcG9ydFRpbWVyOwotCiAgICAgICAg
IGZsb2F0IG1fcGFnZVpvb21GYWN0b3I7CiAgICAgICAgIGZsb2F0IG1fdGV4dFpvb21GYWN0b3I7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gOTM1NjcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDMsMTEgKzIwMyw2IEBAIFBh
Z2U6On5QYWdlKCkKIAogI2lmbmRlZiBOREVCVUcKICAgICBwYWdlQ291bnRlci5kZWNyZW1lbnQo
KTsKLQotICAgIC8vIENhbmNlbCBrZWVwQWxpdmUgdGltZXJzLCB0byBlbnN1cmUgd2UgcmVsZWFz
ZSBhbGwgRnJhbWVzIGJlZm9yZSBleGl0aW5nLgotICAgIC8vIEl0J3Mgc2FmZSB0byBkbyB0aGlz
IGJlY2F1c2Ugd2UgcHJvaGliaXQgY2xvc2luZyBhIFBhZ2Ugd2hpbGUgSmF2YVNjcmlwdAotICAg
IC8vIGlzIGV4ZWN1dGluZy4KLSAgICBGcmFtZTo6Y2FuY2VsQWxsS2VlcEFsaXZlKCk7CiAjZW5k
aWYKIH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gOTM3MTcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNCBAQAorMjAxMS0wOC0yNCAgQWxleGV5IFBy
b3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIGZyYW1lIGxp
ZmUgc3VwcG9ydCB0aW1lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjY4NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvZG9tL3Jlc291cmNlcy94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1p
bi1kZXRhY2hlZC1kb2N1bWVudC1mcmFtZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL3htbGh0
dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgVGhlIHRlc3QgdXNlZCB0byBhY2Nlc3MgWE1MSHR0cFJlcXVlc3QgY29uc3RydWN0
b3IgZnJvbSBhIGRldGFjaGVkIGZyYW1lLiBNb2RpZmllZCB0aGUgdGVzdAorICAgICAgICB0byBh
bHNvIHRyeSBhIHN0b3JlZCBjb25zdHJ1Y3RvciwgYW5kIGFkZGVkIGFuIGVycm9yIHRoYXQncyBj
bG9nZ2VkIHdoZW4gdHJ5aW5nIHRoYXQgaW4gYQorICAgICAgICBkZXRhY2hlZCBmcmFtZSB0byB0
ZXN0IG91dHB1dC4KKworICAgICAgICAqIGZhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3Bl
cnR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvZGV0YWNoZWQt
ZnJhbWUtcHJvcGVydHkuaHRtbDogQWRkZWQuCisgICAgICAgIEFkZGVkIGEgdGVzdCB0byBjaGVj
ayBmb3IgdGhlIG5ldywgbW9yZSBjb21wYXRpYmxlIGJlaGF2aW9yLgorCisgICAgICAgICogZmFz
dC9zdG9yYWdlL3N0b3JhZ2UtZGV0YWNoZWQtaWZyYW1lLmh0bWw6CisgICAgICAgIFN0b3JlIGEg
cmVmZXJlbmNlIHRvIGxvY2FsU3RvcmFnZSBiZWZvcmUgZGV0YWNoaW5nIGEgZnJhbWUsIGFzIGl0
IHdvbid0IGJlIGF2YWlsYWJsZQorICAgICAgICBhZnRlcndhcmRzIGFueSBtb3JlLgorCiAyMDEx
LTA4LTI0ICBBbmRyZXcgU2NoZXJrdXMgIDxzY2hlcmt1c0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcmViYXNlbGluaW5nIG1lZGlhL3ZpZGVvLWN1cnJlbnRUaW1lLXNldC5o
dG1sIGR1ZSB0bwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20veG1saHR0cHJlcXVlc3QtY29u
c3RydWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZG9tL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFj
aGVkLWRvY3VtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTM1NjcpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2RvbS94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVu
dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTI6IFJlZmVyZW5jZUVycm9yOiBYTUxIdHRwUmVxdWVzdCBjb25zdHJ1Y3Rv
ciBhc3NvY2lhdGVkIGRvY3VtZW50IGlzIHVuYXZhaWxhYmxlCiBUZXh0IGZvciBidWcgMjUyOTA6
IENyYXNoIHdoZW4gY29uc3RydWN0aW5nIFhNTEh0dHBSZXF1ZXN0IGluIGEgZGV0YWNoZWQgZG9j
dW1lbnQuCiAKIFBBU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3Jlc291cmNlcy94bWxo
dHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1mcmFtZS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3Jlc291cmNlcy94bWxodHRwcmVxdWVz
dC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1mcmFtZS5odG1sCShyZXZpc2lvbiA5
MzU2NykKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3Jlc291cmNlcy94bWxodHRwcmVxdWVzdC1j
b25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1mcmFtZS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC00LDggKzQsMTMgQEAKICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24o
ZXZ0KSB7CiAgICAgICAgIGlmIChldnQudGFyZ2V0LnJlYWR5U3RhdGUgPT0gNCkgewogICAgICAg
ICAgICAgcGFyZW50LnNldFRpbWVvdXQoInBhc3MoKSIsIDApOworICAgICAgICAgICAgdmFyIHho
ckNvbnN0cnVjdG9yID0gWE1MSHR0cFJlcXVlc3Q7IC8vIFRoZSBjb25zdHJ1Y3RvciBtYXkgbm90
IGJlIHJlYWNoYWJsZSBhcyB3aW5kb3cgb2JqZWN0IHByb3BlcnR5IGFmdGVyIGRldGFjaGluZyB0
aGUgZnJhbWUuCiAgICAgICAgICAgICBwYXJlbnQuZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChw
YXJlbnQuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdKTsKLSAgICAg
ICAgICAgIHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CisgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgIHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CisgICAgICAgICAg
ICB9IGNhdGNoIChleCkgeworICAgICAgICAgICAgICAgIHZhciByZXEgPSBuZXcgeGhyQ29uc3Ry
dWN0b3I7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXEub3BlbigiR0VUIiwgInhtbGh0
dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZyYW1lLmh0bWwiLCBm
YWxzZSk7CiAgICAgICAgICAgICByZXEuc2VuZChudWxsKTsKICAgICAgICAgfQpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXBy
b3BlcnR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw0IEBACitUZXN0IHRoYXQgcHJvcGVydGllcyBpbiBhIGRldGFjaGVkIHN1YmZyYW1l
IGJlY29tZSB1bmF2YWlsYWJsZSBpbW1lZGlhdGVseS4KKworUEFTUworCgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS1l
eHBlY3RlZC50eHQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvcGxh
aW4KQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBuYXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0
eS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8cD5UZXN0IHRoYXQgcHJvcGVy
dGllcyBpbiBhIGRldGFjaGVkIHN1YmZyYW1lIGJlY29tZSB1bmF2YWlsYWJsZSBpbW1lZGlhdGVs
eS48L3A+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK29ubG9hZCA9IGZ1bmN0aW9uKCkK
K3sKKyAgICB2YXIgY2hpbGRXaW5kb3cgPSBmcmFtZXNbMF07CisgICAgZG9jdW1lbnQuYm9keS5y
ZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIilbMF0pOwor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgPSBjaGlsZFdp
bmRvdy5YTUxIdHRwUmVxdWVzdCA/ICJGQUlMIiA6ICJQQVNTIjsKK30KKzwvc2NyaXB0PgorPGRp
diBpZD0icmVzdWx0Ij5GQUlMOiBTY3JpcHQgZGlkIG5vdCBydW48L2Rpdj4KKzxpZnJhbWUgc3Jj
PSJhYm91dDpibGFuayI+PC9pZnJhbWU+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS5odG1sCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRk
ZWQ6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L3N0b3JhZ2Uvc3RvcmFnZS1kZXRhY2hlZC1pZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3N0b3JhZ2Uvc3RvcmFnZS1kZXRhY2hlZC1pZnJhbWUuaHRtbAkocmV2aXNp
b24gOTM1NjcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3N0b3JhZ2Uvc3RvcmFnZS1kZXRhY2hlZC1p
ZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjYsOSArMjYsMTAgQEAKICAgICAgICAgICB0
MSA9IG9wZW5JZnJhbWUoKTsKICAgICAgICAgICB2YXIgYSA9IHQxLmNvbnRlbnRXaW5kb3cuZnJh
bWVzOwogICAgICAgICAgIHZhciBiID0gdDEuY29udGVudERvY3VtZW50LmRlZmF1bHRWaWV3Lmxv
Y2FsU3RvcmFnZTsKKyAgICAgICAgICB2YXIgYV9sb2NhbFN0b3JhZ2UgPSBhLmxvY2FsU3RvcmFn
ZTsgLy8gVGhlIGNvbnN0cnVjdG9yIHdvbid0IGJlIHJlYWNoYWJsZSBhcyB3aW5kb3cgb2JqZWN0
IHByb3BlcnR5IGFmdGVyIGRldGFjaGluZyB0aGUgZnJhbWUuCiAKICAgICAgICAgICB0MS5vdXRl
clRleHQgPSAiIjsKLSAgICAgICAgICBhLmxvY2FsU3RvcmFnZS5mdXp6M192aXNpdGVkPSJ0ZXN0
IjsKKyAgICAgICAgICBhX2xvY2FsU3RvcmFnZS5mdXp6M192aXNpdGVkPSJ0ZXN0IjsKICAgICAg
IH0KIAogICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKSB7Cg==
</data>
<flag name="commit-queue"
          id="101074"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105044</attachid>
            <date>2011-08-24 12:30:35 -0700</date>
            <delta_ts>2011-08-24 12:41:47 -0700</delta_ts>
            <desc>with v8 build fixes</desc>
            <filename>KillLifeSupport.txt</filename>
            <type>text/plain</type>
            <size>14931</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNzE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDgtMjQgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiBmcmFtZSBs
aWZlIHN1cHBvcnQgdGltZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY2ODc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGVzdDogZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHkuaHRtbAor
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3Jp
cHRDb250cm9sbGVyLmNwcDogKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5X
b3JsZCk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHA6IChXZWJD
b3JlOjpTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZSk6CisgICAgICAgICogYmluZGluZ3Mvdjgv
VjhQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5OjpydW5TY3JpcHQpOgorICAg
ICAgICAoV2ViQ29yZTo6VjhQcm94eTo6Y2FsbEZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlY4UHJveHk6Om5ld0luc3RhbmNlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lOjpGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6fkZy
YW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpwYWdlRGVzdHJveWVkKToKKyAgICAgICAg
KiBwYWdlL0ZyYW1lLmg6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDogKFdlYkNvcmU6OlBhZ2U6
On5QYWdlKToKKyAgICAgICAgUmVtb3ZlZCBhbGwgY29kZSB0aGF0IGRlYWx0IHdpdGggdGhlIGxp
ZmUgc3VwcG9ydCB0aW1lci4KKwogMjAxMS0wOC0yNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIEpTSFRNTEltYWdlRWxlbWVudCAoYW5kIGFzc29jaWF0ZWQgTm9kZSkg
aXMgYWJhbmRvbmVkIHdoZW4gaW1hZ2UgbG9hZCBpcyBjYW5jZWxlZApJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCShyZXZpc2lvbiA5MzU2
NykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTgwLDE1ICs4MCw2IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpwcmlu
dEVycm9yTWVzc2FnZSgKICAgICBwcmludEVycm9yTWVzc2FnZUZvckZyYW1lKGltcGwoKS0+ZnJh
bWUoKSwgbWVzc2FnZSk7CiB9CiAKLUV4ZWNTdGF0ZSogSlNET01XaW5kb3dCYXNlOjpnbG9iYWxF
eGVjKCkKLXsKLSAgICAvLyBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGFueSBzY3JpcHQgZXhl
Y3V0aW9uIGhhcHBlbmluZyBpbiB0aGlzCi0gICAgLy8gZnJhbWUgZG9lcyBub3QgZGVzdHJveSBp
dAotICAgIGlmIChGcmFtZSAqZnJhbWUgPSBpbXBsKCktPmZyYW1lKCkpCi0gICAgICAgIGZyYW1l
LT5rZWVwQWxpdmUoKTsKLSAgICByZXR1cm4gQmFzZTo6Z2xvYmFsRXhlYygpOwotfQotCiBib29s
IEpTRE9NV2luZG93QmFzZTo6c3VwcG9ydHNQcm9maWxpbmcoKSBjb25zdAogewogI2lmICFFTkFC
TEUoSkFWQVNDUklQVF9ERUJVR0dFUikgfHwgIUVOQUJMRShJTlNQRUNUT1IpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAkocmV2aXNpb24gOTM1
NjcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAkod29y
a2luZyBjb3B5KQpAQCAtNTUsNyArNTUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
ICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBwcm90b3R5cGUs
IEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIEFub255bW91
c1Nsb3RDb3VudCwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIEpTQzo6
RXhlY1N0YXRlKiBnbG9iYWxFeGVjKCk7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c1By
b2ZpbGluZygpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNSaWNoU291cmNl
SW5mbygpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW50ZXJydXB0U2NyaXB0
KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9s
bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRD
b250cm9sbGVyLmNwcAkocmV2aXNpb24gOTM1NjcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDEwICsxNDQs
NiBAQCBTY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZUluCiAKICAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEV2YWx1YXRlU2NyaXB0KGNvb2tpZSk7CiAKLSAgICAv
LyBFdmFsdWF0aW5nIHRoZSBKYXZhU2NyaXB0IGNvdWxkIGNhdXNlIHRoZSBmcmFtZSB0byBiZSBk
ZWFsbG9jYXRlZAotICAgIC8vIHNvIHdlIHN0YXJ0IHRoZSBrZWVwIGFsaXZlIHRpbWVyIGhlcmUu
Ci0gICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7Ci0KICAgICBpZiAoY29tcC5jb21wbFR5cGUoKSA9
PSBOb3JtYWwgfHwgY29tcC5jb21wbFR5cGUoKSA9PSBSZXR1cm5WYWx1ZSkgewogICAgICAgICBt
X3NvdXJjZVVSTCA9IHNhdmVkU291cmNlVVJMOwogICAgICAgICByZXR1cm4gU2NyaXB0VmFsdWUo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBjb21wLnZhbHVlKCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDkzNTY3KQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE4OSwxMCArMTg5LDYgQEAgU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxl
cjo6ZXZhbHVhdGUoYwogCiAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gb2JqZWN0ID0gbV9wcm94
eS0+ZXZhbHVhdGUoc291cmNlQ29kZSwgMCk7CiAKLSAgICAvLyBFdmFsdWF0aW5nIHRoZSBKYXZh
U2NyaXB0IGNvdWxkIGNhdXNlIHRoZSBmcmFtZSB0byBiZSBkZWFsbG9jYXRlZAotICAgIC8vIHNv
IHdlIHN0YXJ0IHRoZSBrZWVwIGFsaXZlIHRpbWVyIGhlcmUuCi0gICAgbV9mcmFtZS0+a2VlcEFs
aXZlKCk7Ci0KICAgICBtX3NvdXJjZVVSTCA9IHNhdmVkU291cmNlVVJMOwogCiAgICAgaWYgKG9i
amVjdC5Jc0VtcHR5KCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNw
cAkocmV2aXNpb24gOTM1NjcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI2LDkgKzQyNiw2IEBAIHY4OjpMb2NhbDx2ODo6VmFs
dWU+IFY4UHJveHk6OnJ1blNjcmlwdCgKICAgICB2ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2g7CiAgICAg
dHJ5Q2F0Y2guU2V0VmVyYm9zZSh0cnVlKTsKICAgICB7Ci0gICAgICAgIC8vIFNlZSBjb21tZW50
IGluIFY4UHJveHk6OmNhbGxGdW5jdGlvbi4KLSAgICAgICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7
Ci0KICAgICAgICAgbV9yZWN1cnNpb24rKzsKICAgICAgICAgcmVzdWx0ID0gc2NyaXB0LT5SdW4o
KTsKICAgICAgICAgbV9yZWN1cnNpb24tLTsKQEAgLTQ3NCwxMyArNDcxLDYgQEAgdjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gVjhQcm94eTo6Y2FsbEZ1bmN0aQogICAgICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKICAgICAgICAgfQogCi0gICAgICAgIC8vIEV2YWx1YXRpbmcgdGhlIEphdmFTY3JpcHQgY291
bGQgY2F1c2UgdGhlIGZyYW1lIHRvIGJlIGRlYWxsb2NhdGVkLAotICAgICAgICAvLyBzbyB3ZSBz
dGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBoZXJlLgotICAgICAgICAvLyBGcmFtZTo6a2VlcEFs
aXZlIG1ldGhvZCBhZGRzIHRoZSByZWYgY291bnQgb2YgdGhlIGZyYW1lIGFuZCBzZXRzIGEKLSAg
ICAgICAgLy8gdGltZXIgdG8gZGVjcmVhc2UgdGhlIHJlZiBjb3VudC4gSXQgYXNzdW1lcyB0aGF0
IHRoZSBjdXJyZW50IEphdmFTY3JpcHQKLSAgICAgICAgLy8gZXhlY3V0aW9uIGZpbmlzaHMgYmVm
b3JlIGZpcmluZyB0aGUgdGltZXIuCi0gICAgICAgIG1fZnJhbWUtPmtlZXBBbGl2ZSgpOwotCiAg
ICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWU7CiAgICAgICAgIGlm
IChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKSB7CiAgICAgICAgICAg
ICB2ODo6U2NyaXB0T3JpZ2luIG9yaWdpbiA9IGZ1bmN0aW9uLT5HZXRTY3JpcHRPcmlnaW4oKTsK
QEAgLTUyNiw5ICs1MTYsNiBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOFByb3h5OjpuZXdJbnN0
YW5jCiAgICAgLy8gVjhQcm94eTo6Y2FsbEZ1bmN0aW9uLgogICAgIHY4OjpMb2NhbDx2ODo6VmFs
dWU+IHJlc3VsdDsKICAgICB7Ci0gICAgICAgIC8vIFNlZSBjb21tZW50IGluIFY4UHJveHk6OmNh
bGxGdW5jdGlvbi4KLSAgICAgICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7Ci0KICAgICAgICAgcmVz
dWx0ID0gY29uc3RydWN0b3ItPk5ld0luc3RhbmNlKGFyZ2MsIGFyZ3MpOwogICAgIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZS5jcHAJKHJldmlzaW9uIDkzNTY3KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1Nyw3ICsxNTcsNiBAQCBpbmxpbmUg
RnJhbWU6OkZyYW1lKFBhZ2UqIHBhZ2UsIEhUTUxGcmFtCiAgICAgLCBtX3NlbGVjdGlvbih0aGlz
KQogICAgICwgbV9ldmVudEhhbmRsZXIodGhpcykKICAgICAsIG1fYW5pbWF0aW9uQ29udHJvbGxl
cih0aGlzKQotICAgICwgbV9saWZlU3VwcG9ydFRpbWVyKHRoaXMsICZGcmFtZTo6bGlmZVN1cHBv
cnRUaW1lckZpcmVkKQogICAgICwgbV9wYWdlWm9vbUZhY3RvcihwYXJlbnRQYWdlWm9vbUZhY3Rv
cih0aGlzKSkKICAgICAsIG1fdGV4dFpvb21GYWN0b3IocGFyZW50VGV4dFpvb21GYWN0b3IodGhp
cykpCiAgICAgLCBtX3BhZ2VTY2FsZUZhY3RvcigxKQpAQCAtMjE3LDggKzIxNiw2IEBAIEZyYW1l
Ojp+RnJhbWUoKQogCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBub3QgYmUgZG9pbmcgYWxsIHRo
aXMgd29yayBpbnNpZGUgdGhlIGRlc3RydWN0b3IKIAotICAgIEFTU0VSVCghbV9saWZlU3VwcG9y
dFRpbWVyLmlzQWN0aXZlKCkpOwotCiAjaWZuZGVmIE5ERUJVRwogICAgIGZyYW1lQ291bnRlci5k
ZWNyZW1lbnQoKTsKICNlbmRpZgpAQCAtMjQ3LDggKzI0NCw2IEBAIEZyYW1lOjp+RnJhbWUoKQog
ICAgICAgICBtX3ZpZXctPmhpZGUoKTsKICAgICAgICAgbV92aWV3LT5jbGVhckZyYW1lKCk7CiAg
ICAgfQotCi0gICAgQVNTRVJUKCFtX2xpZmVTdXBwb3J0VGltZXIuaXNBY3RpdmUoKSk7CiB9CiAK
IHZvaWQgRnJhbWU6OmFkZERlc3RydWN0aW9uT2JzZXJ2ZXIoRnJhbWVEZXN0cnVjdGlvbk9ic2Vy
dmVyKiBvYnNlcnZlcikKQEAgLTU4OSw0NiArNTg0LDYgQEAgdm9pZCBGcmFtZTo6aW5qZWN0VXNl
clNjcmlwdHNGb3JXb3JsZChETwogICAgIH0KIH0KIAotI2lmbmRlZiBOREVCVUcKLXN0YXRpYyBI
YXNoU2V0PEZyYW1lKj4mIGtlZXBBbGl2ZVNldCgpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChIYXNoU2V0PEZyYW1lKj4sIHN0YXRpY0tlZXBBbGl2ZVNldCwgKCkpOwotICAgIHJldHVybiBz
dGF0aWNLZWVwQWxpdmVTZXQ7Ci19Ci0jZW5kaWYKLQotdm9pZCBGcmFtZTo6a2VlcEFsaXZlKCkK
LXsKLSAgICBpZiAobV9saWZlU3VwcG9ydFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIHJldHVy
bjsKLSNpZm5kZWYgTkRFQlVHCi0gICAga2VlcEFsaXZlU2V0KCkuYWRkKHRoaXMpOwotI2VuZGlm
Ci0gICAgcmVmKCk7Ci0gICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKLX0K
LQotI2lmbmRlZiBOREVCVUcKLXZvaWQgRnJhbWU6OmNhbmNlbEFsbEtlZXBBbGl2ZSgpCi17Ci0g
ICAgSGFzaFNldDxGcmFtZSo+OjppdGVyYXRvciBlbmQgPSBrZWVwQWxpdmVTZXQoKS5lbmQoKTsK
LSAgICBmb3IgKEhhc2hTZXQ8RnJhbWUqPjo6aXRlcmF0b3IgaXQgPSBrZWVwQWxpdmVTZXQoKS5i
ZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgRnJhbWUqIGZyYW1lID0gKml0Owot
ICAgICAgICBmcmFtZS0+bV9saWZlU3VwcG9ydFRpbWVyLnN0b3AoKTsKLSAgICAgICAgZnJhbWUt
PmRlcmVmKCk7Ci0gICAgfQotICAgIGtlZXBBbGl2ZVNldCgpLmNsZWFyKCk7Ci19Ci0jZW5kaWYK
LQotdm9pZCBGcmFtZTo6bGlmZVN1cHBvcnRUaW1lckZpcmVkKFRpbWVyPEZyYW1lPiopCi17Ci0j
aWZuZGVmIE5ERUJVRwotICAgIGtlZXBBbGl2ZVNldCgpLnJlbW92ZSh0aGlzKTsKLSNlbmRpZgot
ICAgIGRlcmVmKCk7Ci19Ci0KIHZvaWQgRnJhbWU6OmNsZWFyRE9NV2luZG93KCkKIHsKICAgICBp
ZiAobV9kb21XaW5kb3cpIHsKQEAgLTc1MiwxMCArNzA3LDYgQEAgdm9pZCBGcmFtZTo6cGFnZURl
c3Ryb3llZCgpCiAgICAgaWYgKHBhZ2UoKSAmJiBwYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5m
b2N1c2VkRnJhbWUoKSA9PSB0aGlzKQogICAgICAgICBwYWdlKCktPmZvY3VzQ29udHJvbGxlcigp
LT5zZXRGb2N1c2VkRnJhbWUoMCk7CiAKLSAgICAvLyBGSVhNRTogUmVtb3Zpbmcga2VlcGFsaXZl
IHdpbGwgbWFrZSBiZWhhdmlvciBiZXR0ZXIgbWF0Y2ggRmlyZWZveC4KLSAgICAvLyBTb21lIGNv
ZGUgdGhhdCB1c2VkIHRvIGJlIGhlcmUgaW5kaXJlY3RseSB0cmlnZ2VyZWQga2VlcGFsaXZlLCBh
bmQgd2UgZG9uJ3Qgd2FudCB0byBjaGFuZ2UgYmVoYXZpb3IgYXQgdGhlIG1vbWVudC4KLSAgICBr
ZWVwQWxpdmUoKTsKLQogICAgIHNjcmlwdCgpLT5jbGVhclNjcmlwdE9iamVjdHMoKTsKICAgICBz
Y3JpcHQoKS0+dXBkYXRlUGxhdGZvcm1TY3JpcHRPYmplY3RzKCk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmgJKHJldmlzaW9uIDkzNTY3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNTMsOSArMTUzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBib29sIGluVmlld1NvdXJjZU1vZGUoKSBjb25zdDsKICAgICAgICAgdm9pZCBzZXRJblZp
ZXdTb3VyY2VNb2RlKGJvb2wgPSB0cnVlKTsKIAotICAgICAgICB2b2lkIGtlZXBBbGl2ZSgpOyAv
LyBVc2VkIHRvIGtlZXAgdGhlIGZyYW1lIGFsaXZlIHdoZW4gcnVubmluZyBhIHNjcmlwdCB0aGF0
IG1pZ2h0IGRlc3Ryb3kgaXQuCi0gICAgICAgIHN0YXRpYyB2b2lkIGNhbmNlbEFsbEtlZXBBbGl2
ZSgpOwotCiAgICAgICAgIHZvaWQgc2V0RG9jdW1lbnQoUGFzc1JlZlB0cjxEb2N1bWVudD4pOwog
CiAgICAgICAgIHZvaWQgc2V0UGFnZVpvb21GYWN0b3IoZmxvYXQgZmFjdG9yKTsKQEAgLTIxOSw3
ICsyMTYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEZyYW1lKFBhZ2UqLCBIVE1M
RnJhbWVPd25lckVsZW1lbnQqLCBGcmFtZUxvYWRlckNsaWVudCopOwogCiAgICAgICAgIHZvaWQg
aW5qZWN0VXNlclNjcmlwdHNGb3JXb3JsZChET01XcmFwcGVyV29ybGQqLCBjb25zdCBVc2VyU2Ny
aXB0VmVjdG9yJiwgVXNlclNjcmlwdEluamVjdGlvblRpbWUpOwotICAgICAgICB2b2lkIGxpZmVT
dXBwb3J0VGltZXJGaXJlZChUaW1lcjxGcmFtZT4qKTsKIAogICAgICAgICBIYXNoU2V0PEZyYW1l
RGVzdHJ1Y3Rpb25PYnNlcnZlcio+IG1fZGVzdHJ1Y3Rpb25PYnNlcnZlcnM7CiAKQEAgLTI0Miw4
ICsyMzgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIG11dGFibGUgRXZlbnRIYW5k
bGVyIG1fZXZlbnRIYW5kbGVyOwogICAgICAgICBtdXRhYmxlIEFuaW1hdGlvbkNvbnRyb2xsZXIg
bV9hbmltYXRpb25Db250cm9sbGVyOwogCi0gICAgICAgIFRpbWVyPEZyYW1lPiBtX2xpZmVTdXBw
b3J0VGltZXI7Ci0KICAgICAgICAgZmxvYXQgbV9wYWdlWm9vbUZhY3RvcjsKICAgICAgICAgZmxv
YXQgbV90ZXh0Wm9vbUZhY3RvcjsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCShyZXZpc2lvbiA5
MzU2NykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIwMywxMSArMjAzLDYgQEAgUGFnZTo6flBhZ2UoKQogCiAjaWZuZGVmIE5ERUJVRwogICAgIHBh
Z2VDb3VudGVyLmRlY3JlbWVudCgpOwotCi0gICAgLy8gQ2FuY2VsIGtlZXBBbGl2ZSB0aW1lcnMs
IHRvIGVuc3VyZSB3ZSByZWxlYXNlIGFsbCBGcmFtZXMgYmVmb3JlIGV4aXRpbmcuCi0gICAgLy8g
SXQncyBzYWZlIHRvIGRvIHRoaXMgYmVjYXVzZSB3ZSBwcm9oaWJpdCBjbG9zaW5nIGEgUGFnZSB3
aGlsZSBKYXZhU2NyaXB0Ci0gICAgLy8gaXMgZXhlY3V0aW5nLgotICAgIEZyYW1lOjpjYW5jZWxB
bGxLZWVwQWxpdmUoKTsKICNlbmRpZgogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5MzcxNykKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisy
MDExLTA4LTI0ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAg
IEdldCByaWQgb2YgZnJhbWUgbGlmZSBzdXBwb3J0IHRpbWVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg3NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vcmVzb3VyY2VzL3htbGh0dHBy
ZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZyYW1lLmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20veG1saHR0cHJlcXVlc3QtY29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9j
dW1lbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICBUaGUgdGVzdCB1c2VkIHRvIGFjY2VzcyBYTUxI
dHRwUmVxdWVzdCBjb25zdHJ1Y3RvciBmcm9tIGEgZGV0YWNoZWQgZnJhbWUuIE1vZGlmaWVkIHRo
ZSB0ZXN0CisgICAgICAgIHRvIGFsc28gdHJ5IGEgc3RvcmVkIGNvbnN0cnVjdG9yLCBhbmQgYWRk
ZWQgYW4gZXJyb3IgdGhhdCdzIGNsb2dnZWQgd2hlbiB0cnlpbmcgdGhhdCBpbiBhCisgICAgICAg
IGRldGFjaGVkIGZyYW1lIHRvIHRlc3Qgb3V0cHV0LgorCisgICAgICAgICogZmFzdC9mcmFtZXMv
ZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS5odG1sOiBBZGRlZC4KKyAgICAgICAg
QWRkZWQgYSB0ZXN0IHRvIGNoZWNrIGZvciB0aGUgbmV3LCBtb3JlIGNvbXBhdGlibGUgYmVoYXZp
b3IuCisKKyAgICAgICAgKiBmYXN0L3N0b3JhZ2Uvc3RvcmFnZS1kZXRhY2hlZC1pZnJhbWUuaHRt
bDoKKyAgICAgICAgU3RvcmUgYSByZWZlcmVuY2UgdG8gbG9jYWxTdG9yYWdlIGJlZm9yZSBkZXRh
Y2hpbmcgYSBmcmFtZSwgYXMgaXQgd29uJ3QgYmUgYXZhaWxhYmxlCisgICAgICAgIGFmdGVyd2Fy
ZHMgYW55IG1vcmUuCisKIDIwMTEtMDgtMjQgIEFuZHJldyBTY2hlcmt1cyAgPHNjaGVya3VzQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByZWJhc2VsaW5pbmcgbWVkaWEvdmlk
ZW8tY3VycmVudFRpbWUtc2V0Lmh0bWwgZHVlIHRvCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20veG1saHR0cHJlcXVlc3Qt
Y29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5
MzU2NykKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9y
LWluLWRldGFjaGVkLWRvY3VtZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogUmVmZXJlbmNlRXJyb3I6IFhNTEh0
dHBSZXF1ZXN0IGNvbnN0cnVjdG9yIGFzc29jaWF0ZWQgZG9jdW1lbnQgaXMgdW5hdmFpbGFibGUK
IFRleHQgZm9yIGJ1ZyAyNTI5MDogQ3Jhc2ggd2hlbiBjb25zdHJ1Y3RpbmcgWE1MSHR0cFJlcXVl
c3QgaW4gYSBkZXRhY2hlZCBkb2N1bWVudC4KIAogUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9kb20vcmVzb3VyY2VzL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRv
Y3VtZW50LWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVz
b3VyY2VzL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZy
YW1lLmh0bWwJKHJldmlzaW9uIDkzNTY3KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVzb3Vy
Y2VzL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZyYW1l
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTQsOCArNCwxMyBAQAogICAgIHhoci5vbnJlYWR5c3Rh
dGVjaGFuZ2UgPSBmdW5jdGlvbihldnQpIHsKICAgICAgICAgaWYgKGV2dC50YXJnZXQucmVhZHlT
dGF0ZSA9PSA0KSB7CiAgICAgICAgICAgICBwYXJlbnQuc2V0VGltZW91dCgicGFzcygpIiwgMCk7
CisgICAgICAgICAgICB2YXIgeGhyQ29uc3RydWN0b3IgPSBYTUxIdHRwUmVxdWVzdDsgLy8gVGhl
IGNvbnN0cnVjdG9yIG1heSBub3QgYmUgcmVhY2hhYmxlIGFzIHdpbmRvdyBvYmplY3QgcHJvcGVy
dHkgYWZ0ZXIgZGV0YWNoaW5nIHRoZSBmcmFtZS4KICAgICAgICAgICAgIHBhcmVudC5kb2N1bWVu
dC5ib2R5LnJlbW92ZUNoaWxkKHBhcmVudC5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi
aWZyYW1lIilbMF0pOwotICAgICAgICAgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsK
KyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRw
UmVxdWVzdDsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7CisgICAgICAgICAgICAgICAgdmFy
IHJlcSA9IG5ldyB4aHJDb25zdHJ1Y3RvcjsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJl
cS5vcGVuKCJHRVQiLCAieG1saHR0cHJlcXVlc3QtY29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9j
dW1lbnQtZnJhbWUuaHRtbCIsIGZhbHNlKTsKICAgICAgICAgICAgIHJlcS5zZW5kKG51bGwpOwog
ICAgICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1w
cm9wZXJ0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK1Rlc3QgdGhhdCBwcm9wZXJ0aWVzIGlu
IGEgZGV0YWNoZWQgc3ViZnJhbWUgYmVjb21lIHVuYXZhaWxhYmxlIGltbWVkaWF0ZWx5LgorCitQ
QVNTCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFj
aGVkLWZyYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWlt
ZS10eXBlCiAgICsgdGV4dC9wbGFpbgpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUt
cHJvcGVydHkuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Rl
dGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAK
KzxwPlRlc3QgdGhhdCBwcm9wZXJ0aWVzIGluIGEgZGV0YWNoZWQgc3ViZnJhbWUgYmVjb21lIHVu
YXZhaWxhYmxlIGltbWVkaWF0ZWx5LjwvcD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwor
b25sb2FkID0gZnVuY3Rpb24oKQoreworICAgIHZhciBjaGlsZFdpbmRvdyA9IGZyYW1lc1swXTsK
KyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCJpZnJhbWUiKVswXSk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIp
LmlubmVySFRNTCA9IGNoaWxkV2luZG93LlhNTEh0dHBSZXF1ZXN0ID8gIkZBSUwiIDogIlBBU1Mi
OworfQorPC9zY3JpcHQ+Cis8ZGl2IGlkPSJyZXN1bHQiPkZBSUw6IFNjcmlwdCBkaWQgbm90IHJ1
bjwvZGl2PgorPGlmcmFtZSBzcmM9ImFib3V0OmJsYW5rIj48L2lmcmFtZT4KClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5
Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbAoKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFjaGVk
LWlmcmFtZS5odG1sCShyZXZpc2lvbiA5MzU2NykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3RvcmFn
ZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw5ICsy
NiwxMCBAQAogICAgICAgICAgIHQxID0gb3BlbklmcmFtZSgpOwogICAgICAgICAgIHZhciBhID0g
dDEuY29udGVudFdpbmRvdy5mcmFtZXM7CiAgICAgICAgICAgdmFyIGIgPSB0MS5jb250ZW50RG9j
dW1lbnQuZGVmYXVsdFZpZXcubG9jYWxTdG9yYWdlOworICAgICAgICAgIHZhciBhX2xvY2FsU3Rv
cmFnZSA9IGEubG9jYWxTdG9yYWdlOyAvLyBUaGUgY29uc3RydWN0b3Igd29uJ3QgYmUgcmVhY2hh
YmxlIGFzIHdpbmRvdyBvYmplY3QgcHJvcGVydHkgYWZ0ZXIgZGV0YWNoaW5nIHRoZSBmcmFtZS4K
IAogICAgICAgICAgIHQxLm91dGVyVGV4dCA9ICIiOwotICAgICAgICAgIGEubG9jYWxTdG9yYWdl
LmZ1enozX3Zpc2l0ZWQ9InRlc3QiOworICAgICAgICAgIGFfbG9jYWxTdG9yYWdlLmZ1enozX3Zp
c2l0ZWQ9InRlc3QiOwogICAgICAgfQogCiAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105046</attachid>
            <date>2011-08-24 12:41:47 -0700</date>
            <delta_ts>2011-08-24 16:58:34 -0700</delta_ts>
            <desc>with devirtualized globalExec()</desc>
            <filename>KillLifeSupport.txt</filename>
            <type>text/plain</type>
            <size>16114</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNzE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDgtMjQgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiBmcmFtZSBs
aWZlIHN1cHBvcnQgdGltZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY2ODc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGVzdDogZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHkuaHRtbAor
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3Jp
cHRDb250cm9sbGVyLmNwcDogKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5X
b3JsZCk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHA6IChXZWJD
b3JlOjpTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZSk6CisgICAgICAgICogYmluZGluZ3Mvdjgv
VjhQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5OjpydW5TY3JpcHQpOgorICAg
ICAgICAoV2ViQ29yZTo6VjhQcm94eTo6Y2FsbEZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlY4UHJveHk6Om5ld0luc3RhbmNlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lOjpGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6fkZy
YW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpwYWdlRGVzdHJveWVkKToKKyAgICAgICAg
KiBwYWdlL0ZyYW1lLmg6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDogKFdlYkNvcmU6OlBhZ2U6
On5QYWdlKToKKyAgICAgICAgUmVtb3ZlZCBhbGwgY29kZSB0aGF0IGRlYWx0IHdpdGggdGhlIGxp
ZmUgc3VwcG9ydCB0aW1lci4KKwogMjAxMS0wOC0yNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIEpTSFRNTEltYWdlRWxlbWVudCAoYW5kIGFzc29jaWF0ZWQgTm9kZSkg
aXMgYWJhbmRvbmVkIHdoZW4gaW1hZ2UgbG9hZCBpcyBjYW5jZWxlZApJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCShyZXZpc2lvbiA5MzU2
NykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTgwLDE1ICs4MCw2IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpwcmlu
dEVycm9yTWVzc2FnZSgKICAgICBwcmludEVycm9yTWVzc2FnZUZvckZyYW1lKGltcGwoKS0+ZnJh
bWUoKSwgbWVzc2FnZSk7CiB9CiAKLUV4ZWNTdGF0ZSogSlNET01XaW5kb3dCYXNlOjpnbG9iYWxF
eGVjKCkKLXsKLSAgICAvLyBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGFueSBzY3JpcHQgZXhl
Y3V0aW9uIGhhcHBlbmluZyBpbiB0aGlzCi0gICAgLy8gZnJhbWUgZG9lcyBub3QgZGVzdHJveSBp
dAotICAgIGlmIChGcmFtZSAqZnJhbWUgPSBpbXBsKCktPmZyYW1lKCkpCi0gICAgICAgIGZyYW1l
LT5rZWVwQWxpdmUoKTsKLSAgICByZXR1cm4gQmFzZTo6Z2xvYmFsRXhlYygpOwotfQotCiBib29s
IEpTRE9NV2luZG93QmFzZTo6c3VwcG9ydHNQcm9maWxpbmcoKSBjb25zdAogewogI2lmICFFTkFC
TEUoSkFWQVNDUklQVF9ERUJVR0dFUikgfHwgIUVOQUJMRShJTlNQRUNUT1IpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAkocmV2aXNpb24gOTM1
NjcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAkod29y
a2luZyBjb3B5KQpAQCAtNTUsNyArNTUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
ICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBwcm90b3R5cGUs
IEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIEFub255bW91
c1Nsb3RDb3VudCwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIEpTQzo6
RXhlY1N0YXRlKiBnbG9iYWxFeGVjKCk7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c1By
b2ZpbGluZygpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNSaWNoU291cmNl
SW5mbygpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW50ZXJydXB0U2NyaXB0
KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9s
bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRD
b250cm9sbGVyLmNwcAkocmV2aXNpb24gOTM1NjcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDEwICsxNDQs
NiBAQCBTY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZUluCiAKICAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEV2YWx1YXRlU2NyaXB0KGNvb2tpZSk7CiAKLSAgICAv
LyBFdmFsdWF0aW5nIHRoZSBKYXZhU2NyaXB0IGNvdWxkIGNhdXNlIHRoZSBmcmFtZSB0byBiZSBk
ZWFsbG9jYXRlZAotICAgIC8vIHNvIHdlIHN0YXJ0IHRoZSBrZWVwIGFsaXZlIHRpbWVyIGhlcmUu
Ci0gICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7Ci0KICAgICBpZiAoY29tcC5jb21wbFR5cGUoKSA9
PSBOb3JtYWwgfHwgY29tcC5jb21wbFR5cGUoKSA9PSBSZXR1cm5WYWx1ZSkgewogICAgICAgICBt
X3NvdXJjZVVSTCA9IHNhdmVkU291cmNlVVJMOwogICAgICAgICByZXR1cm4gU2NyaXB0VmFsdWUo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBjb21wLnZhbHVlKCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDkzNTY3KQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE4OSwxMCArMTg5LDYgQEAgU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxl
cjo6ZXZhbHVhdGUoYwogCiAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gb2JqZWN0ID0gbV9wcm94
eS0+ZXZhbHVhdGUoc291cmNlQ29kZSwgMCk7CiAKLSAgICAvLyBFdmFsdWF0aW5nIHRoZSBKYXZh
U2NyaXB0IGNvdWxkIGNhdXNlIHRoZSBmcmFtZSB0byBiZSBkZWFsbG9jYXRlZAotICAgIC8vIHNv
IHdlIHN0YXJ0IHRoZSBrZWVwIGFsaXZlIHRpbWVyIGhlcmUuCi0gICAgbV9mcmFtZS0+a2VlcEFs
aXZlKCk7Ci0KICAgICBtX3NvdXJjZVVSTCA9IHNhdmVkU291cmNlVVJMOwogCiAgICAgaWYgKG9i
amVjdC5Jc0VtcHR5KCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNw
cAkocmV2aXNpb24gOTM1NjcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI2LDkgKzQyNiw2IEBAIHY4OjpMb2NhbDx2ODo6VmFs
dWU+IFY4UHJveHk6OnJ1blNjcmlwdCgKICAgICB2ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2g7CiAgICAg
dHJ5Q2F0Y2guU2V0VmVyYm9zZSh0cnVlKTsKICAgICB7Ci0gICAgICAgIC8vIFNlZSBjb21tZW50
IGluIFY4UHJveHk6OmNhbGxGdW5jdGlvbi4KLSAgICAgICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7
Ci0KICAgICAgICAgbV9yZWN1cnNpb24rKzsKICAgICAgICAgcmVzdWx0ID0gc2NyaXB0LT5SdW4o
KTsKICAgICAgICAgbV9yZWN1cnNpb24tLTsKQEAgLTQ3NCwxMyArNDcxLDYgQEAgdjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gVjhQcm94eTo6Y2FsbEZ1bmN0aQogICAgICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKICAgICAgICAgfQogCi0gICAgICAgIC8vIEV2YWx1YXRpbmcgdGhlIEphdmFTY3JpcHQgY291
bGQgY2F1c2UgdGhlIGZyYW1lIHRvIGJlIGRlYWxsb2NhdGVkLAotICAgICAgICAvLyBzbyB3ZSBz
dGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBoZXJlLgotICAgICAgICAvLyBGcmFtZTo6a2VlcEFs
aXZlIG1ldGhvZCBhZGRzIHRoZSByZWYgY291bnQgb2YgdGhlIGZyYW1lIGFuZCBzZXRzIGEKLSAg
ICAgICAgLy8gdGltZXIgdG8gZGVjcmVhc2UgdGhlIHJlZiBjb3VudC4gSXQgYXNzdW1lcyB0aGF0
IHRoZSBjdXJyZW50IEphdmFTY3JpcHQKLSAgICAgICAgLy8gZXhlY3V0aW9uIGZpbmlzaHMgYmVm
b3JlIGZpcmluZyB0aGUgdGltZXIuCi0gICAgICAgIG1fZnJhbWUtPmtlZXBBbGl2ZSgpOwotCiAg
ICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWU7CiAgICAgICAgIGlm
IChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKSB7CiAgICAgICAgICAg
ICB2ODo6U2NyaXB0T3JpZ2luIG9yaWdpbiA9IGZ1bmN0aW9uLT5HZXRTY3JpcHRPcmlnaW4oKTsK
QEAgLTUyNiw5ICs1MTYsNiBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOFByb3h5OjpuZXdJbnN0
YW5jCiAgICAgLy8gVjhQcm94eTo6Y2FsbEZ1bmN0aW9uLgogICAgIHY4OjpMb2NhbDx2ODo6VmFs
dWU+IHJlc3VsdDsKICAgICB7Ci0gICAgICAgIC8vIFNlZSBjb21tZW50IGluIFY4UHJveHk6OmNh
bGxGdW5jdGlvbi4KLSAgICAgICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7Ci0KICAgICAgICAgcmVz
dWx0ID0gY29uc3RydWN0b3ItPk5ld0luc3RhbmNlKGFyZ2MsIGFyZ3MpOwogICAgIH0KIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZS5jcHAJKHJldmlzaW9uIDkzNTY3KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1Nyw3ICsxNTcsNiBAQCBpbmxpbmUg
RnJhbWU6OkZyYW1lKFBhZ2UqIHBhZ2UsIEhUTUxGcmFtCiAgICAgLCBtX3NlbGVjdGlvbih0aGlz
KQogICAgICwgbV9ldmVudEhhbmRsZXIodGhpcykKICAgICAsIG1fYW5pbWF0aW9uQ29udHJvbGxl
cih0aGlzKQotICAgICwgbV9saWZlU3VwcG9ydFRpbWVyKHRoaXMsICZGcmFtZTo6bGlmZVN1cHBv
cnRUaW1lckZpcmVkKQogICAgICwgbV9wYWdlWm9vbUZhY3RvcihwYXJlbnRQYWdlWm9vbUZhY3Rv
cih0aGlzKSkKICAgICAsIG1fdGV4dFpvb21GYWN0b3IocGFyZW50VGV4dFpvb21GYWN0b3IodGhp
cykpCiAgICAgLCBtX3BhZ2VTY2FsZUZhY3RvcigxKQpAQCAtMjE3LDggKzIxNiw2IEBAIEZyYW1l
Ojp+RnJhbWUoKQogCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBub3QgYmUgZG9pbmcgYWxsIHRo
aXMgd29yayBpbnNpZGUgdGhlIGRlc3RydWN0b3IKIAotICAgIEFTU0VSVCghbV9saWZlU3VwcG9y
dFRpbWVyLmlzQWN0aXZlKCkpOwotCiAjaWZuZGVmIE5ERUJVRwogICAgIGZyYW1lQ291bnRlci5k
ZWNyZW1lbnQoKTsKICNlbmRpZgpAQCAtMjQ3LDggKzI0NCw2IEBAIEZyYW1lOjp+RnJhbWUoKQog
ICAgICAgICBtX3ZpZXctPmhpZGUoKTsKICAgICAgICAgbV92aWV3LT5jbGVhckZyYW1lKCk7CiAg
ICAgfQotCi0gICAgQVNTRVJUKCFtX2xpZmVTdXBwb3J0VGltZXIuaXNBY3RpdmUoKSk7CiB9CiAK
IHZvaWQgRnJhbWU6OmFkZERlc3RydWN0aW9uT2JzZXJ2ZXIoRnJhbWVEZXN0cnVjdGlvbk9ic2Vy
dmVyKiBvYnNlcnZlcikKQEAgLTU4OSw0NiArNTg0LDYgQEAgdm9pZCBGcmFtZTo6aW5qZWN0VXNl
clNjcmlwdHNGb3JXb3JsZChETwogICAgIH0KIH0KIAotI2lmbmRlZiBOREVCVUcKLXN0YXRpYyBI
YXNoU2V0PEZyYW1lKj4mIGtlZXBBbGl2ZVNldCgpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChIYXNoU2V0PEZyYW1lKj4sIHN0YXRpY0tlZXBBbGl2ZVNldCwgKCkpOwotICAgIHJldHVybiBz
dGF0aWNLZWVwQWxpdmVTZXQ7Ci19Ci0jZW5kaWYKLQotdm9pZCBGcmFtZTo6a2VlcEFsaXZlKCkK
LXsKLSAgICBpZiAobV9saWZlU3VwcG9ydFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIHJldHVy
bjsKLSNpZm5kZWYgTkRFQlVHCi0gICAga2VlcEFsaXZlU2V0KCkuYWRkKHRoaXMpOwotI2VuZGlm
Ci0gICAgcmVmKCk7Ci0gICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKLX0K
LQotI2lmbmRlZiBOREVCVUcKLXZvaWQgRnJhbWU6OmNhbmNlbEFsbEtlZXBBbGl2ZSgpCi17Ci0g
ICAgSGFzaFNldDxGcmFtZSo+OjppdGVyYXRvciBlbmQgPSBrZWVwQWxpdmVTZXQoKS5lbmQoKTsK
LSAgICBmb3IgKEhhc2hTZXQ8RnJhbWUqPjo6aXRlcmF0b3IgaXQgPSBrZWVwQWxpdmVTZXQoKS5i
ZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgRnJhbWUqIGZyYW1lID0gKml0Owot
ICAgICAgICBmcmFtZS0+bV9saWZlU3VwcG9ydFRpbWVyLnN0b3AoKTsKLSAgICAgICAgZnJhbWUt
PmRlcmVmKCk7Ci0gICAgfQotICAgIGtlZXBBbGl2ZVNldCgpLmNsZWFyKCk7Ci19Ci0jZW5kaWYK
LQotdm9pZCBGcmFtZTo6bGlmZVN1cHBvcnRUaW1lckZpcmVkKFRpbWVyPEZyYW1lPiopCi17Ci0j
aWZuZGVmIE5ERUJVRwotICAgIGtlZXBBbGl2ZVNldCgpLnJlbW92ZSh0aGlzKTsKLSNlbmRpZgot
ICAgIGRlcmVmKCk7Ci19Ci0KIHZvaWQgRnJhbWU6OmNsZWFyRE9NV2luZG93KCkKIHsKICAgICBp
ZiAobV9kb21XaW5kb3cpIHsKQEAgLTc1MiwxMCArNzA3LDYgQEAgdm9pZCBGcmFtZTo6cGFnZURl
c3Ryb3llZCgpCiAgICAgaWYgKHBhZ2UoKSAmJiBwYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5m
b2N1c2VkRnJhbWUoKSA9PSB0aGlzKQogICAgICAgICBwYWdlKCktPmZvY3VzQ29udHJvbGxlcigp
LT5zZXRGb2N1c2VkRnJhbWUoMCk7CiAKLSAgICAvLyBGSVhNRTogUmVtb3Zpbmcga2VlcGFsaXZl
IHdpbGwgbWFrZSBiZWhhdmlvciBiZXR0ZXIgbWF0Y2ggRmlyZWZveC4KLSAgICAvLyBTb21lIGNv
ZGUgdGhhdCB1c2VkIHRvIGJlIGhlcmUgaW5kaXJlY3RseSB0cmlnZ2VyZWQga2VlcGFsaXZlLCBh
bmQgd2UgZG9uJ3Qgd2FudCB0byBjaGFuZ2UgYmVoYXZpb3IgYXQgdGhlIG1vbWVudC4KLSAgICBr
ZWVwQWxpdmUoKTsKLQogICAgIHNjcmlwdCgpLT5jbGVhclNjcmlwdE9iamVjdHMoKTsKICAgICBz
Y3JpcHQoKS0+dXBkYXRlUGxhdGZvcm1TY3JpcHRPYmplY3RzKCk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmgJKHJldmlzaW9uIDkzNTY3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNTMsOSArMTUzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBib29sIGluVmlld1NvdXJjZU1vZGUoKSBjb25zdDsKICAgICAgICAgdm9pZCBzZXRJblZp
ZXdTb3VyY2VNb2RlKGJvb2wgPSB0cnVlKTsKIAotICAgICAgICB2b2lkIGtlZXBBbGl2ZSgpOyAv
LyBVc2VkIHRvIGtlZXAgdGhlIGZyYW1lIGFsaXZlIHdoZW4gcnVubmluZyBhIHNjcmlwdCB0aGF0
IG1pZ2h0IGRlc3Ryb3kgaXQuCi0gICAgICAgIHN0YXRpYyB2b2lkIGNhbmNlbEFsbEtlZXBBbGl2
ZSgpOwotCiAgICAgICAgIHZvaWQgc2V0RG9jdW1lbnQoUGFzc1JlZlB0cjxEb2N1bWVudD4pOwog
CiAgICAgICAgIHZvaWQgc2V0UGFnZVpvb21GYWN0b3IoZmxvYXQgZmFjdG9yKTsKQEAgLTIxOSw3
ICsyMTYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEZyYW1lKFBhZ2UqLCBIVE1M
RnJhbWVPd25lckVsZW1lbnQqLCBGcmFtZUxvYWRlckNsaWVudCopOwogCiAgICAgICAgIHZvaWQg
aW5qZWN0VXNlclNjcmlwdHNGb3JXb3JsZChET01XcmFwcGVyV29ybGQqLCBjb25zdCBVc2VyU2Ny
aXB0VmVjdG9yJiwgVXNlclNjcmlwdEluamVjdGlvblRpbWUpOwotICAgICAgICB2b2lkIGxpZmVT
dXBwb3J0VGltZXJGaXJlZChUaW1lcjxGcmFtZT4qKTsKIAogICAgICAgICBIYXNoU2V0PEZyYW1l
RGVzdHJ1Y3Rpb25PYnNlcnZlcio+IG1fZGVzdHJ1Y3Rpb25PYnNlcnZlcnM7CiAKQEAgLTI0Miw4
ICsyMzgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIG11dGFibGUgRXZlbnRIYW5k
bGVyIG1fZXZlbnRIYW5kbGVyOwogICAgICAgICBtdXRhYmxlIEFuaW1hdGlvbkNvbnRyb2xsZXIg
bV9hbmltYXRpb25Db250cm9sbGVyOwogCi0gICAgICAgIFRpbWVyPEZyYW1lPiBtX2xpZmVTdXBw
b3J0VGltZXI7Ci0KICAgICAgICAgZmxvYXQgbV9wYWdlWm9vbUZhY3RvcjsKICAgICAgICAgZmxv
YXQgbV90ZXh0Wm9vbUZhY3RvcjsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCShyZXZpc2lvbiA5
MzU2NykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIwMywxMSArMjAzLDYgQEAgUGFnZTo6flBhZ2UoKQogCiAjaWZuZGVmIE5ERUJVRwogICAgIHBh
Z2VDb3VudGVyLmRlY3JlbWVudCgpOwotCi0gICAgLy8gQ2FuY2VsIGtlZXBBbGl2ZSB0aW1lcnMs
IHRvIGVuc3VyZSB3ZSByZWxlYXNlIGFsbCBGcmFtZXMgYmVmb3JlIGV4aXRpbmcuCi0gICAgLy8g
SXQncyBzYWZlIHRvIGRvIHRoaXMgYmVjYXVzZSB3ZSBwcm9oaWJpdCBjbG9zaW5nIGEgUGFnZSB3
aGlsZSBKYXZhU2NyaXB0Ci0gICAgLy8gaXMgZXhlY3V0aW5nLgotICAgIEZyYW1lOjpjYW5jZWxB
bGxLZWVwQWxpdmUoKTsKICNlbmRpZgogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5MzcxNykKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisy
MDExLTA4LTI0ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAg
IEdldCByaWQgb2YgZnJhbWUgbGlmZSBzdXBwb3J0IHRpbWVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg3NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vcmVzb3VyY2VzL3htbGh0dHBy
ZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZyYW1lLmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20veG1saHR0cHJlcXVlc3QtY29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9j
dW1lbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICBUaGUgdGVzdCB1c2VkIHRvIGFjY2VzcyBYTUxI
dHRwUmVxdWVzdCBjb25zdHJ1Y3RvciBmcm9tIGEgZGV0YWNoZWQgZnJhbWUuIE1vZGlmaWVkIHRo
ZSB0ZXN0CisgICAgICAgIHRvIGFsc28gdHJ5IGEgc3RvcmVkIGNvbnN0cnVjdG9yLCBhbmQgYWRk
ZWQgYW4gZXJyb3IgdGhhdCdzIGNsb2dnZWQgd2hlbiB0cnlpbmcgdGhhdCBpbiBhCisgICAgICAg
IGRldGFjaGVkIGZyYW1lIHRvIHRlc3Qgb3V0cHV0LgorCisgICAgICAgICogZmFzdC9mcmFtZXMv
ZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS5odG1sOiBBZGRlZC4KKyAgICAgICAg
QWRkZWQgYSB0ZXN0IHRvIGNoZWNrIGZvciB0aGUgbmV3LCBtb3JlIGNvbXBhdGlibGUgYmVoYXZp
b3IuCisKKyAgICAgICAgKiBmYXN0L3N0b3JhZ2Uvc3RvcmFnZS1kZXRhY2hlZC1pZnJhbWUuaHRt
bDoKKyAgICAgICAgU3RvcmUgYSByZWZlcmVuY2UgdG8gbG9jYWxTdG9yYWdlIGJlZm9yZSBkZXRh
Y2hpbmcgYSBmcmFtZSwgYXMgaXQgd29uJ3QgYmUgYXZhaWxhYmxlCisgICAgICAgIGFmdGVyd2Fy
ZHMgYW55IG1vcmUuCisKIDIwMTEtMDgtMjQgIEFuZHJldyBTY2hlcmt1cyAgPHNjaGVya3VzQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByZWJhc2VsaW5pbmcgbWVkaWEvdmlk
ZW8tY3VycmVudFRpbWUtc2V0Lmh0bWwgZHVlIHRvCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20veG1saHR0cHJlcXVlc3Qt
Y29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5
MzU2NykKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9y
LWluLWRldGFjaGVkLWRvY3VtZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogUmVmZXJlbmNlRXJyb3I6IFhNTEh0
dHBSZXF1ZXN0IGNvbnN0cnVjdG9yIGFzc29jaWF0ZWQgZG9jdW1lbnQgaXMgdW5hdmFpbGFibGUK
IFRleHQgZm9yIGJ1ZyAyNTI5MDogQ3Jhc2ggd2hlbiBjb25zdHJ1Y3RpbmcgWE1MSHR0cFJlcXVl
c3QgaW4gYSBkZXRhY2hlZCBkb2N1bWVudC4KIAogUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9kb20vcmVzb3VyY2VzL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRv
Y3VtZW50LWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVz
b3VyY2VzL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZy
YW1lLmh0bWwJKHJldmlzaW9uIDkzNTY3KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVzb3Vy
Y2VzL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZyYW1l
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTQsOCArNCwxMyBAQAogICAgIHhoci5vbnJlYWR5c3Rh
dGVjaGFuZ2UgPSBmdW5jdGlvbihldnQpIHsKICAgICAgICAgaWYgKGV2dC50YXJnZXQucmVhZHlT
dGF0ZSA9PSA0KSB7CiAgICAgICAgICAgICBwYXJlbnQuc2V0VGltZW91dCgicGFzcygpIiwgMCk7
CisgICAgICAgICAgICB2YXIgeGhyQ29uc3RydWN0b3IgPSBYTUxIdHRwUmVxdWVzdDsgLy8gVGhl
IGNvbnN0cnVjdG9yIG1heSBub3QgYmUgcmVhY2hhYmxlIGFzIHdpbmRvdyBvYmplY3QgcHJvcGVy
dHkgYWZ0ZXIgZGV0YWNoaW5nIHRoZSBmcmFtZS4KICAgICAgICAgICAgIHBhcmVudC5kb2N1bWVu
dC5ib2R5LnJlbW92ZUNoaWxkKHBhcmVudC5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi
aWZyYW1lIilbMF0pOwotICAgICAgICAgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsK
KyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRw
UmVxdWVzdDsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7CisgICAgICAgICAgICAgICAgdmFy
IHJlcSA9IG5ldyB4aHJDb25zdHJ1Y3RvcjsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJl
cS5vcGVuKCJHRVQiLCAieG1saHR0cHJlcXVlc3QtY29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9j
dW1lbnQtZnJhbWUuaHRtbCIsIGZhbHNlKTsKICAgICAgICAgICAgIHJlcS5zZW5kKG51bGwpOwog
ICAgICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1w
cm9wZXJ0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK1Rlc3QgdGhhdCBwcm9wZXJ0aWVzIGlu
IGEgZGV0YWNoZWQgc3ViZnJhbWUgYmVjb21lIHVuYXZhaWxhYmxlIGltbWVkaWF0ZWx5LgorCitQ
QVNTCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFj
aGVkLWZyYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWlt
ZS10eXBlCiAgICsgdGV4dC9wbGFpbgpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUt
cHJvcGVydHkuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Rl
dGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAK
KzxwPlRlc3QgdGhhdCBwcm9wZXJ0aWVzIGluIGEgZGV0YWNoZWQgc3ViZnJhbWUgYmVjb21lIHVu
YXZhaWxhYmxlIGltbWVkaWF0ZWx5LjwvcD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwor
b25sb2FkID0gZnVuY3Rpb24oKQoreworICAgIHZhciBjaGlsZFdpbmRvdyA9IGZyYW1lc1swXTsK
KyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCJpZnJhbWUiKVswXSk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIp
LmlubmVySFRNTCA9IGNoaWxkV2luZG93LlhNTEh0dHBSZXF1ZXN0ID8gIkZBSUwiIDogIlBBU1Mi
OworfQorPC9zY3JpcHQ+Cis8ZGl2IGlkPSJyZXN1bHQiPkZBSUw6IFNjcmlwdCBkaWQgbm90IHJ1
bjwvZGl2PgorPGlmcmFtZSBzcmM9ImFib3V0OmJsYW5rIj48L2lmcmFtZT4KClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5
Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbAoKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFjaGVk
LWlmcmFtZS5odG1sCShyZXZpc2lvbiA5MzU2NykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3RvcmFn
ZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw5ICsy
NiwxMCBAQAogICAgICAgICAgIHQxID0gb3BlbklmcmFtZSgpOwogICAgICAgICAgIHZhciBhID0g
dDEuY29udGVudFdpbmRvdy5mcmFtZXM7CiAgICAgICAgICAgdmFyIGIgPSB0MS5jb250ZW50RG9j
dW1lbnQuZGVmYXVsdFZpZXcubG9jYWxTdG9yYWdlOworICAgICAgICAgIHZhciBhX2xvY2FsU3Rv
cmFnZSA9IGEubG9jYWxTdG9yYWdlOyAvLyBUaGUgY29uc3RydWN0b3Igd29uJ3QgYmUgcmVhY2hh
YmxlIGFzIHdpbmRvdyBvYmplY3QgcHJvcGVydHkgYWZ0ZXIgZGV0YWNoaW5nIHRoZSBmcmFtZS4K
IAogICAgICAgICAgIHQxLm91dGVyVGV4dCA9ICIiOwotICAgICAgICAgIGEubG9jYWxTdG9yYWdl
LmZ1enozX3Zpc2l0ZWQ9InRlc3QiOworICAgICAgICAgIGFfbG9jYWxTdG9yYWdlLmZ1enozX3Zp
c2l0ZWQ9InRlc3QiOwogICAgICAgfQogCiAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpIHsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTM3MjApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTEtMDgtMjQgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAg
R2V0IHJpZCBvZiBmcmFtZSBsaWZlIHN1cHBvcnQgdGltZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6IGds
b2JhbEV4ZWMoKSBubyBsb25nZXIgbmVlZHMgdG8gYmUgdmlydHVhbCwgaXRzIG9ubHkgb3ZlcnJp
ZGUKKyAgICAgICAgd2FzIGluIEpTRE9NV2luZG93QmFzZS4KKwogMjAxMS0wOC0yNCAgRmlsaXAg
UGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEVycm9ySW5zdGFuY2U6OmNyZWF0
ZSBzb21ldGltZXMgaGFzIHR3byBoZWFwIG9iamVjdCBjb25zdHJ1Y3Rpb25zCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJKHJldmlzaW9u
IDkzNTY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aAkod29ya2luZyBjb3B5KQpAQCAtMjYyLDcgKzI2Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc0dsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7
IH0KIAotICAgICAgICB2aXJ0dWFsIEV4ZWNTdGF0ZSogZ2xvYmFsRXhlYygpOworICAgICAgICBF
eGVjU3RhdGUqIGdsb2JhbEV4ZWMoKTsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW50
ZXJydXB0U2NyaXB0KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCg==
</data>
<flag name="commit-queue"
          id="101140"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>105090</attachid>
            <date>2011-08-24 15:58:24 -0700</date>
            <delta_ts>2011-08-24 15:58:24 -0700</delta_ts>
            <desc>Test case for the bug fixed in r7546</desc>
            <filename>frame-load-test-case.zip</filename>
            <type>application/zip</type>
            <size>2960</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">UEsDBAoAAAAAACR/GD8AAAAAAAAAAAAAAAAVABAAZnJhbWUtbG9hZC10ZXN0LWNhc2UvVVgMAMOB
VU7DgVVO9QEUAFBLAwQUAAgACADUYCoxAAAAAAAAAAAAAAAAIQAQAGZyYW1lLWxvYWQtdGVzdC1j
YXNlL2xhbmd1YWdlLmh0bVVYDADGgVVOQPtBQfUBFACz8Qjx9bHj5bLxcHV0AdEhniE+rnamxvFm
Bsbm8RDaBEzY6EPkgIqCnYM8A0IUSioLUm2VSlIrSvSzEssSi5OLMgtKlBSKi5JtlQoS01P1soqV
7Gz0IapB+vRhtjj5u0Qq5Of55Cem2Col5xdUOuWnVGqoY7NWXdNaCaiFlyskI7NYAYiK83NTFZLz
80pS80pA4jb6INMgxoM8AwBQSwcIbgoVPZwAAADTAAAAUEsDBBQACAAIAOVkKjEAAAAAAAAAAAAA
AAAcABAAZnJhbWUtbG9hZC10ZXN0LWNhc2UvcGFnZS5qc1VYDADEgVVO3gJCQfUBFADFWG1v2zYQ
/h4g/4HVh0FuNDnFUAyoaxRpkS7B0hckGdqhCAxFOltcaFElqThukf++O5GSSUdpWqDDigClSN7b
cy+887ypcsNlxRTMFejyvVRGgDl+rbIlxLX9OoU5KKhySFidLeCv05PR7s7X3R3GCpk3S6hMugBz
KICWL9fHRRwRZSYsm1nE9tg2q1GqVc6mHcPJ7s7t7s7uznWm2Mws6+PlAg8rWLHjJd6IR3hh3ula
8kUZ8+WiQuYj1ipCdLylgetMxFGvGCdynXLSoSOZEAWfM+Lh6Fkn1anF7Wpiz3i/b7mTAh5DXEV0
HlnOt60tvbZCrjxlJz9H241Gnt6edE/+XIoCVK1kDcqsdQlg4lyqChQvEs0N8ALZrnhVyFWKlyq0
z5j62Xhsnbg0aaNTqbJcQJrLpdse10KPMw3zK7l6Oj44O3z957sPT9PVqpaXM/LqrDFcpIHcF/Ws
kzyN9rrlXvRLPbOK4K5dJFFAGCWRzpUU4jJTevokwVDlX7JLAbhe8cKU06f7+0kJ6BdDy2iUzhFT
jXETghHCYEpeLVDYMtMGd93XfwnO9ayVUpqlSHUpV9vwOB0QB7dqwQn0w7Pgu73xP8Oay3r9Uhbr
OxWjDdgugPsw12Yt4Iw00H1EU06oRoBO7H8CKpd9c6lYTMd6uj9hmj1nQ4xSJFiYEi/s7fVM75f7
SV+kudanJGrUXWZWNGbVQySTjgSEhu8nVwFtZycSxJbyhd1ztrBnbH/U3+5hUASDet6jxFRgsbW5
zhTJH1Rk/yLllcYoIFMCSsaMWocbjH03qzikcwZ+UhepBgG5keocbgxVy69U4DanxJCg7Y5vo2Sb
1QNKdH5xyG1Qo3+3/keembxkMdnNxmOGSaQZ/gl+BWLNjGRlVmOeM4zqg7oWwM6yeaZ4qE/VCDEJ
t8aPWSYQiDiCmxzqNi1+ZR440bZJAQQ/CFAyxO3HMCI+I3yy2OPxPWB5SwrzMC4eEJYVxUBIDNqb
3HfHt9r3aK+XW9y6d88WEXwIz3LFaxMk4qZB0S/X59niLfU3VP3wonu3ibgAbY4gK5Dr9I6JwzxK
vI6FEevrMm7TlXj1ycopWfnzjVJ9neKYtXTVoRokXqdG2sZi8arkoog9Hq0wPkpzISt4KwuIjWpg
1IHkcGlDPfYznDTCpsqyGbAwV5AZcEZuwdPGfUebmnUNyGBAJzoZIKBuZZhg02cFAijUhwXgyeSb
SPVcAkBurWvu92rbut5tVHmF7+nR+ZsTP54u8bXbnHTtq/ckKljKa3D9dFwjv65ppvKcy2rO1TKO
DhSwtWyYbtxilVWGypClx/oEXe/M5koubcGi/uoF+xuv5xmJwjJj0HHu0F2/XLNc8PwKuwSqZsTp
PSgtq0zwL8BOeHXV7yO/NBr58XgvPmSJy82C61pka8QlqjAQI4e2kBh5iEFa4lRBhz+nnyx4JuRC
pxaZmTNzVogFFcsIu6duC8VO26EDdQ2a4vb5xIiRCtyEYQu518gIkdU68JubepTwHXgPPD6C+Lrg
YeBBdLuh8rFpeWC4SLkpKq9MZ0dXWVq+BWD/t+SVjQ9OTAsomA0C9LuQsnV7ZsV3Vo3hps4qd2+j
g6ZEi2HbqZ1XsSvZx1bkSaABYuC4opyEUS/binLosnaSSRhJK9Y4x/A8E/i+lryADgU3ySCYpMAU
Bdidvlq1z/MWS3qr8ywvofA7vEcbp/bNnPdahS4Phsq7V9xcFY3tMDZ2J+mCz6NhgkwQgNGp3dlc
uu3wak1pTR8IhhajFr/A0L7B/HauWQ/mdprcmiM/RZ3jZ10UXUx82HI7UrbkzuwQh4k9sgaGFk+8
17ePinOqPzjO413TqEqzSrZTSsIuG8OausC402FIdkZvxWTz8+tGD4ZzwD0Fg2oJTU6kT7upjR/4
rzCOhy1Au1PGjucOKDK7p0KCCt1jC7ReV3mpZCUbjSkRX8KcyN0vMEg2Sjep4UbPj29OjhCMU/jc
IHPymeX74bdXfhwo+OwiPCTwQh2vuEH2j8PzKGFNQvn/aOqPGnRHY0mJqTxuNRVtJ+hpdoCF8xo+
vrv8Bxu6jWLHh8N6Bdfj6A3H+VPLuWktPD9/7zUbJAQJR2EmP6y9p//Iz8XtYD21gPdFmQT2rrOP
befjoGRuKtb+aIOY//PZ1rPhPUF013tuKO1nrfwbMytB1HG59XNDmURHuI+TOiZ2g3M6juZGSmFX
D0zvv39jev8XUEsHCECxaLyFBgAA+hMAAFBLAwQUAAgACADYZCoxAAAAAAAAAAAAAAAAIAAQAGZy
YW1lLWxvYWQtdGVzdC1jYXNlL3NhZmFyaTIuaHRtVVgMAMmBVU7IAkJB9QEUAG1SbW/TMBD+Pmn/
4TAfClKpUzpAmpJINAkiUseqLYD2qXKTa+zhJZF9Y/z8+aUFIU2y7vHdPb57fHb6qrwumrttBV+b
qw1sv683dQHsHec/VwXnZVPGxMUiWUJjxGAVqXEQmvPqG8vPz1KfDlh9Lj02dbOpcisOwiggtASv
36c8Rl2an3jr6/IO/Oa2uKm3DXgRGSP8Q/xe/Ba2NWoiBrc3RcYWfBI9Lu4ty1Me+e7k+dkaezVA
Wf/wTuoQVJexD6vdx2T1aRfxIhgvFaCRyoJbJBHUFyMe8NKH070J6VQdfCwUmUZDQteBtHuxIgTy
fjQdmowtGTypjqTbJQkDiaqXFB2nORbO/2t2xEKr9hekAqTBQ8b+3f3S+Qat3DolGilKeTN7Scts
PtNi6B/9kCQ9zN6yXKLBlIscaAQ9ig7acSAcCNTgIvHyc3iSqpVOuNZgcNKixTCbI9fCeAi+m+zc
v51Dp7kaur8zD5eINvgk9hrhOJQltKj1JLpODX22TDyVwgHqnD29hoB4anwkqzo8dfQNA8+BieBp
p07cf6D4o/wPfAZQSwcIVD0F/aUBAADJAgAAUEsBAhUDCgAAAAAAJH8YPwAAAAAAAAAAAAAAABUA
DAAAAAAAAAAAQO1BAAAAAGZyYW1lLWxvYWQtdGVzdC1jYXNlL1VYCADDgVVOw4FVTlBLAQIVAxQA
CAAIANRgKjFuChU9nAAAANMAAAAhAAwAAAAAAAAAAECkgUMAAABmcmFtZS1sb2FkLXRlc3QtY2Fz
ZS9sYW5ndWFnZS5odG1VWAgAxoFVTkD7QUFQSwECFQMUAAgACADlZCoxQLFovIUGAAD6EwAAHAAM
AAAAAAAAAABApIE+AQAAZnJhbWUtbG9hZC10ZXN0LWNhc2UvcGFnZS5qc1VYCADEgVVO3gJCQVBL
AQIVAxQACAAIANhkKjFUPQX9pQEAAMkCAAAgAAwAAAAAAAAAAECkgR0IAABmcmFtZS1sb2FkLXRl
c3QtY2FzZS9zYWZhcmkyLmh0bVVYCADJgVVOyAJCQVBLBQYAAAAABAAEAFoBAAAgCgAAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105096</attachid>
            <date>2011-08-24 16:58:34 -0700</date>
            <delta_ts>2011-08-25 10:38:59 -0700</delta_ts>
            <desc>trying to fix v8 tests</desc>
            <filename>KillLifeSupport+v8.txt</filename>
            <type>text/plain</type>
            <size>17754</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTM3MzEpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDgtMjQgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAg
ICAgR2V0IHJpZCBvZiBmcmFtZSBsaWZlIHN1cHBvcnQgdGltZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODc0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6
IGdsb2JhbEV4ZWMoKSBubyBsb25nZXIgbmVlZHMgdG8gYmUgdmlydHVhbCwgaXRzIG9ubHkgb3Zl
cnJpZGUKKyAgICAgICAgd2FzIGluIEpTRE9NV2luZG93QmFzZS4KKwogMjAxMS0wOC0yNCAgRmls
aXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEVycm9ySW5zdGFuY2U6OmNy
ZWF0ZSBzb21ldGltZXMgaGFzIHR3byBoZWFwIG9iamVjdCBjb25zdHJ1Y3Rpb25zCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJKHJldmlz
aW9uIDkzNzMxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuaAkod29ya2luZyBjb3B5KQpAQCAtMjYyLDcgKzI2Miw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0dsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KIAotICAgICAgICB2aXJ0dWFsIEV4ZWNTdGF0ZSogZ2xvYmFsRXhlYygpOworICAgICAg
ICBFeGVjU3RhdGUqIGdsb2JhbEV4ZWMoKTsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
SW50ZXJydXB0U2NyaXB0KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA5Mzc0OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDExLTA4LTI0ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgorCisgICAgICAgIEdldCByaWQgb2YgZnJhbWUgbGlmZSBzdXBwb3J0IHRp
bWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg3
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWwKKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01XaW5kb3dCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5j
cHA6IChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZUluV29ybGQpOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwOiAoV2ViQ29yZTo6U2NyaXB0Q29u
dHJvbGxlcjo6ZXZhbHVhdGUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6cnVuU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6
OlY4UHJveHk6OmNhbGxGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5OjpuZXdJ
bnN0YW5jZSk6CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZTo6RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6On5GcmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZTo6cGFnZURlc3Ryb3llZCk6CisgICAgICAgICogcGFnZS9GcmFtZS5o
OgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6IChXZWJDb3JlOjpQYWdlOjp+UGFnZSk6CisgICAg
ICAgIFJlbW92ZWQgYWxsIGNvZGUgdGhhdCBkZWFsdCB3aXRoIHRoZSBsaWZlIHN1cHBvcnQgdGlt
ZXIuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwOiAoV2ViQ29y
ZTo6SlNFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudCk6CisgICAgICAgIFJlcGxhY2VkIHJlZi9k
ZXJlZiBjYWxscyBvbiBzZWxmIHdpdGggYSBSZWZQdHIuCisKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9WOEFic3RyYWN0RXZlbnRMaXN0ZW5lci5jcHA6IChXZWJDb3JlOjpWOEFic3RyYWN0RXZlbnRM
aXN0ZW5lcjo6aW52b2tlRXZlbnRIYW5kbGVyKToKKyAgICAgICAgUHJvdGVjdCBzZWxmIGR1cmlu
ZyBleGVjdXRpb24sIGxpa2UgSlNFdmVudExpc3RlbmVyIGFsd2F5cyBoYXMuCisKIDIwMTEtMDgt
MjQgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPGt1Ym9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAg
ICAgW0VGTF0gRml4IGJ1aWxkIHdpdGggRU5BQkxFX0dFT0xPQ0FUSU9OLgpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCShyZXZpc2lvbiA5
MzczMSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTgwLDE1ICs4MCw2IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpw
cmludEVycm9yTWVzc2FnZSgKICAgICBwcmludEVycm9yTWVzc2FnZUZvckZyYW1lKGltcGwoKS0+
ZnJhbWUoKSwgbWVzc2FnZSk7CiB9CiAKLUV4ZWNTdGF0ZSogSlNET01XaW5kb3dCYXNlOjpnbG9i
YWxFeGVjKCkKLXsKLSAgICAvLyBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGFueSBzY3JpcHQg
ZXhlY3V0aW9uIGhhcHBlbmluZyBpbiB0aGlzCi0gICAgLy8gZnJhbWUgZG9lcyBub3QgZGVzdHJv
eSBpdAotICAgIGlmIChGcmFtZSAqZnJhbWUgPSBpbXBsKCktPmZyYW1lKCkpCi0gICAgICAgIGZy
YW1lLT5rZWVwQWxpdmUoKTsKLSAgICByZXR1cm4gQmFzZTo6Z2xvYmFsRXhlYygpOwotfQotCiBi
b29sIEpTRE9NV2luZG93QmFzZTo6c3VwcG9ydHNQcm9maWxpbmcoKSBjb25zdAogewogI2lmICFF
TkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikgfHwgIUVOQUJMRShJTlNQRUNUT1IpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAkocmV2aXNpb24g
OTM3MzEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAko
d29ya2luZyBjb3B5KQpAQCAtNTUsNyArNTUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBwcm90b3R5
cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIEFub255
bW91c1Nsb3RDb3VudCwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIEpT
Qzo6RXhlY1N0YXRlKiBnbG9iYWxFeGVjKCk7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0
c1Byb2ZpbGluZygpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNSaWNoU291
cmNlSW5mbygpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW50ZXJydXB0U2Ny
aXB0KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlz
dGVuZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZl
bnRMaXN0ZW5lci5jcHAJKHJldmlzaW9uIDkzNzMxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNFdmVudExpc3RlbmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA0LDcgKzEwNCw3
IEBAIHZvaWQgSlNFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudChTY3JpcHQKICAgICB9CiAKICAg
ICBpZiAoY2FsbFR5cGUgIT0gQ2FsbFR5cGVOb25lKSB7Ci0gICAgICAgIHJlZigpOworICAgICAg
ICBSZWZQdHI8SlNFdmVudExpc3RlbmVyPiBwcm90ZWN0KHRoaXMpOwogCiAgICAgICAgIE1hcmtl
ZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CiAgICAgICAgIGFyZ3MuYXBwZW5kKHRvSlMoZXhlYywgZ2xv
YmFsT2JqZWN0LCBldmVudCkpOwpAQCAtMTUxLDggKzE1MSw2IEBAIHZvaWQgSlNFdmVudExpc3Rl
bmVyOjpoYW5kbGVFdmVudChTY3JpcHQKICAgICAgICAgICAgICAgICAgICAgZXZlbnQtPnByZXZl
bnREZWZhdWx0KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLQotICAgICAgICBkZXJlZigp
OwogICAgIH0KIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDkzNzMxKQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NCwxMCAr
MTQ0LDYgQEAgU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbgogCiAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRFdmFsdWF0ZVNjcmlwdChjb29raWUpOwogCi0g
ICAgLy8gRXZhbHVhdGluZyB0aGUgSmF2YVNjcmlwdCBjb3VsZCBjYXVzZSB0aGUgZnJhbWUgdG8g
YmUgZGVhbGxvY2F0ZWQKLSAgICAvLyBzbyB3ZSBzdGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBo
ZXJlLgotICAgIG1fZnJhbWUtPmtlZXBBbGl2ZSgpOwotCiAgICAgaWYgKGNvbXAuY29tcGxUeXBl
KCkgPT0gTm9ybWFsIHx8IGNvbXAuY29tcGxUeXBlKCkgPT0gUmV0dXJuVmFsdWUpIHsKICAgICAg
ICAgbV9zb3VyY2VVUkwgPSBzYXZlZFNvdXJjZVVSTDsKICAgICAgICAgcmV0dXJuIFNjcmlwdFZh
bHVlKGV4ZWMtPmdsb2JhbERhdGEoKSwgY29tcC52YWx1ZSgpKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA5Mzcz
MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xODksMTAgKzE4OSw2IEBAIFNjcmlwdFZhbHVlIFNjcmlwdENvbnRy
b2xsZXI6OmV2YWx1YXRlKGMKIAogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IG9iamVjdCA9IG1f
cHJveHktPmV2YWx1YXRlKHNvdXJjZUNvZGUsIDApOwogCi0gICAgLy8gRXZhbHVhdGluZyB0aGUg
SmF2YVNjcmlwdCBjb3VsZCBjYXVzZSB0aGUgZnJhbWUgdG8gYmUgZGVhbGxvY2F0ZWQKLSAgICAv
LyBzbyB3ZSBzdGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBoZXJlLgotICAgIG1fZnJhbWUtPmtl
ZXBBbGl2ZSgpOwotCiAgICAgbV9zb3VyY2VVUkwgPSBzYXZlZFNvdXJjZVVSTDsKIAogICAgIGlm
IChvYmplY3QuSXNFbXB0eSgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhB
YnN0cmFjdEV2ZW50TGlzdGVuZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4QWJzdHJhY3RFdmVudExpc3RlbmVyLmNwcAkocmV2aXNpb24gOTM3MzEpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEFic3RyYWN0RXZlbnRMaXN0ZW5lci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEzNiw2ICsxMzYsOCBAQCB2b2lkIFY4QWJzdHJhY3RFdmVudExp
c3RlbmVyOjppbnZva2VFdmVuCiAgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gImJlZm9yZXVubG9h
ZCIgfHwgZXZlbnQtPnR5cGUoKSA9PSAidW5sb2FkIikKICAgICAgICAgRGF0ZUV4dGVuc2lvbjo6
Z2V0KCktPnNldEFsbG93U2xlZXAoZmFsc2UpOwogCisgICAgUmVmUHRyPFY4QWJzdHJhY3RFdmVu
dExpc3RlbmVyPiBwcm90ZWN0KHRoaXMpOworCiAgICAgewogICAgICAgICAvLyBDYXRjaCBleGNl
cHRpb25zIHRocm93biBpbiB0aGUgZXZlbnQgaGFuZGxlciBzbyB0aGV5IGRvIG5vdCBwcm9wYWdh
dGUgdG8gamF2YXNjcmlwdCBjb2RlIHRoYXQgY2F1c2VkIHRoZSBldmVudCB0byBmaXJlLgogICAg
ICAgICB2ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2g7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOFByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOFByb3h5LmNwcAkocmV2aXNpb24gOTM3MzEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOFByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI2LDkgKzQyNiw2IEBAIHY4OjpM
b2NhbDx2ODo6VmFsdWU+IFY4UHJveHk6OnJ1blNjcmlwdCgKICAgICB2ODo6VHJ5Q2F0Y2ggdHJ5
Q2F0Y2g7CiAgICAgdHJ5Q2F0Y2guU2V0VmVyYm9zZSh0cnVlKTsKICAgICB7Ci0gICAgICAgIC8v
IFNlZSBjb21tZW50IGluIFY4UHJveHk6OmNhbGxGdW5jdGlvbi4KLSAgICAgICAgbV9mcmFtZS0+
a2VlcEFsaXZlKCk7Ci0KICAgICAgICAgbV9yZWN1cnNpb24rKzsKICAgICAgICAgcmVzdWx0ID0g
c2NyaXB0LT5SdW4oKTsKICAgICAgICAgbV9yZWN1cnNpb24tLTsKQEAgLTQ3NCwxMyArNDcxLDYg
QEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhQcm94eTo6Y2FsbEZ1bmN0aQogICAgICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKICAgICAgICAgfQogCi0gICAgICAgIC8vIEV2YWx1YXRpbmcgdGhlIEph
dmFTY3JpcHQgY291bGQgY2F1c2UgdGhlIGZyYW1lIHRvIGJlIGRlYWxsb2NhdGVkLAotICAgICAg
ICAvLyBzbyB3ZSBzdGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBoZXJlLgotICAgICAgICAvLyBG
cmFtZTo6a2VlcEFsaXZlIG1ldGhvZCBhZGRzIHRoZSByZWYgY291bnQgb2YgdGhlIGZyYW1lIGFu
ZCBzZXRzIGEKLSAgICAgICAgLy8gdGltZXIgdG8gZGVjcmVhc2UgdGhlIHJlZiBjb3VudC4gSXQg
YXNzdW1lcyB0aGF0IHRoZSBjdXJyZW50IEphdmFTY3JpcHQKLSAgICAgICAgLy8gZXhlY3V0aW9u
IGZpbmlzaHMgYmVmb3JlIGZpcmluZyB0aGUgdGltZXIuCi0gICAgICAgIG1fZnJhbWUtPmtlZXBB
bGl2ZSgpOwotCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWU7
CiAgICAgICAgIGlmIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKSB7
CiAgICAgICAgICAgICB2ODo6U2NyaXB0T3JpZ2luIG9yaWdpbiA9IGZ1bmN0aW9uLT5HZXRTY3Jp
cHRPcmlnaW4oKTsKQEAgLTUyNiw5ICs1MTYsNiBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOFBy
b3h5OjpuZXdJbnN0YW5jCiAgICAgLy8gVjhQcm94eTo6Y2FsbEZ1bmN0aW9uLgogICAgIHY4OjpM
b2NhbDx2ODo6VmFsdWU+IHJlc3VsdDsKICAgICB7Ci0gICAgICAgIC8vIFNlZSBjb21tZW50IGlu
IFY4UHJveHk6OmNhbGxGdW5jdGlvbi4KLSAgICAgICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7Ci0K
ICAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0b3ItPk5ld0luc3RhbmNlKGFyZ2MsIGFyZ3MpOwog
ICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHJldmlzaW9uIDkzNzMxKQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OCw3ICsxNTgs
NiBAQCBpbmxpbmUgRnJhbWU6OkZyYW1lKFBhZ2UqIHBhZ2UsIEhUTUxGcmFtCiAgICAgLCBtX3Nl
bGVjdGlvbih0aGlzKQogICAgICwgbV9ldmVudEhhbmRsZXIodGhpcykKICAgICAsIG1fYW5pbWF0
aW9uQ29udHJvbGxlcih0aGlzKQotICAgICwgbV9saWZlU3VwcG9ydFRpbWVyKHRoaXMsICZGcmFt
ZTo6bGlmZVN1cHBvcnRUaW1lckZpcmVkKQogICAgICwgbV9wYWdlWm9vbUZhY3RvcihwYXJlbnRQ
YWdlWm9vbUZhY3Rvcih0aGlzKSkKICAgICAsIG1fdGV4dFpvb21GYWN0b3IocGFyZW50VGV4dFpv
b21GYWN0b3IodGhpcykpCiAgICAgLCBtX3BhZ2VTY2FsZUZhY3RvcigxKQpAQCAtMjE4LDggKzIx
Nyw2IEBAIEZyYW1lOjp+RnJhbWUoKQogCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBub3QgYmUg
ZG9pbmcgYWxsIHRoaXMgd29yayBpbnNpZGUgdGhlIGRlc3RydWN0b3IKIAotICAgIEFTU0VSVCgh
bV9saWZlU3VwcG9ydFRpbWVyLmlzQWN0aXZlKCkpOwotCiAjaWZuZGVmIE5ERUJVRwogICAgIGZy
YW1lQ291bnRlci5kZWNyZW1lbnQoKTsKICNlbmRpZgpAQCAtMjQ4LDggKzI0NSw2IEBAIEZyYW1l
Ojp+RnJhbWUoKQogICAgICAgICBtX3ZpZXctPmhpZGUoKTsKICAgICAgICAgbV92aWV3LT5jbGVh
ckZyYW1lKCk7CiAgICAgfQotCi0gICAgQVNTRVJUKCFtX2xpZmVTdXBwb3J0VGltZXIuaXNBY3Rp
dmUoKSk7CiB9CiAKIHZvaWQgRnJhbWU6OmFkZERlc3RydWN0aW9uT2JzZXJ2ZXIoRnJhbWVEZXN0
cnVjdGlvbk9ic2VydmVyKiBvYnNlcnZlcikKQEAgLTU5MCw0NiArNTg1LDYgQEAgdm9pZCBGcmFt
ZTo6aW5qZWN0VXNlclNjcmlwdHNGb3JXb3JsZChETwogICAgIH0KIH0KIAotI2lmbmRlZiBOREVC
VUcKLXN0YXRpYyBIYXNoU2V0PEZyYW1lKj4mIGtlZXBBbGl2ZVNldCgpCi17Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChIYXNoU2V0PEZyYW1lKj4sIHN0YXRpY0tlZXBBbGl2ZVNldCwgKCkpOwot
ICAgIHJldHVybiBzdGF0aWNLZWVwQWxpdmVTZXQ7Ci19Ci0jZW5kaWYKLQotdm9pZCBGcmFtZTo6
a2VlcEFsaXZlKCkKLXsKLSAgICBpZiAobV9saWZlU3VwcG9ydFRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIHJldHVybjsKLSNpZm5kZWYgTkRFQlVHCi0gICAga2VlcEFsaXZlU2V0KCkuYWRkKHRo
aXMpOwotI2VuZGlmCi0gICAgcmVmKCk7Ci0gICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKLX0KLQotI2lmbmRlZiBOREVCVUcKLXZvaWQgRnJhbWU6OmNhbmNlbEFsbEtlZXBB
bGl2ZSgpCi17Ci0gICAgSGFzaFNldDxGcmFtZSo+OjppdGVyYXRvciBlbmQgPSBrZWVwQWxpdmVT
ZXQoKS5lbmQoKTsKLSAgICBmb3IgKEhhc2hTZXQ8RnJhbWUqPjo6aXRlcmF0b3IgaXQgPSBrZWVw
QWxpdmVTZXQoKS5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgRnJhbWUqIGZy
YW1lID0gKml0OwotICAgICAgICBmcmFtZS0+bV9saWZlU3VwcG9ydFRpbWVyLnN0b3AoKTsKLSAg
ICAgICAgZnJhbWUtPmRlcmVmKCk7Ci0gICAgfQotICAgIGtlZXBBbGl2ZVNldCgpLmNsZWFyKCk7
Ci19Ci0jZW5kaWYKLQotdm9pZCBGcmFtZTo6bGlmZVN1cHBvcnRUaW1lckZpcmVkKFRpbWVyPEZy
YW1lPiopCi17Ci0jaWZuZGVmIE5ERUJVRwotICAgIGtlZXBBbGl2ZVNldCgpLnJlbW92ZSh0aGlz
KTsKLSNlbmRpZgotICAgIGRlcmVmKCk7Ci19Ci0KIHZvaWQgRnJhbWU6OmNsZWFyRE9NV2luZG93
KCkKIHsKICAgICBpZiAobV9kb21XaW5kb3cpIHsKQEAgLTc1MywxMCArNzA4LDYgQEAgdm9pZCBG
cmFtZTo6cGFnZURlc3Ryb3llZCgpCiAgICAgaWYgKHBhZ2UoKSAmJiBwYWdlKCktPmZvY3VzQ29u
dHJvbGxlcigpLT5mb2N1c2VkRnJhbWUoKSA9PSB0aGlzKQogICAgICAgICBwYWdlKCktPmZvY3Vz
Q29udHJvbGxlcigpLT5zZXRGb2N1c2VkRnJhbWUoMCk7CiAKLSAgICAvLyBGSVhNRTogUmVtb3Zp
bmcga2VlcGFsaXZlIHdpbGwgbWFrZSBiZWhhdmlvciBiZXR0ZXIgbWF0Y2ggRmlyZWZveC4KLSAg
ICAvLyBTb21lIGNvZGUgdGhhdCB1c2VkIHRvIGJlIGhlcmUgaW5kaXJlY3RseSB0cmlnZ2VyZWQg
a2VlcGFsaXZlLCBhbmQgd2UgZG9uJ3Qgd2FudCB0byBjaGFuZ2UgYmVoYXZpb3IgYXQgdGhlIG1v
bWVudC4KLSAgICBrZWVwQWxpdmUoKTsKLQogICAgIHNjcmlwdCgpLT5jbGVhclNjcmlwdE9iamVj
dHMoKTsKICAgICBzY3JpcHQoKS0+dXBkYXRlUGxhdGZvcm1TY3JpcHRPYmplY3RzKCk7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lLmgJKHJldmlzaW9uIDkzNzMxKQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsOSArMTUzLDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBib29sIGluVmlld1NvdXJjZU1vZGUoKSBjb25zdDsKICAgICAgICAg
dm9pZCBzZXRJblZpZXdTb3VyY2VNb2RlKGJvb2wgPSB0cnVlKTsKIAotICAgICAgICB2b2lkIGtl
ZXBBbGl2ZSgpOyAvLyBVc2VkIHRvIGtlZXAgdGhlIGZyYW1lIGFsaXZlIHdoZW4gcnVubmluZyBh
IHNjcmlwdCB0aGF0IG1pZ2h0IGRlc3Ryb3kgaXQuCi0gICAgICAgIHN0YXRpYyB2b2lkIGNhbmNl
bEFsbEtlZXBBbGl2ZSgpOwotCiAgICAgICAgIHZvaWQgc2V0RG9jdW1lbnQoUGFzc1JlZlB0cjxE
b2N1bWVudD4pOwogCiAgICAgICAgIHZvaWQgc2V0UGFnZVpvb21GYWN0b3IoZmxvYXQgZmFjdG9y
KTsKQEAgLTIxOSw3ICsyMTYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEZyYW1l
KFBhZ2UqLCBIVE1MRnJhbWVPd25lckVsZW1lbnQqLCBGcmFtZUxvYWRlckNsaWVudCopOwogCiAg
ICAgICAgIHZvaWQgaW5qZWN0VXNlclNjcmlwdHNGb3JXb3JsZChET01XcmFwcGVyV29ybGQqLCBj
b25zdCBVc2VyU2NyaXB0VmVjdG9yJiwgVXNlclNjcmlwdEluamVjdGlvblRpbWUpOwotICAgICAg
ICB2b2lkIGxpZmVTdXBwb3J0VGltZXJGaXJlZChUaW1lcjxGcmFtZT4qKTsKIAogICAgICAgICBI
YXNoU2V0PEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlcio+IG1fZGVzdHJ1Y3Rpb25PYnNlcnZlcnM7
CiAKQEAgLTI0Miw4ICsyMzgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIG11dGFi
bGUgRXZlbnRIYW5kbGVyIG1fZXZlbnRIYW5kbGVyOwogICAgICAgICBtdXRhYmxlIEFuaW1hdGlv
bkNvbnRyb2xsZXIgbV9hbmltYXRpb25Db250cm9sbGVyOwogCi0gICAgICAgIFRpbWVyPEZyYW1l
PiBtX2xpZmVTdXBwb3J0VGltZXI7Ci0KICAgICAgICAgZmxvYXQgbV9wYWdlWm9vbUZhY3RvcjsK
ICAgICAgICAgZmxvYXQgbV90ZXh0Wm9vbUZhY3RvcjsKIApJbmRleDogU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CShyZXZpc2lvbiA5MzczMSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTIwMywxMSArMjAzLDYgQEAgUGFnZTo6flBhZ2UoKQogCiAjaWZuZGVmIE5E
RUJVRwogICAgIHBhZ2VDb3VudGVyLmRlY3JlbWVudCgpOwotCi0gICAgLy8gQ2FuY2VsIGtlZXBB
bGl2ZSB0aW1lcnMsIHRvIGVuc3VyZSB3ZSByZWxlYXNlIGFsbCBGcmFtZXMgYmVmb3JlIGV4aXRp
bmcuCi0gICAgLy8gSXQncyBzYWZlIHRvIGRvIHRoaXMgYmVjYXVzZSB3ZSBwcm9oaWJpdCBjbG9z
aW5nIGEgUGFnZSB3aGlsZSBKYXZhU2NyaXB0Ci0gICAgLy8gaXMgZXhlY3V0aW5nLgotICAgIEZy
YW1lOjpjYW5jZWxBbGxLZWVwQWxpdmUoKTsKICNlbmRpZgogfQogCkluZGV4OiBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lv
biA5MzczMikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI0IEBACisyMDExLTA4LTI0ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIEdldCByaWQgb2YgZnJhbWUgbGlmZSBzdXBwb3J0IHRpbWVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg3NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vcmVzb3Vy
Y2VzL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZyYW1l
Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20veG1saHR0cHJlcXVlc3QtY29uc3RydWN0b3ItaW4t
ZGV0YWNoZWQtZG9jdW1lbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICBUaGUgdGVzdCB1c2VkIHRv
IGFjY2VzcyBYTUxIdHRwUmVxdWVzdCBjb25zdHJ1Y3RvciBmcm9tIGEgZGV0YWNoZWQgZnJhbWUu
IE1vZGlmaWVkIHRoZSB0ZXN0CisgICAgICAgIHRvIGFsc28gdHJ5IGEgc3RvcmVkIGNvbnN0cnVj
dG9yLCBhbmQgYWRkZWQgYW4gZXJyb3IgdGhhdCdzIGNsb2dnZWQgd2hlbiB0cnlpbmcgdGhhdCBp
biBhCisgICAgICAgIGRldGFjaGVkIGZyYW1lIHRvIHRlc3Qgb3V0cHV0LgorCisgICAgICAgICog
ZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRvIGNoZWNrIGZvciB0aGUgbmV3LCBtb3JlIGNvbXBh
dGlibGUgYmVoYXZpb3IuCisKKyAgICAgICAgKiBmYXN0L3N0b3JhZ2Uvc3RvcmFnZS1kZXRhY2hl
ZC1pZnJhbWUuaHRtbDoKKyAgICAgICAgU3RvcmUgYSByZWZlcmVuY2UgdG8gbG9jYWxTdG9yYWdl
IGJlZm9yZSBkZXRhY2hpbmcgYSBmcmFtZSwgYXMgaXQgd29uJ3QgYmUgYXZhaWxhYmxlCisgICAg
ICAgIGFmdGVyd2FyZHMgYW55IG1vcmUuCisKIDIwMTEtMDgtMjQgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUGx1Zy1pbiB0ZXN0cyBhcmUgZmxha3kgb24g
TWFjCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rv
ci1pbi1kZXRhY2hlZC1kb2N1bWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9kb20veG1saHR0cHJlcXVlc3QtY29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9j
dW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5MzczMSkKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxMjogUmVmZXJlbmNlRXJyb3I6IFhNTEh0dHBSZXF1ZXN0IGNvbnN0cnVjdG9yIGFzc29j
aWF0ZWQgZG9jdW1lbnQgaXMgdW5hdmFpbGFibGUKIFRleHQgZm9yIGJ1ZyAyNTI5MDogQ3Jhc2gg
d2hlbiBjb25zdHJ1Y3RpbmcgWE1MSHR0cFJlcXVlc3QgaW4gYSBkZXRhY2hlZCBkb2N1bWVudC4K
IAogUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVzb3VyY2VzL3htbGh0dHByZXF1
ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZyYW1lLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVzb3VyY2VzL3htbGh0dHByZXF1ZXN0LWNvbnN0
cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZyYW1lLmh0bWwJKHJldmlzaW9uIDkzNzMxKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVzb3VyY2VzL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVj
dG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTQs
OCArNCwxMyBAQAogICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbihldnQpIHsK
ICAgICAgICAgaWYgKGV2dC50YXJnZXQucmVhZHlTdGF0ZSA9PSA0KSB7CiAgICAgICAgICAgICBw
YXJlbnQuc2V0VGltZW91dCgicGFzcygpIiwgMCk7CisgICAgICAgICAgICB2YXIgeGhyQ29uc3Ry
dWN0b3IgPSBYTUxIdHRwUmVxdWVzdDsgLy8gVGhlIGNvbnN0cnVjdG9yIG1heSBub3QgYmUgcmVh
Y2hhYmxlIGFzIHdpbmRvdyBvYmplY3QgcHJvcGVydHkgYWZ0ZXIgZGV0YWNoaW5nIHRoZSBmcmFt
ZS4KICAgICAgICAgICAgIHBhcmVudC5kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHBhcmVudC5k
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIilbMF0pOwotICAgICAgICAgICAg
dmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKKyAgICAgICAgICAgIH0gY2F0
Y2ggKGV4KSB7CisgICAgICAgICAgICAgICAgdmFyIHJlcSA9IG5ldyB4aHJDb25zdHJ1Y3RvcjsK
KyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJlcS5vcGVuKCJHRVQiLCAieG1saHR0cHJlcXVl
c3QtY29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZnJhbWUuaHRtbCIsIGZhbHNlKTsK
ICAgICAgICAgICAgIHJlcS5zZW5kKG51bGwpOwogICAgICAgICB9CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHkt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0
YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDQgQEAKK1Rlc3QgdGhhdCBwcm9wZXJ0aWVzIGluIGEgZGV0YWNoZWQgc3ViZnJhbWUgYmVjb21l
IHVuYXZhaWxhYmxlIGltbWVkaWF0ZWx5LgorCitQQVNTCisKClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5LWV4cGVjdGVk
LnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHkuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzxwPlRlc3QgdGhhdCBwcm9wZXJ0aWVzIGlu
IGEgZGV0YWNoZWQgc3ViZnJhbWUgYmVjb21lIHVuYXZhaWxhYmxlIGltbWVkaWF0ZWx5LjwvcD4K
KzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworb25sb2FkID0gZnVuY3Rpb24oKQoreworICAg
IHZhciBjaGlsZFdpbmRvdyA9IGZyYW1lc1swXTsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNo
aWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVswXSk7CisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9IGNoaWxkV2luZG93LlhN
TEh0dHBSZXF1ZXN0ID8gIkZBSUwiIDogIlBBU1MiOworfQorPC9zY3JpcHQ+Cis8ZGl2IGlkPSJy
ZXN1bHQiPkZBSUw6IFNjcmlwdCBkaWQgbm90IHJ1bjwvZGl2PgorPGlmcmFtZSBzcmM9ImFib3V0
OmJsYW5rIj48L2lmcmFtZT4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWwKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
Om1pbWUtdHlwZQogICArIHRleHQvaHRtbAoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3RvcmFn
ZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5odG1sCShyZXZpc2lvbiA5Mzcz
MSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw5ICsyNiwxMCBAQAogICAgICAgICAgIHQxID0gb3Bl
bklmcmFtZSgpOwogICAgICAgICAgIHZhciBhID0gdDEuY29udGVudFdpbmRvdy5mcmFtZXM7CiAg
ICAgICAgICAgdmFyIGIgPSB0MS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXcubG9jYWxTdG9y
YWdlOworICAgICAgICAgIHZhciBhX2xvY2FsU3RvcmFnZSA9IGEubG9jYWxTdG9yYWdlOyAvLyBU
aGUgY29uc3RydWN0b3Igd29uJ3QgYmUgcmVhY2hhYmxlIGFzIHdpbmRvdyBvYmplY3QgcHJvcGVy
dHkgYWZ0ZXIgZGV0YWNoaW5nIHRoZSBmcmFtZS4KIAogICAgICAgICAgIHQxLm91dGVyVGV4dCA9
ICIiOwotICAgICAgICAgIGEubG9jYWxTdG9yYWdlLmZ1enozX3Zpc2l0ZWQ9InRlc3QiOworICAg
ICAgICAgIGFfbG9jYWxTdG9yYWdlLmZ1enozX3Zpc2l0ZWQ9InRlc3QiOwogICAgICAgfQogCiAg
ICAgICBmdW5jdGlvbiBydW5UZXN0cygpIHsK
</data>
<flag name="review"
          id="101150"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="101172"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105214</attachid>
            <date>2011-08-25 10:38:59 -0700</date>
            <delta_ts>2011-08-25 18:54:16 -0700</delta_ts>
            <desc>plus windows build fix, minus failed v8 fix</desc>
            <filename>KillLifeSupport+win.txt</filename>
            <type>text/plain</type>
            <size>17675</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTM3OTcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMDgtMjQgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAg
ICAgR2V0IHJpZCBvZiBmcmFtZSBsaWZlIHN1cHBvcnQgdGltZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODc0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6
CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLmRlZjoKKyAgICAgICAgZ2xvYmFsRXhlYygpIG5vIGxvbmdlciBuZWVkcyB0byBiZSB2
aXJ0dWFsLCBpdHMgb25seSBvdmVycmlkZSB3YXMgaW4gSlNET01XaW5kb3dCYXNlLgorCiAyMDEx
LTA4LTI0ICBKdWFuIEMuIE1vbnRlbWF5b3IgIDxqbW9udEBhcHBsZS5jb20+CiAKICAgICAgICAg
S2VlcCB0cmFjayBvZiB0b3BDYWxsRnJhbWUgZm9yIFN0YWNrIHRyYWNlcwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5kZWYKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYJKHJldmlz
aW9uIDkzNzMxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJv
ai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYJKHdvcmtpbmcgY29weSkKQEAgLTIw
NCw3ICsyMDQsNiBAQCBFWFBPUlRTCiAgICAgP2dldFN0cmluZ0BKU0NlbGxASlNDQEBRQkVfTlBB
VkV4ZWNTdGF0ZUAyQEFBVlVTdHJpbmdAMkBAWgogICAgID9nZXRVSW50MzJASlNDZWxsQEpTQ0BA
VUJFX05BQUlAWgogICAgID9nZXR0ZXJAUHJvcGVydHlEZXNjcmlwdG9yQEpTQ0BAUUJFP0FWSlNW
YWx1ZUAyQFhaCi0gICAgP2dsb2JhbEV4ZWNASlNHbG9iYWxPYmplY3RASlNDQEBVQUVQQVZFeGVj
U3RhdGVAMkBYWgogICAgID9nbG9iYWxPYmplY3RASlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0QEpT
Q0BAUUJFUEFWSlNHbG9iYWxPYmplY3RAMkBYWgogICAgID9nbG9iYWxPYmplY3RDb3VudEBIZWFw
QEpTQ0BAUUFFSVhaCiAgICAgP2dyb3dASGFuZGxlSGVhcEBKU0NAQEFBRVhYWgpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCShyZXZpc2lv
biA5MzczMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2Miw3ICsyNjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgICAgICB2aXJ0dWFsIGJvb2wgaXNHbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiB0cnVl
OyB9CiAKLSAgICAgICAgdmlydHVhbCBFeGVjU3RhdGUqIGdsb2JhbEV4ZWMoKTsKKyAgICAgICAg
RXhlY1N0YXRlKiBnbG9iYWxFeGVjKCk7CiAKICAgICAgICAgdmlydHVhbCBib29sIHNob3VsZElu
dGVycnVwdFNjcmlwdCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIApJbmRleDogU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwko
cmV2aXNpb24gOTM3NDgpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwzMSBAQAorMjAxMS0wOC0yNCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIGZyYW1lIGxpZmUgc3VwcG9ydCB0aW1l
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NzQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBm
YXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS5odG1sCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9N
V2luZG93QmFzZS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3Bw
OiAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldvcmxkKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcDogKFdlYkNvcmU6OlNjcmlwdENvbnRy
b2xsZXI6OmV2YWx1YXRlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OnJ1blNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpW
OFByb3h5OjpjYWxsRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6bmV3SW5z
dGFuY2UpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWU6OkZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjp+RnJhbWUpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWU6OnBhZ2VEZXN0cm95ZWQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoK
KyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOiAoV2ViQ29yZTo6UGFnZTo6flBhZ2UpOgorICAgICAg
ICBSZW1vdmVkIGFsbCBjb2RlIHRoYXQgZGVhbHQgd2l0aCB0aGUgbGlmZSBzdXBwb3J0IHRpbWVy
LgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcDogKFdlYkNvcmU6
OkpTRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQpOgorICAgICAgICBSZXBsYWNlZCByZWYvZGVy
ZWYgY2FsbHMgb24gc2VsZiB3aXRoIGEgUmVmUHRyLgorCiAyMDExLTA4LTI0ICBSYXBoYWVsIEt1
Ym8gZGEgQ29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAgIFtFRkxdIEZpeCBi
dWlsZCB3aXRoIEVOQUJMRV9HRU9MT0NBVElPTi4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAkocmV2aXNpb24gOTM3MzEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC04MCwxNSArODAsNiBAQCB2b2lkIEpTRE9NV2luZG93QmFzZTo6cHJpbnRFcnJvck1lc3Nh
Z2UoCiAgICAgcHJpbnRFcnJvck1lc3NhZ2VGb3JGcmFtZShpbXBsKCktPmZyYW1lKCksIG1lc3Nh
Z2UpOwogfQogCi1FeGVjU3RhdGUqIEpTRE9NV2luZG93QmFzZTo6Z2xvYmFsRXhlYygpCi17Ci0g
ICAgLy8gV2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBhbnkgc2NyaXB0IGV4ZWN1dGlvbiBoYXBw
ZW5pbmcgaW4gdGhpcwotICAgIC8vIGZyYW1lIGRvZXMgbm90IGRlc3Ryb3kgaXQKLSAgICBpZiAo
RnJhbWUgKmZyYW1lID0gaW1wbCgpLT5mcmFtZSgpKQotICAgICAgICBmcmFtZS0+a2VlcEFsaXZl
KCk7Ci0gICAgcmV0dXJuIEJhc2U6Omdsb2JhbEV4ZWMoKTsKLX0KLQogYm9vbCBKU0RPTVdpbmRv
d0Jhc2U6OnN1cHBvcnRzUHJvZmlsaW5nKCkgY29uc3QKIHsKICNpZiAhRU5BQkxFKEpBVkFTQ1JJ
UFRfREVCVUdHRVIpIHx8ICFFTkFCTEUoSU5TUEVDVE9SKQpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgJKHJldmlzaW9uIDkzNzMxKQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTU1LDcgKzU1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgcmV0dXJu
IEpTQzo6U3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgcHJvdG90eXBlLCBKU0M6OlR5cGVJ
bmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBBbm9ueW1vdXNTbG90Q291bnQs
ICZzX2luZm8pOwogICAgICAgICB9CiAKLSAgICAgICAgdmlydHVhbCBKU0M6OkV4ZWNTdGF0ZSog
Z2xvYmFsRXhlYygpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNQcm9maWxpbmcoKSBj
b25zdDsKICAgICAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzUmljaFNvdXJjZUluZm8oKSBjb25z
dDsKICAgICAgICAgdmlydHVhbCBib29sIHNob3VsZEludGVycnVwdFNjcmlwdCgpIGNvbnN0OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVuZXIuY3Bw
CShyZXZpc2lvbiA5MzczMSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRM
aXN0ZW5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw3ICsxMDQsNyBAQCB2b2lkIEpTRXZl
bnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQoU2NyaXB0CiAgICAgfQogCiAgICAgaWYgKGNhbGxUeXBl
ICE9IENhbGxUeXBlTm9uZSkgewotICAgICAgICByZWYoKTsKKyAgICAgICAgUmVmUHRyPEpTRXZl
bnRMaXN0ZW5lcj4gcHJvdGVjdCh0aGlzKTsKIAogICAgICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZl
ciBhcmdzOwogICAgICAgICBhcmdzLmFwcGVuZCh0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgZXZl
bnQpKTsKQEAgLTE1MSw4ICsxNTEsNiBAQCB2b2lkIEpTRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZl
bnQoU2NyaXB0CiAgICAgICAgICAgICAgICAgICAgIGV2ZW50LT5wcmV2ZW50RGVmYXVsdCgpOwog
ICAgICAgICAgICAgfQogICAgICAgICB9Ci0KLSAgICAgICAgZGVyZWYoKTsKICAgICB9CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIu
Y3BwCShyZXZpc2lvbiA5MzczMSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsMTAgKzE0NCw2IEBAIFNjcmlw
dFZhbHVlIFNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlSW4KIAogICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkRXZhbHVhdGVTY3JpcHQoY29va2llKTsKIAotICAgIC8vIEV2YWx1YXRp
bmcgdGhlIEphdmFTY3JpcHQgY291bGQgY2F1c2UgdGhlIGZyYW1lIHRvIGJlIGRlYWxsb2NhdGVk
Ci0gICAgLy8gc28gd2Ugc3RhcnQgdGhlIGtlZXAgYWxpdmUgdGltZXIgaGVyZS4KLSAgICBtX2Zy
YW1lLT5rZWVwQWxpdmUoKTsKLQogICAgIGlmIChjb21wLmNvbXBsVHlwZSgpID09IE5vcm1hbCB8
fCBjb21wLmNvbXBsVHlwZSgpID09IFJldHVyblZhbHVlKSB7CiAgICAgICAgIG1fc291cmNlVVJM
ID0gc2F2ZWRTb3VyY2VVUkw7CiAgICAgICAgIHJldHVybiBTY3JpcHRWYWx1ZShleGVjLT5nbG9i
YWxEYXRhKCksIGNvbXAudmFsdWUoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9TY3JpcHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gOTM3MzEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTg5LDEwICsxODksNiBAQCBTY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0
ZShjCiAKICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBvYmplY3QgPSBtX3Byb3h5LT5ldmFsdWF0
ZShzb3VyY2VDb2RlLCAwKTsKIAotICAgIC8vIEV2YWx1YXRpbmcgdGhlIEphdmFTY3JpcHQgY291
bGQgY2F1c2UgdGhlIGZyYW1lIHRvIGJlIGRlYWxsb2NhdGVkCi0gICAgLy8gc28gd2Ugc3RhcnQg
dGhlIGtlZXAgYWxpdmUgdGltZXIgaGVyZS4KLSAgICBtX2ZyYW1lLT5rZWVwQWxpdmUoKTsKLQog
ICAgIG1fc291cmNlVVJMID0gc2F2ZWRTb3VyY2VVUkw7CiAKICAgICBpZiAob2JqZWN0LklzRW1w
dHkoKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCShyZXZpc2lv
biA5MzczMSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MjYsOSArNDI2LDYgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhQcm94
eTo6cnVuU2NyaXB0KAogICAgIHY4OjpUcnlDYXRjaCB0cnlDYXRjaDsKICAgICB0cnlDYXRjaC5T
ZXRWZXJib3NlKHRydWUpOwogICAgIHsKLSAgICAgICAgLy8gU2VlIGNvbW1lbnQgaW4gVjhQcm94
eTo6Y2FsbEZ1bmN0aW9uLgotICAgICAgICBtX2ZyYW1lLT5rZWVwQWxpdmUoKTsKLQogICAgICAg
ICBtX3JlY3Vyc2lvbisrOwogICAgICAgICByZXN1bHQgPSBzY3JpcHQtPlJ1bigpOwogICAgICAg
ICBtX3JlY3Vyc2lvbi0tOwpAQCAtNDc0LDEzICs0NzEsNiBAQCB2ODo6TG9jYWw8djg6OlZhbHVl
PiBWOFByb3h5OjpjYWxsRnVuY3RpCiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAg
ICB9CiAKLSAgICAgICAgLy8gRXZhbHVhdGluZyB0aGUgSmF2YVNjcmlwdCBjb3VsZCBjYXVzZSB0
aGUgZnJhbWUgdG8gYmUgZGVhbGxvY2F0ZWQsCi0gICAgICAgIC8vIHNvIHdlIHN0YXJ0IHRoZSBr
ZWVwIGFsaXZlIHRpbWVyIGhlcmUuCi0gICAgICAgIC8vIEZyYW1lOjprZWVwQWxpdmUgbWV0aG9k
IGFkZHMgdGhlIHJlZiBjb3VudCBvZiB0aGUgZnJhbWUgYW5kIHNldHMgYQotICAgICAgICAvLyB0
aW1lciB0byBkZWNyZWFzZSB0aGUgcmVmIGNvdW50LiBJdCBhc3N1bWVzIHRoYXQgdGhlIGN1cnJl
bnQgSmF2YVNjcmlwdAotICAgICAgICAvLyBleGVjdXRpb24gZmluaXNocyBiZWZvcmUgZmlyaW5n
IHRoZSB0aW1lci4KLSAgICAgICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7Ci0KICAgICAgICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZTsKICAgICAgICAgaWYgKEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpIHsKICAgICAgICAgICAgIHY4OjpTY3Jp
cHRPcmlnaW4gb3JpZ2luID0gZnVuY3Rpb24tPkdldFNjcmlwdE9yaWdpbigpOwpAQCAtNTI2LDkg
KzUxNiw2IEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4UHJveHk6Om5ld0luc3RhbmMKICAgICAv
LyBWOFByb3h5OjpjYWxsRnVuY3Rpb24uCiAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gcmVzdWx0
OwogICAgIHsKLSAgICAgICAgLy8gU2VlIGNvbW1lbnQgaW4gVjhQcm94eTo6Y2FsbEZ1bmN0aW9u
LgotICAgICAgICBtX2ZyYW1lLT5rZWVwQWxpdmUoKTsKLQogICAgICAgICByZXN1bHQgPSBjb25z
dHJ1Y3Rvci0+TmV3SW5zdGFuY2UoYXJnYywgYXJncyk7CiAgICAgfQogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcAkocmV2aXNpb24gOTM3MzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU4LDcgKzE1OCw2IEBAIGlubGluZSBGcmFtZTo6RnJh
bWUoUGFnZSogcGFnZSwgSFRNTEZyYW0KICAgICAsIG1fc2VsZWN0aW9uKHRoaXMpCiAgICAgLCBt
X2V2ZW50SGFuZGxlcih0aGlzKQogICAgICwgbV9hbmltYXRpb25Db250cm9sbGVyKHRoaXMpCi0g
ICAgLCBtX2xpZmVTdXBwb3J0VGltZXIodGhpcywgJkZyYW1lOjpsaWZlU3VwcG9ydFRpbWVyRmly
ZWQpCiAgICAgLCBtX3BhZ2Vab29tRmFjdG9yKHBhcmVudFBhZ2Vab29tRmFjdG9yKHRoaXMpKQog
ICAgICwgbV90ZXh0Wm9vbUZhY3RvcihwYXJlbnRUZXh0Wm9vbUZhY3Rvcih0aGlzKSkKICAgICAs
IG1fcGFnZVNjYWxlRmFjdG9yKDEpCkBAIC0yMTgsOCArMjE3LDYgQEAgRnJhbWU6On5GcmFtZSgp
CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIG5vdCBiZSBkb2luZyBhbGwgdGhpcyB3b3JrIGlu
c2lkZSB0aGUgZGVzdHJ1Y3RvcgogCi0gICAgQVNTRVJUKCFtX2xpZmVTdXBwb3J0VGltZXIuaXNB
Y3RpdmUoKSk7Ci0KICNpZm5kZWYgTkRFQlVHCiAgICAgZnJhbWVDb3VudGVyLmRlY3JlbWVudCgp
OwogI2VuZGlmCkBAIC0yNDgsOCArMjQ1LDYgQEAgRnJhbWU6On5GcmFtZSgpCiAgICAgICAgIG1f
dmlldy0+aGlkZSgpOwogICAgICAgICBtX3ZpZXctPmNsZWFyRnJhbWUoKTsKICAgICB9Ci0KLSAg
ICBBU1NFUlQoIW1fbGlmZVN1cHBvcnRUaW1lci5pc0FjdGl2ZSgpKTsKIH0KIAogdm9pZCBGcmFt
ZTo6YWRkRGVzdHJ1Y3Rpb25PYnNlcnZlcihGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIqIG9ic2Vy
dmVyKQpAQCAtNTkwLDQ2ICs1ODUsNiBAQCB2b2lkIEZyYW1lOjppbmplY3RVc2VyU2NyaXB0c0Zv
cldvcmxkKERPCiAgICAgfQogfQogCi0jaWZuZGVmIE5ERUJVRwotc3RhdGljIEhhc2hTZXQ8RnJh
bWUqPiYga2VlcEFsaXZlU2V0KCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEhhc2hTZXQ8
RnJhbWUqPiwgc3RhdGljS2VlcEFsaXZlU2V0LCAoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY0tlZXBB
bGl2ZVNldDsKLX0KLSNlbmRpZgotCi12b2lkIEZyYW1lOjprZWVwQWxpdmUoKQotewotICAgIGlm
IChtX2xpZmVTdXBwb3J0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgcmV0dXJuOwotI2lmbmRl
ZiBOREVCVUcKLSAgICBrZWVwQWxpdmVTZXQoKS5hZGQodGhpcyk7Ci0jZW5kaWYKLSAgICByZWYo
KTsKLSAgICBtX2xpZmVTdXBwb3J0VGltZXIuc3RhcnRPbmVTaG90KDApOwotfQotCi0jaWZuZGVm
IE5ERUJVRwotdm9pZCBGcmFtZTo6Y2FuY2VsQWxsS2VlcEFsaXZlKCkKLXsKLSAgICBIYXNoU2V0
PEZyYW1lKj46Oml0ZXJhdG9yIGVuZCA9IGtlZXBBbGl2ZVNldCgpLmVuZCgpOwotICAgIGZvciAo
SGFzaFNldDxGcmFtZSo+OjppdGVyYXRvciBpdCA9IGtlZXBBbGl2ZVNldCgpLmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkgewotICAgICAgICBGcmFtZSogZnJhbWUgPSAqaXQ7Ci0gICAgICAgIGZy
YW1lLT5tX2xpZmVTdXBwb3J0VGltZXIuc3RvcCgpOwotICAgICAgICBmcmFtZS0+ZGVyZWYoKTsK
LSAgICB9Ci0gICAga2VlcEFsaXZlU2V0KCkuY2xlYXIoKTsKLX0KLSNlbmRpZgotCi12b2lkIEZy
YW1lOjpsaWZlU3VwcG9ydFRpbWVyRmlyZWQoVGltZXI8RnJhbWU+KikKLXsKLSNpZm5kZWYgTkRF
QlVHCi0gICAga2VlcEFsaXZlU2V0KCkucmVtb3ZlKHRoaXMpOwotI2VuZGlmCi0gICAgZGVyZWYo
KTsKLX0KLQogdm9pZCBGcmFtZTo6Y2xlYXJET01XaW5kb3coKQogewogICAgIGlmIChtX2RvbVdp
bmRvdykgewpAQCAtNzUzLDEwICs3MDgsNiBAQCB2b2lkIEZyYW1lOjpwYWdlRGVzdHJveWVkKCkK
ICAgICBpZiAocGFnZSgpICYmIHBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRGcmFt
ZSgpID09IHRoaXMpCiAgICAgICAgIHBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPnNldEZvY3Vz
ZWRGcmFtZSgwKTsKIAotICAgIC8vIEZJWE1FOiBSZW1vdmluZyBrZWVwYWxpdmUgd2lsbCBtYWtl
IGJlaGF2aW9yIGJldHRlciBtYXRjaCBGaXJlZm94LgotICAgIC8vIFNvbWUgY29kZSB0aGF0IHVz
ZWQgdG8gYmUgaGVyZSBpbmRpcmVjdGx5IHRyaWdnZXJlZCBrZWVwYWxpdmUsIGFuZCB3ZSBkb24n
dCB3YW50IHRvIGNoYW5nZSBiZWhhdmlvciBhdCB0aGUgbW9tZW50LgotICAgIGtlZXBBbGl2ZSgp
OwotCiAgICAgc2NyaXB0KCktPmNsZWFyU2NyaXB0T2JqZWN0cygpOwogICAgIHNjcmlwdCgpLT51
cGRhdGVQbGF0Zm9ybVNjcmlwdE9iamVjdHMoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAkocmV2
aXNpb24gOTM3MzEpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE1Myw5ICsxNTMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wg
aW5WaWV3U291cmNlTW9kZSgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldEluVmlld1NvdXJjZU1v
ZGUoYm9vbCA9IHRydWUpOwogCi0gICAgICAgIHZvaWQga2VlcEFsaXZlKCk7IC8vIFVzZWQgdG8g
a2VlcCB0aGUgZnJhbWUgYWxpdmUgd2hlbiBydW5uaW5nIGEgc2NyaXB0IHRoYXQgbWlnaHQgZGVz
dHJveSBpdC4KLSAgICAgICAgc3RhdGljIHZvaWQgY2FuY2VsQWxsS2VlcEFsaXZlKCk7Ci0KICAg
ICAgICAgdm9pZCBzZXREb2N1bWVudChQYXNzUmVmUHRyPERvY3VtZW50Pik7CiAKICAgICAgICAg
dm9pZCBzZXRQYWdlWm9vbUZhY3RvcihmbG9hdCBmYWN0b3IpOwpAQCAtMjE5LDcgKzIxNiw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRnJhbWUoUGFnZSosIEhUTUxGcmFtZU93bmVy
RWxlbWVudCosIEZyYW1lTG9hZGVyQ2xpZW50Kik7CiAKICAgICAgICAgdm9pZCBpbmplY3RVc2Vy
U2NyaXB0c0ZvcldvcmxkKERPTVdyYXBwZXJXb3JsZCosIGNvbnN0IFVzZXJTY3JpcHRWZWN0b3Im
LCBVc2VyU2NyaXB0SW5qZWN0aW9uVGltZSk7Ci0gICAgICAgIHZvaWQgbGlmZVN1cHBvcnRUaW1l
ckZpcmVkKFRpbWVyPEZyYW1lPiopOwogCiAgICAgICAgIEhhc2hTZXQ8RnJhbWVEZXN0cnVjdGlv
bk9ic2VydmVyKj4gbV9kZXN0cnVjdGlvbk9ic2VydmVyczsKIApAQCAtMjQyLDggKzIzOCw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgbXV0YWJsZSBFdmVudEhhbmRsZXIgbV9ldmVu
dEhhbmRsZXI7CiAgICAgICAgIG11dGFibGUgQW5pbWF0aW9uQ29udHJvbGxlciBtX2FuaW1hdGlv
bkNvbnRyb2xsZXI7CiAKLSAgICAgICAgVGltZXI8RnJhbWU+IG1fbGlmZVN1cHBvcnRUaW1lcjsK
LQogICAgICAgICBmbG9hdCBtX3BhZ2Vab29tRmFjdG9yOwogICAgICAgICBmbG9hdCBtX3RleHRa
b29tRmFjdG9yOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHJldmlzaW9uIDkzNzMxKQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjAzLDExICsy
MDMsNiBAQCBQYWdlOjp+UGFnZSgpCiAKICNpZm5kZWYgTkRFQlVHCiAgICAgcGFnZUNvdW50ZXIu
ZGVjcmVtZW50KCk7Ci0KLSAgICAvLyBDYW5jZWwga2VlcEFsaXZlIHRpbWVycywgdG8gZW5zdXJl
IHdlIHJlbGVhc2UgYWxsIEZyYW1lcyBiZWZvcmUgZXhpdGluZy4KLSAgICAvLyBJdCdzIHNhZmUg
dG8gZG8gdGhpcyBiZWNhdXNlIHdlIHByb2hpYml0IGNsb3NpbmcgYSBQYWdlIHdoaWxlIEphdmFT
Y3JpcHQKLSAgICAvLyBpcyBleGVjdXRpbmcuCi0gICAgRnJhbWU6OmNhbmNlbEFsbEtlZXBBbGl2
ZSgpOwogI2VuZGlmCiB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNzMyKQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDgtMjQg
IEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBv
ZiBmcmFtZSBsaWZlIHN1cHBvcnQgdGltZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY2ODc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9yZXNvdXJjZXMveG1saHR0cHJlcXVlc3QtY29u
c3RydWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZnJhbWUuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1leHBl
Y3RlZC50eHQ6CisgICAgICAgIFRoZSB0ZXN0IHVzZWQgdG8gYWNjZXNzIFhNTEh0dHBSZXF1ZXN0
IGNvbnN0cnVjdG9yIGZyb20gYSBkZXRhY2hlZCBmcmFtZS4gTW9kaWZpZWQgdGhlIHRlc3QKKyAg
ICAgICAgdG8gYWxzbyB0cnkgYSBzdG9yZWQgY29uc3RydWN0b3IsIGFuZCBhZGRlZCBhbiBlcnJv
ciB0aGF0J3MgY2xvZ2dlZCB3aGVuIHRyeWluZyB0aGF0IGluIGEKKyAgICAgICAgZGV0YWNoZWQg
ZnJhbWUgdG8gdGVzdCBvdXRwdXQuCisKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9kZXRhY2hlZC1m
cmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVz
L2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWw6IEFkZGVkLgorICAgICAgICBBZGRlZCBhIHRl
c3QgdG8gY2hlY2sgZm9yIHRoZSBuZXcsIG1vcmUgY29tcGF0aWJsZSBiZWhhdmlvci4KKworICAg
ICAgICAqIGZhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5odG1sOgorICAgICAg
ICBTdG9yZSBhIHJlZmVyZW5jZSB0byBsb2NhbFN0b3JhZ2UgYmVmb3JlIGRldGFjaGluZyBhIGZy
YW1lLCBhcyBpdCB3b24ndCBiZSBhdmFpbGFibGUKKyAgICAgICAgYWZ0ZXJ3YXJkcyBhbnkgbW9y
ZS4KKwogMjAxMS0wOC0yNCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAog
ICAgICAgICBQbHVnLWluIHRlc3RzIGFyZSBmbGFreSBvbiBNYWMKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZG9tL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS94bWxodHRw
cmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDkzNzMxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20veG1saHR0cHJlcXVlc3QtY29u
c3RydWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBSZWZlcmVuY2VFcnJv
cjogWE1MSHR0cFJlcXVlc3QgY29uc3RydWN0b3IgYXNzb2NpYXRlZCBkb2N1bWVudCBpcyB1bmF2
YWlsYWJsZQogVGV4dCBmb3IgYnVnIDI1MjkwOiBDcmFzaCB3aGVuIGNvbnN0cnVjdGluZyBYTUxI
dHRwUmVxdWVzdCBpbiBhIGRldGFjaGVkIGRvY3VtZW50LgogCiBQQVNTCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9yZXNvdXJjZXMveG1saHR0cHJlcXVlc3QtY29uc3RydWN0b3ItaW4tZGV0
YWNoZWQtZG9jdW1lbnQtZnJhbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9yZXNvdXJjZXMveG1saHR0cHJlcXVlc3QtY29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9j
dW1lbnQtZnJhbWUuaHRtbAkocmV2aXNpb24gOTM3MzEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9yZXNvdXJjZXMveG1saHR0cHJlcXVlc3QtY29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1l
bnQtZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNCw4ICs0LDEzIEBACiAgICAgeGhyLm9u
cmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKGV2dCkgewogICAgICAgICBpZiAoZXZ0LnRhcmdl
dC5yZWFkeVN0YXRlID09IDQpIHsKICAgICAgICAgICAgIHBhcmVudC5zZXRUaW1lb3V0KCJwYXNz
KCkiLCAwKTsKKyAgICAgICAgICAgIHZhciB4aHJDb25zdHJ1Y3RvciA9IFhNTEh0dHBSZXF1ZXN0
OyAvLyBUaGUgY29uc3RydWN0b3IgbWF5IG5vdCBiZSByZWFjaGFibGUgYXMgd2luZG93IG9iamVj
dCBwcm9wZXJ0eSBhZnRlciBkZXRhY2hpbmcgdGhlIGZyYW1lLgogICAgICAgICAgICAgcGFyZW50
LmRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQocGFyZW50LmRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCJpZnJhbWUiKVswXSk7Ci0gICAgICAgICAgICB2YXIgcmVxID0gbmV3IFhNTEh0dHBS
ZXF1ZXN0OworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICB2YXIgcmVxID0gbmV3
IFhNTEh0dHBSZXF1ZXN0OworICAgICAgICAgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgICAg
ICAgICB2YXIgcmVxID0gbmV3IHhockNvbnN0cnVjdG9yOworICAgICAgICAgICAgfQogICAgICAg
ICAgICAgcmVxLm9wZW4oIkdFVCIsICJ4bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRh
Y2hlZC1kb2N1bWVudC1mcmFtZS5odG1sIiwgZmFsc2UpOwogICAgICAgICAgICAgcmVxLnNlbmQo
bnVsbCk7CiAgICAgICAgIH0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVk
LWZyYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorVGVzdCB0aGF0IHByb3Bl
cnRpZXMgaW4gYSBkZXRhY2hlZCBzdWJmcmFtZSBiZWNvbWUgdW5hdmFpbGFibGUgaW1tZWRpYXRl
bHkuCisKK1BBU1MKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L3BsYWluCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsg
bmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJv
cGVydHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hl
ZC1mcmFtZS1wcm9wZXJ0eS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHkuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxNCBAQAorPHA+VGVzdCB0aGF0IHByb3BlcnRpZXMgaW4gYSBkZXRhY2hlZCBzdWJmcmFtZSBi
ZWNvbWUgdW5hdmFpbGFibGUgaW1tZWRpYXRlbHkuPC9wPgorPHNjcmlwdD4KK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworCitvbmxvYWQgPSBmdW5jdGlvbigpCit7CisgICAgdmFyIGNoaWxkV2luZG93ID0gZnJh
bWVzWzBdOworICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmVzdWx0IikuaW5uZXJIVE1MID0gY2hpbGRXaW5kb3cuWE1MSHR0cFJlcXVlc3QgPyAiRkFJTCIg
OiAiUEFTUyI7Cit9Cis8L3NjcmlwdD4KKzxkaXYgaWQ9InJlc3VsdCI+RkFJTDogU2NyaXB0IGRp
ZCBub3QgcnVuPC9kaXY+Cis8aWZyYW1lIHNyYz0iYWJvdXQ6YmxhbmsiPjwvaWZyYW1lPgoKUHJv
cGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUt
cHJvcGVydHkuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9o
dG1sCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zdG9yYWdlL3N0b3JhZ2UtZGV0YWNoZWQtaWZy
YW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zdG9yYWdlL3N0b3JhZ2Ut
ZGV0YWNoZWQtaWZyYW1lLmh0bWwJKHJldmlzaW9uIDkzNzMxKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9zdG9yYWdlL3N0b3JhZ2UtZGV0YWNoZWQtaWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTI2LDkgKzI2LDEwIEBACiAgICAgICAgICAgdDEgPSBvcGVuSWZyYW1lKCk7CiAgICAgICAgICAg
dmFyIGEgPSB0MS5jb250ZW50V2luZG93LmZyYW1lczsKICAgICAgICAgICB2YXIgYiA9IHQxLmNv
bnRlbnREb2N1bWVudC5kZWZhdWx0Vmlldy5sb2NhbFN0b3JhZ2U7CisgICAgICAgICAgdmFyIGFf
bG9jYWxTdG9yYWdlID0gYS5sb2NhbFN0b3JhZ2U7IC8vIFRoZSBjb25zdHJ1Y3RvciB3b24ndCBi
ZSByZWFjaGFibGUgYXMgd2luZG93IG9iamVjdCBwcm9wZXJ0eSBhZnRlciBkZXRhY2hpbmcgdGhl
IGZyYW1lLgogCiAgICAgICAgICAgdDEub3V0ZXJUZXh0ID0gIiI7Ci0gICAgICAgICAgYS5sb2Nh
bFN0b3JhZ2UuZnV6ejNfdmlzaXRlZD0idGVzdCI7CisgICAgICAgICAgYV9sb2NhbFN0b3JhZ2Uu
ZnV6ejNfdmlzaXRlZD0idGVzdCI7CiAgICAgICB9CiAKICAgICAgIGZ1bmN0aW9uIHJ1blRlc3Rz
KCkgewo=
</data>
<flag name="commit-queue"
          id="101331"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105289</attachid>
            <date>2011-08-25 18:54:16 -0700</date>
            <delta_ts>2011-08-25 18:57:51 -0700</delta_ts>
            <desc>Lets see if it fixes v8 crashes</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>18249</size>
            <attacher name="Dmitry Titov">dimich</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwYzMxMzhlLi4yZDFlNGJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDgt
MjUgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJp
ZCBvZiBmcmFtZSBsaWZlIHN1cHBvcnQgdGltZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9yZXNvdXJjZXMveG1saHR0cHJlcXVlc3Qt
Y29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZnJhbWUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1l
eHBlY3RlZC50eHQ6CisgICAgICAgIFRoZSB0ZXN0IHVzZWQgdG8gYWNjZXNzIFhNTEh0dHBSZXF1
ZXN0IGNvbnN0cnVjdG9yIGZyb20gYSBkZXRhY2hlZCBmcmFtZS4gTW9kaWZpZWQgdGhlIHRlc3QK
KyAgICAgICAgdG8gYWxzbyB0cnkgYSBzdG9yZWQgY29uc3RydWN0b3IsIGFuZCBhZGRlZCBhbiBl
cnJvciB0aGF0J3MgY2xvZ2dlZCB3aGVuIHRyeWluZyB0aGF0IGluIGEKKyAgICAgICAgZGV0YWNo
ZWQgZnJhbWUgdG8gdGVzdCBvdXRwdXQuCisKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9kZXRhY2hl
ZC1mcmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJh
bWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWw6IEFkZGVkLgorICAgICAgICBBZGRlZCBh
IHRlc3QgdG8gY2hlY2sgZm9yIHRoZSBuZXcsIG1vcmUgY29tcGF0aWJsZSBiZWhhdmlvci4KKwor
ICAgICAgICAqIGZhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5odG1sOgorICAg
ICAgICBTdG9yZSBhIHJlZmVyZW5jZSB0byBsb2NhbFN0b3JhZ2UgYmVmb3JlIGRldGFjaGluZyBh
IGZyYW1lLCBhcyBpdCB3b24ndCBiZSBhdmFpbGFibGUKKyAgICAgICAgYWZ0ZXJ3YXJkcyBhbnkg
bW9yZS4KKwogMjAxMS0wOC0yNSAgUGV0ZXIgS2FzdGluZyAgPHBrYXN0aW5nQGdvb2dsZS5jb20+
CiAKICAgICAgICAgW2Nocm9taXVtXSBUZXN0IGV4cGVjdGF0aW9uIHVwZGF0ZXMuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZXNvdXJjZXMveG1saHR0cHJlcXVlc3QtY29uc3Ry
dWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3Jlc291cmNlcy94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1
bWVudC1mcmFtZS5odG1sCmluZGV4IDQ4NWE1YjAuLjJlMzM3NjQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3Jlc291cmNlcy94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1k
ZXRhY2hlZC1kb2N1bWVudC1mcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Jl
c291cmNlcy94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1m
cmFtZS5odG1sCkBAIC00LDggKzQsMTMgQEAKICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0g
ZnVuY3Rpb24oZXZ0KSB7CiAgICAgICAgIGlmIChldnQudGFyZ2V0LnJlYWR5U3RhdGUgPT0gNCkg
ewogICAgICAgICAgICAgcGFyZW50LnNldFRpbWVvdXQoInBhc3MoKSIsIDApOworICAgICAgICAg
ICAgdmFyIHhockNvbnN0cnVjdG9yID0gWE1MSHR0cFJlcXVlc3Q7IC8vIFRoZSBjb25zdHJ1Y3Rv
ciBtYXkgbm90IGJlIHJlYWNoYWJsZSBhcyB3aW5kb3cgb2JqZWN0IHByb3BlcnR5IGFmdGVyIGRl
dGFjaGluZyB0aGUgZnJhbWUuCiAgICAgICAgICAgICBwYXJlbnQuZG9jdW1lbnQuYm9keS5yZW1v
dmVDaGlsZChwYXJlbnQuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpWzBd
KTsKLSAgICAgICAgICAgIHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CisgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgIHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Cisg
ICAgICAgICAgICB9IGNhdGNoIChleCkgeworICAgICAgICAgICAgICAgIHZhciByZXEgPSBuZXcg
eGhyQ29uc3RydWN0b3I7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXEub3BlbigiR0VU
IiwgInhtbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZyYW1l
Lmh0bWwiLCBmYWxzZSk7CiAgICAgICAgICAgICByZXEuc2VuZChudWxsKTsKICAgICAgICAgfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20veG1saHR0cHJlcXVlc3QtY29uc3RydWN0
b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20veG1saHR0cHJlcXVlc3QtY29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZXhwZWN0
ZWQudHh0CmluZGV4IDZmYzMxYzIuLmI0ZWYzNGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS94bWxodHRwcmVxdWVzdC1jb25z
dHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBA
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IFJlZmVyZW5jZUVycm9yOiBYTUxIdHRwUmVxdWVz
dCBjb25zdHJ1Y3RvciBhc3NvY2lhdGVkIGRvY3VtZW50IGlzIHVuYXZhaWxhYmxlCiBUZXh0IGZv
ciBidWcgMjUyOTA6IENyYXNoIHdoZW4gY29uc3RydWN0aW5nIFhNTEh0dHBSZXF1ZXN0IGluIGEg
ZGV0YWNoZWQgZG9jdW1lbnQuCiAKIFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDgzOWJkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNCBAQAorVGVzdCB0aGF0IHByb3BlcnRpZXMgaW4gYSBkZXRhY2hlZCBz
dWJmcmFtZSBiZWNvbWUgdW5hdmFpbGFibGUgaW1tZWRpYXRlbHkuCisKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHkuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjlmNjQ0MwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0
bWwKQEAgLTAsMCArMSwxNCBAQAorPHA+VGVzdCB0aGF0IHByb3BlcnRpZXMgaW4gYSBkZXRhY2hl
ZCBzdWJmcmFtZSBiZWNvbWUgdW5hdmFpbGFibGUgaW1tZWRpYXRlbHkuPC9wPgorPHNjcmlwdD4K
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworCitvbmxvYWQgPSBmdW5jdGlvbigpCit7CisgICAgdmFyIGNoaWxk
V2luZG93ID0gZnJhbWVzWzBdOworICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdKTsKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gY2hpbGRXaW5kb3cuWE1MSHR0cFJlcXVl
c3QgPyAiRkFJTCIgOiAiUEFTUyI7Cit9Cis8L3NjcmlwdD4KKzxkaXYgaWQ9InJlc3VsdCI+RkFJ
TDogU2NyaXB0IGRpZCBub3QgcnVuPC9kaXY+Cis8aWZyYW1lIHNyYz0iYWJvdXQ6YmxhbmsiPjwv
aWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zdG9yYWdlL3N0b3JhZ2UtZGV0
YWNoZWQtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3N0b3JhZ2Uvc3RvcmFnZS1kZXRh
Y2hlZC1pZnJhbWUuaHRtbAppbmRleCA4ODVmYWFjOS4uNmJjNjZkYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9zdG9yYWdlL3N0b3JhZ2UtZGV0YWNoZWQtaWZyYW1lLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9zdG9yYWdlL3N0b3JhZ2UtZGV0YWNoZWQtaWZyYW1lLmh0bWwKQEAg
LTI2LDkgKzI2LDEwIEBACiAgICAgICAgICAgdDEgPSBvcGVuSWZyYW1lKCk7CiAgICAgICAgICAg
dmFyIGEgPSB0MS5jb250ZW50V2luZG93LmZyYW1lczsKICAgICAgICAgICB2YXIgYiA9IHQxLmNv
bnRlbnREb2N1bWVudC5kZWZhdWx0Vmlldy5sb2NhbFN0b3JhZ2U7CisgICAgICAgICAgdmFyIGFf
bG9jYWxTdG9yYWdlID0gYS5sb2NhbFN0b3JhZ2U7IC8vIFRoZSBjb25zdHJ1Y3RvciB3b24ndCBi
ZSByZWFjaGFibGUgYXMgd2luZG93IG9iamVjdCBwcm9wZXJ0eSBhZnRlciBkZXRhY2hpbmcgdGhl
IGZyYW1lLgogCiAgICAgICAgICAgdDEub3V0ZXJUZXh0ID0gIiI7Ci0gICAgICAgICAgYS5sb2Nh
bFN0b3JhZ2UuZnV6ejNfdmlzaXRlZD0idGVzdCI7CisgICAgICAgICAgYV9sb2NhbFN0b3JhZ2Uu
ZnV6ejNfdmlzaXRlZD0idGVzdCI7CiAgICAgICB9CiAKICAgICAgIGZ1bmN0aW9uIHJ1blRlc3Rz
KCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggMjliZmNkOC4uNTBlMmVjNSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDgtMjQgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiBmcmFtZSBs
aWZlIHN1cHBvcnQgdGltZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY2ODc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogSmF2YVNjcmlw
dENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAg
Z2xvYmFsRXhlYygpIG5vIGxvbmdlciBuZWVkcyB0byBiZSB2aXJ0dWFsLCBpdHMgb25seSBvdmVy
cmlkZSB3YXMgaW4gSlNET01XaW5kb3dCYXNlLgorCiAyMDExLTA4LTI0ICBKdWFuIEMuIE1vbnRl
bWF5b3IgIDxqbW9udEBhcHBsZS5jb20+CiAKICAgICAgICAgS2VlcCB0cmFjayBvZiB0b3BDYWxs
RnJhbWUgZm9yIFN0YWNrIHRyYWNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCBhZDFmMjQ0Li45OGMwNWU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmRlZgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAtMjA0
LDcgKzIwNCw2IEBAIEVYUE9SVFMKICAgICA/Z2V0U3RyaW5nQEpTQ2VsbEBKU0NAQFFCRV9OUEFW
RXhlY1N0YXRlQDJAQUFWVVN0cmluZ0AyQEBaCiAgICAgP2dldFVJbnQzMkBKU0NlbGxASlNDQEBV
QkVfTkFBSUBaCiAgICAgP2dldHRlckBQcm9wZXJ0eURlc2NyaXB0b3JASlNDQEBRQkU/QVZKU1Zh
bHVlQDJAWFoKLSAgICA/Z2xvYmFsRXhlY0BKU0dsb2JhbE9iamVjdEBKU0NAQFVBRVBBVkV4ZWNT
dGF0ZUAyQFhaCiAgICAgP2dsb2JhbE9iamVjdEBKU09iamVjdFdpdGhHbG9iYWxPYmplY3RASlND
QEBRQkVQQVZKU0dsb2JhbE9iamVjdEAyQFhaCiAgICAgP2dsb2JhbE9iamVjdENvdW50QEhlYXBA
SlNDQEBRQUVJWFoKICAgICA/Z3Jvd0BIYW5kbGVIZWFwQEpTQ0BAQUFFWFhaCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCAyNGFhNWM0Li5j
MjMwZDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmgKQEAgLTI2Miw3ICsyNjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNHbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKLSAgICAg
ICAgdmlydHVhbCBFeGVjU3RhdGUqIGdsb2JhbEV4ZWMoKTsKKyAgICAgICAgRXhlY1N0YXRlKiBn
bG9iYWxFeGVjKCk7CiAKICAgICAgICAgdmlydHVhbCBib29sIHNob3VsZEludGVycnVwdFNjcmlw
dCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDJhNWRlNjguLmNmOWY4
MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMS0wOC0yNSAgQWxleGV5IFByb3Nr
dXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIGZyYW1lIGxpZmUg
c3VwcG9ydCB0aW1lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjY4NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0OiBmYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS5odG1sCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENv
bnRyb2xsZXIuY3BwOiAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldvcmxk
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcDogKFdlYkNvcmU6
OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OnJ1blNjcmlwdCk6CisgICAgICAg
IChXZWJDb3JlOjpWOFByb3h5OjpjYWxsRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6VjhQ
cm94eTo6bmV3SW5zdGFuY2UpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWU6OkZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjp+RnJhbWUp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OnBhZ2VEZXN0cm95ZWQpOgorICAgICAgICAqIHBh
Z2UvRnJhbWUuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOiAoV2ViQ29yZTo6UGFnZTo6flBh
Z2UpOgorICAgICAgICBSZW1vdmVkIGFsbCBjb2RlIHRoYXQgZGVhbHQgd2l0aCB0aGUgbGlmZSBz
dXBwb3J0IHRpbWVyLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNw
cDogKFdlYkNvcmU6OkpTRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQpOgorICAgICAgICBSZXBs
YWNlZCByZWYvZGVyZWYgY2FsbHMgb24gc2VsZiB3aXRoIGEgUmVmUHRyLgorCiAyMDExLTA4LTI1
ICBJZ29yIE9saXZlaXJhICA8aWdvci5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAg
IFJvbGxvdXQgcjkzNzk5OiBDYXVzZWQgYmFkIGNsaXBwaW5nIG9uIHRoZSBib3R0b20gb2YgdGFs
bCBnbHlwaHMgaW5zaWRlIGEgYnV0dG9uIGxhYmVsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAppbmRleCA0N2QwMTJhLi45ODJlYjZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKQEAgLTgwLDE1
ICs4MCw2IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpwcmludEVycm9yTWVzc2FnZShjb25zdCBT
dHJpbmcmIG1lc3NhZ2UpIGNvbnN0CiAgICAgcHJpbnRFcnJvck1lc3NhZ2VGb3JGcmFtZShpbXBs
KCktPmZyYW1lKCksIG1lc3NhZ2UpOwogfQogCi1FeGVjU3RhdGUqIEpTRE9NV2luZG93QmFzZTo6
Z2xvYmFsRXhlYygpCi17Ci0gICAgLy8gV2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBhbnkgc2Ny
aXB0IGV4ZWN1dGlvbiBoYXBwZW5pbmcgaW4gdGhpcwotICAgIC8vIGZyYW1lIGRvZXMgbm90IGRl
c3Ryb3kgaXQKLSAgICBpZiAoRnJhbWUgKmZyYW1lID0gaW1wbCgpLT5mcmFtZSgpKQotICAgICAg
ICBmcmFtZS0+a2VlcEFsaXZlKCk7Ci0gICAgcmV0dXJuIEJhc2U6Omdsb2JhbEV4ZWMoKTsKLX0K
LQogYm9vbCBKU0RPTVdpbmRvd0Jhc2U6OnN1cHBvcnRzUHJvZmlsaW5nKCkgY29uc3QKIHsKICNp
ZiAhRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpIHx8ICFFTkFCTEUoSU5TUEVDVE9SKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAppbmRleCA2ODQxMWYw
Li4yZDdjNTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jh
c2UuaApAQCAtNTUsNyArNTUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBy
ZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBwcm90b3R5cGUsIEpTQzo6
VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIEFub255bW91c1Nsb3RD
b3VudCwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIEpTQzo6RXhlY1N0
YXRlKiBnbG9iYWxFeGVjKCk7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c1Byb2ZpbGlu
ZygpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNSaWNoU291cmNlSW5mbygp
IGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW50ZXJydXB0U2NyaXB0KCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVu
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcApp
bmRleCBiNjIxNDVjLi43MTg4MTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRXZlbnRMaXN0ZW5lci5jcHAKQEAgLTEwNCw3ICsxMDQsNyBAQCB2b2lkIEpTRXZlbnRMaXN0
ZW5lcjo6aGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9u
Q29udGV4dAogICAgIH0KIAogICAgIGlmIChjYWxsVHlwZSAhPSBDYWxsVHlwZU5vbmUpIHsKLSAg
ICAgICAgcmVmKCk7CisgICAgICAgIFJlZlB0cjxKU0V2ZW50TGlzdGVuZXI+IHByb3RlY3QodGhp
cyk7CiAKICAgICAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKICAgICAgICAgYXJncy5h
cHBlbmQodG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIGV2ZW50KSk7CkBAIC0xNTEsOCArMTUxLDYg
QEAgdm9pZCBKU0V2ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKICAgICAgICAgICAgICAgICAgICAgZXZlbnQtPnBy
ZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLQotICAgICAgICBkZXJl
ZigpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRD
b250cm9sbGVyLmNwcAppbmRleCA0MmZhYWRlLi44NzAyOWQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMTQ0LDEwICsxNDQsNiBA
QCBTY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZUluV29ybGQoY29uc3QgU2Ny
aXB0U291cmNlQ29kZSYgc291cmNlQ29kZQogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRFdmFsdWF0ZVNjcmlwdChjb29raWUpOwogCi0gICAgLy8gRXZhbHVhdGluZyB0aGUgSmF2
YVNjcmlwdCBjb3VsZCBjYXVzZSB0aGUgZnJhbWUgdG8gYmUgZGVhbGxvY2F0ZWQKLSAgICAvLyBz
byB3ZSBzdGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBoZXJlLgotICAgIG1fZnJhbWUtPmtlZXBB
bGl2ZSgpOwotCiAgICAgaWYgKGNvbXAuY29tcGxUeXBlKCkgPT0gTm9ybWFsIHx8IGNvbXAuY29t
cGxUeXBlKCkgPT0gUmV0dXJuVmFsdWUpIHsKICAgICAgICAgbV9zb3VyY2VVUkwgPSBzYXZlZFNv
dXJjZVVSTDsKICAgICAgICAgcmV0dXJuIFNjcmlwdFZhbHVlKGV4ZWMtPmdsb2JhbERhdGEoKSwg
Y29tcC52YWx1ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29u
dHJvbGxlci5jcHAKaW5kZXggYzdmZWJmYi4uMmM0MDc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTE4OSwxMCArMTg5LDYgQEAg
U2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNl
Q29kZSYgc291cmNlQ29kZSkKIAogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IG9iamVjdCA9IG1f
cHJveHktPmV2YWx1YXRlKHNvdXJjZUNvZGUsIDApOwogCi0gICAgLy8gRXZhbHVhdGluZyB0aGUg
SmF2YVNjcmlwdCBjb3VsZCBjYXVzZSB0aGUgZnJhbWUgdG8gYmUgZGVhbGxvY2F0ZWQKLSAgICAv
LyBzbyB3ZSBzdGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBoZXJlLgotICAgIG1fZnJhbWUtPmtl
ZXBBbGl2ZSgpOwotCiAgICAgbV9zb3VyY2VVUkwgPSBzYXZlZFNvdXJjZVVSTDsKIAogICAgIGlm
IChvYmplY3QuSXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcApp
bmRleCA5NTFmNWFhLi5kMDhmMzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5
LmNwcApAQCAtNDIxLDE0ICs0MjEsMTQgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhQcm94eTo6
cnVuU2NyaXB0KHY4OjpIYW5kbGU8djg6OlNjcmlwdD4gc2NyaXB0LCBib29sIGlzSW4KICAgICBi
b29sIHByZXZpb3VzSW5saW5lQ29kZSA9IGlubGluZUNvZGUoKTsKICAgICBzZXRJbmxpbmVDb2Rl
KGlzSW5saW5lQ29kZSk7CiAKKyAgICAvLyBLZWVwIEZyYW1lIChhbmQgdGhlcmVmb3JlIFNjcmlw
dENvbnRyb2xsZXIgYW5kIFY4UHJveHkpIGFsaXZlLgorICAgIFJlZlB0cjxGcmFtZT5wcm90ZWN0
KGZyYW1lKCkpOworCiAgICAgLy8gUnVuIHRoZSBzY3JpcHQgYW5kIGtlZXAgdHJhY2sgb2YgdGhl
IGN1cnJlbnQgcmVjdXJzaW9uIGRlcHRoLgogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3Vs
dDsKICAgICB2ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2g7CiAgICAgdHJ5Q2F0Y2guU2V0VmVyYm9zZSh0
cnVlKTsKICAgICB7Ci0gICAgICAgIC8vIFNlZSBjb21tZW50IGluIFY4UHJveHk6OmNhbGxGdW5j
dGlvbi4KLSAgICAgICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7Ci0KICAgICAgICAgbV9yZWN1cnNp
b24rKzsKICAgICAgICAgcmVzdWx0ID0gc2NyaXB0LT5SdW4oKTsKICAgICAgICAgbV9yZWN1cnNp
b24tLTsKQEAgLTQ2MSw2ICs0NjEsMTAgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhQcm94eTo6
cnVuU2NyaXB0KHY4OjpIYW5kbGU8djg6OlNjcmlwdD4gc2NyaXB0LCBib29sIGlzSW4KIHY4OjpM
b2NhbDx2ODo6VmFsdWU+IFY4UHJveHk6OmNhbGxGdW5jdGlvbih2ODo6SGFuZGxlPHY4OjpGdW5j
dGlvbj4gZnVuY3Rpb24sIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gcmVjZWl2ZXIsIGludCBhcmdj
LCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJnc1tdKQogewogICAgIFY4R0NDb250cm9sbGVyOjpj
aGVja01lbW9yeVVzYWdlKCk7CisKKyAgICAvLyBLZWVwIEZyYW1lIChhbmQgdGhlcmVmb3JlIFNj
cmlwdENvbnRyb2xsZXIgYW5kIFY4UHJveHkpIGFsaXZlLgorICAgIFJlZlB0cjxGcmFtZT5wcm90
ZWN0KGZyYW1lKCkpOworCiAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gcmVzdWx0OwogICAgIHsK
ICAgICAgICAgaWYgKG1fcmVjdXJzaW9uID49IGtNYXhSZWN1cnNpb25EZXB0aCkgewpAQCAtNDc0
LDEzICs0NzgsNiBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOFByb3h5OjpjYWxsRnVuY3Rpb24o
djg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+IGZ1bmN0aW9uLCB2OAogICAgICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKICAgICAgICAgfQogCi0gICAgICAgIC8vIEV2YWx1YXRpbmcgdGhlIEphdmFTY3Jp
cHQgY291bGQgY2F1c2UgdGhlIGZyYW1lIHRvIGJlIGRlYWxsb2NhdGVkLAotICAgICAgICAvLyBz
byB3ZSBzdGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBoZXJlLgotICAgICAgICAvLyBGcmFtZTo6
a2VlcEFsaXZlIG1ldGhvZCBhZGRzIHRoZSByZWYgY291bnQgb2YgdGhlIGZyYW1lIGFuZCBzZXRz
IGEKLSAgICAgICAgLy8gdGltZXIgdG8gZGVjcmVhc2UgdGhlIHJlZiBjb3VudC4gSXQgYXNzdW1l
cyB0aGF0IHRoZSBjdXJyZW50IEphdmFTY3JpcHQKLSAgICAgICAgLy8gZXhlY3V0aW9uIGZpbmlz
aHMgYmVmb3JlIGZpcmluZyB0aGUgdGltZXIuCi0gICAgICAgIG1fZnJhbWUtPmtlZXBBbGl2ZSgp
OwotCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWU7CiAgICAg
ICAgIGlmIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKSB7CiAgICAg
ICAgICAgICB2ODo6U2NyaXB0T3JpZ2luIG9yaWdpbiA9IGZ1bmN0aW9uLT5HZXRTY3JpcHRPcmln
aW4oKTsKQEAgLTUyNiw5ICs1MjMsNiBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOFByb3h5Ojpu
ZXdJbnN0YW5jZSh2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4gY29uc3RydWN0b3IsCiAgICAgLy8g
VjhQcm94eTo6Y2FsbEZ1bmN0aW9uLgogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3VsdDsK
ICAgICB7Ci0gICAgICAgIC8vIFNlZSBjb21tZW50IGluIFY4UHJveHk6OmNhbGxGdW5jdGlvbi4K
LSAgICAgICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7Ci0KICAgICAgICAgcmVzdWx0ID0gY29uc3Ry
dWN0b3ItPk5ld0luc3RhbmNlKGFyZ2MsIGFyZ3MpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNw
cAppbmRleCA1OTc4Y2Q5Li5iZGRhZTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtMTU4LDcg
KzE1OCw2IEBAIGlubGluZSBGcmFtZTo6RnJhbWUoUGFnZSogcGFnZSwgSFRNTEZyYW1lT3duZXJF
bGVtZW50KiBvd25lckVsZW1lbnQsIEZyYW1lTG9hZGVyCiAgICAgLCBtX3NlbGVjdGlvbih0aGlz
KQogICAgICwgbV9ldmVudEhhbmRsZXIodGhpcykKICAgICAsIG1fYW5pbWF0aW9uQ29udHJvbGxl
cih0aGlzKQotICAgICwgbV9saWZlU3VwcG9ydFRpbWVyKHRoaXMsICZGcmFtZTo6bGlmZVN1cHBv
cnRUaW1lckZpcmVkKQogICAgICwgbV9wYWdlWm9vbUZhY3RvcihwYXJlbnRQYWdlWm9vbUZhY3Rv
cih0aGlzKSkKICAgICAsIG1fdGV4dFpvb21GYWN0b3IocGFyZW50VGV4dFpvb21GYWN0b3IodGhp
cykpCiAgICAgLCBtX3BhZ2VTY2FsZUZhY3RvcigxKQpAQCAtMjE4LDggKzIxNyw2IEBAIEZyYW1l
Ojp+RnJhbWUoKQogCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBub3QgYmUgZG9pbmcgYWxsIHRo
aXMgd29yayBpbnNpZGUgdGhlIGRlc3RydWN0b3IKIAotICAgIEFTU0VSVCghbV9saWZlU3VwcG9y
dFRpbWVyLmlzQWN0aXZlKCkpOwotCiAjaWZuZGVmIE5ERUJVRwogICAgIGZyYW1lQ291bnRlci5k
ZWNyZW1lbnQoKTsKICNlbmRpZgpAQCAtMjQ4LDggKzI0NSw2IEBAIEZyYW1lOjp+RnJhbWUoKQog
ICAgICAgICBtX3ZpZXctPmhpZGUoKTsKICAgICAgICAgbV92aWV3LT5jbGVhckZyYW1lKCk7CiAg
ICAgfQotCi0gICAgQVNTRVJUKCFtX2xpZmVTdXBwb3J0VGltZXIuaXNBY3RpdmUoKSk7CiB9CiAK
IHZvaWQgRnJhbWU6OmFkZERlc3RydWN0aW9uT2JzZXJ2ZXIoRnJhbWVEZXN0cnVjdGlvbk9ic2Vy
dmVyKiBvYnNlcnZlcikKQEAgLTU5MCw0NiArNTg1LDYgQEAgdm9pZCBGcmFtZTo6aW5qZWN0VXNl
clNjcmlwdHNGb3JXb3JsZChET01XcmFwcGVyV29ybGQqIHdvcmxkLCBjb25zdCBVc2VyU2NyaXB0
VmUKICAgICB9CiB9CiAKLSNpZm5kZWYgTkRFQlVHCi1zdGF0aWMgSGFzaFNldDxGcmFtZSo+JiBr
ZWVwQWxpdmVTZXQoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoSGFzaFNldDxGcmFtZSo+
LCBzdGF0aWNLZWVwQWxpdmVTZXQsICgpKTsKLSAgICByZXR1cm4gc3RhdGljS2VlcEFsaXZlU2V0
OwotfQotI2VuZGlmCi0KLXZvaWQgRnJhbWU6OmtlZXBBbGl2ZSgpCi17Ci0gICAgaWYgKG1fbGlm
ZVN1cHBvcnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICByZXR1cm47Ci0jaWZuZGVmIE5ERUJV
RwotICAgIGtlZXBBbGl2ZVNldCgpLmFkZCh0aGlzKTsKLSNlbmRpZgotICAgIHJlZigpOwotICAg
IG1fbGlmZVN1cHBvcnRUaW1lci5zdGFydE9uZVNob3QoMCk7Ci19Ci0KLSNpZm5kZWYgTkRFQlVH
Ci12b2lkIEZyYW1lOjpjYW5jZWxBbGxLZWVwQWxpdmUoKQotewotICAgIEhhc2hTZXQ8RnJhbWUq
Pjo6aXRlcmF0b3IgZW5kID0ga2VlcEFsaXZlU2V0KCkuZW5kKCk7Ci0gICAgZm9yIChIYXNoU2V0
PEZyYW1lKj46Oml0ZXJhdG9yIGl0ID0ga2VlcEFsaXZlU2V0KCkuYmVnaW4oKTsgaXQgIT0gZW5k
OyArK2l0KSB7Ci0gICAgICAgIEZyYW1lKiBmcmFtZSA9ICppdDsKLSAgICAgICAgZnJhbWUtPm1f
bGlmZVN1cHBvcnRUaW1lci5zdG9wKCk7Ci0gICAgICAgIGZyYW1lLT5kZXJlZigpOwotICAgIH0K
LSAgICBrZWVwQWxpdmVTZXQoKS5jbGVhcigpOwotfQotI2VuZGlmCi0KLXZvaWQgRnJhbWU6Omxp
ZmVTdXBwb3J0VGltZXJGaXJlZChUaW1lcjxGcmFtZT4qKQotewotI2lmbmRlZiBOREVCVUcKLSAg
ICBrZWVwQWxpdmVTZXQoKS5yZW1vdmUodGhpcyk7Ci0jZW5kaWYKLSAgICBkZXJlZigpOwotfQot
CiB2b2lkIEZyYW1lOjpjbGVhckRPTVdpbmRvdygpCiB7CiAgICAgaWYgKG1fZG9tV2luZG93KSB7
CkBAIC03NTMsMTAgKzcwOCw2IEBAIHZvaWQgRnJhbWU6OnBhZ2VEZXN0cm95ZWQoKQogICAgIGlm
IChwYWdlKCkgJiYgcGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZEZyYW1lKCkgPT0g
dGhpcykKICAgICAgICAgcGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+c2V0Rm9jdXNlZEZyYW1l
KDApOwogCi0gICAgLy8gRklYTUU6IFJlbW92aW5nIGtlZXBhbGl2ZSB3aWxsIG1ha2UgYmVoYXZp
b3IgYmV0dGVyIG1hdGNoIEZpcmVmb3guCi0gICAgLy8gU29tZSBjb2RlIHRoYXQgdXNlZCB0byBi
ZSBoZXJlIGluZGlyZWN0bHkgdHJpZ2dlcmVkIGtlZXBhbGl2ZSwgYW5kIHdlIGRvbid0IHdhbnQg
dG8gY2hhbmdlIGJlaGF2aW9yIGF0IHRoZSBtb21lbnQuCi0gICAga2VlcEFsaXZlKCk7Ci0KICAg
ICBzY3JpcHQoKS0+Y2xlYXJTY3JpcHRPYmplY3RzKCk7CiAgICAgc2NyaXB0KCktPnVwZGF0ZVBs
YXRmb3JtU2NyaXB0T2JqZWN0cygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKaW5kZXggYTYzMjk4OC4uMzVm
ZThhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApAQCAtMTUzLDkgKzE1Myw2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgYm9vbCBpblZpZXdTb3VyY2VNb2RlKCkgY29uc3Q7CiAgICAgICAgIHZv
aWQgc2V0SW5WaWV3U291cmNlTW9kZShib29sID0gdHJ1ZSk7CiAKLSAgICAgICAgdm9pZCBrZWVw
QWxpdmUoKTsgLy8gVXNlZCB0byBrZWVwIHRoZSBmcmFtZSBhbGl2ZSB3aGVuIHJ1bm5pbmcgYSBz
Y3JpcHQgdGhhdCBtaWdodCBkZXN0cm95IGl0LgotICAgICAgICBzdGF0aWMgdm9pZCBjYW5jZWxB
bGxLZWVwQWxpdmUoKTsKLQogICAgICAgICB2b2lkIHNldERvY3VtZW50KFBhc3NSZWZQdHI8RG9j
dW1lbnQ+KTsKIAogICAgICAgICB2b2lkIHNldFBhZ2Vab29tRmFjdG9yKGZsb2F0IGZhY3Rvcik7
CkBAIC0yMTksNyArMjE2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBGcmFtZShQ
YWdlKiwgSFRNTEZyYW1lT3duZXJFbGVtZW50KiwgRnJhbWVMb2FkZXJDbGllbnQqKTsKIAogICAg
ICAgICB2b2lkIGluamVjdFVzZXJTY3JpcHRzRm9yV29ybGQoRE9NV3JhcHBlcldvcmxkKiwgY29u
c3QgVXNlclNjcmlwdFZlY3RvciYsIFVzZXJTY3JpcHRJbmplY3Rpb25UaW1lKTsKLSAgICAgICAg
dm9pZCBsaWZlU3VwcG9ydFRpbWVyRmlyZWQoVGltZXI8RnJhbWU+Kik7CiAKICAgICAgICAgSGFz
aFNldDxGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIqPiBtX2Rlc3RydWN0aW9uT2JzZXJ2ZXJzOwog
CkBAIC0yNDIsOCArMjM4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBtdXRhYmxl
IEV2ZW50SGFuZGxlciBtX2V2ZW50SGFuZGxlcjsKICAgICAgICAgbXV0YWJsZSBBbmltYXRpb25D
b250cm9sbGVyIG1fYW5pbWF0aW9uQ29udHJvbGxlcjsKIAotICAgICAgICBUaW1lcjxGcmFtZT4g
bV9saWZlU3VwcG9ydFRpbWVyOwotCiAgICAgICAgIGZsb2F0IG1fcGFnZVpvb21GYWN0b3I7CiAg
ICAgICAgIGZsb2F0IG1fdGV4dFpvb21GYWN0b3I7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGRh
M2EyNDYuLjZkMWYyOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjAzLDExICsyMDMsNiBAQCBQ
YWdlOjp+UGFnZSgpCiAKICNpZm5kZWYgTkRFQlVHCiAgICAgcGFnZUNvdW50ZXIuZGVjcmVtZW50
KCk7Ci0KLSAgICAvLyBDYW5jZWwga2VlcEFsaXZlIHRpbWVycywgdG8gZW5zdXJlIHdlIHJlbGVh
c2UgYWxsIEZyYW1lcyBiZWZvcmUgZXhpdGluZy4KLSAgICAvLyBJdCdzIHNhZmUgdG8gZG8gdGhp
cyBiZWNhdXNlIHdlIHByb2hpYml0IGNsb3NpbmcgYSBQYWdlIHdoaWxlIEphdmFTY3JpcHQKLSAg
ICAvLyBpcyBleGVjdXRpbmcuCi0gICAgRnJhbWU6OmNhbmNlbEFsbEtlZXBBbGl2ZSgpOwogI2Vu
ZGlmCiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105290</attachid>
            <date>2011-08-25 18:57:51 -0700</date>
            <delta_ts>2011-08-26 12:24:40 -0700</delta_ts>
            <desc>Same, with style fix.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>18251</size>
            <attacher name="Dmitry Titov">dimich</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwYzMxMzhlLi4yZDFlNGJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDgt
MjUgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJp
ZCBvZiBmcmFtZSBsaWZlIHN1cHBvcnQgdGltZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9yZXNvdXJjZXMveG1saHR0cHJlcXVlc3Qt
Y29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZnJhbWUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2RvbS94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1l
eHBlY3RlZC50eHQ6CisgICAgICAgIFRoZSB0ZXN0IHVzZWQgdG8gYWNjZXNzIFhNTEh0dHBSZXF1
ZXN0IGNvbnN0cnVjdG9yIGZyb20gYSBkZXRhY2hlZCBmcmFtZS4gTW9kaWZpZWQgdGhlIHRlc3QK
KyAgICAgICAgdG8gYWxzbyB0cnkgYSBzdG9yZWQgY29uc3RydWN0b3IsIGFuZCBhZGRlZCBhbiBl
cnJvciB0aGF0J3MgY2xvZ2dlZCB3aGVuIHRyeWluZyB0aGF0IGluIGEKKyAgICAgICAgZGV0YWNo
ZWQgZnJhbWUgdG8gdGVzdCBvdXRwdXQuCisKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9kZXRhY2hl
ZC1mcmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJh
bWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWw6IEFkZGVkLgorICAgICAgICBBZGRlZCBh
IHRlc3QgdG8gY2hlY2sgZm9yIHRoZSBuZXcsIG1vcmUgY29tcGF0aWJsZSBiZWhhdmlvci4KKwor
ICAgICAgICAqIGZhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5odG1sOgorICAg
ICAgICBTdG9yZSBhIHJlZmVyZW5jZSB0byBsb2NhbFN0b3JhZ2UgYmVmb3JlIGRldGFjaGluZyBh
IGZyYW1lLCBhcyBpdCB3b24ndCBiZSBhdmFpbGFibGUKKyAgICAgICAgYWZ0ZXJ3YXJkcyBhbnkg
bW9yZS4KKwogMjAxMS0wOC0yNSAgUGV0ZXIgS2FzdGluZyAgPHBrYXN0aW5nQGdvb2dsZS5jb20+
CiAKICAgICAgICAgW2Nocm9taXVtXSBUZXN0IGV4cGVjdGF0aW9uIHVwZGF0ZXMuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZXNvdXJjZXMveG1saHR0cHJlcXVlc3QtY29uc3Ry
dWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3Jlc291cmNlcy94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1
bWVudC1mcmFtZS5odG1sCmluZGV4IDQ4NWE1YjAuLjJlMzM3NjQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3Jlc291cmNlcy94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1k
ZXRhY2hlZC1kb2N1bWVudC1mcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Jl
c291cmNlcy94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1m
cmFtZS5odG1sCkBAIC00LDggKzQsMTMgQEAKICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0g
ZnVuY3Rpb24oZXZ0KSB7CiAgICAgICAgIGlmIChldnQudGFyZ2V0LnJlYWR5U3RhdGUgPT0gNCkg
ewogICAgICAgICAgICAgcGFyZW50LnNldFRpbWVvdXQoInBhc3MoKSIsIDApOworICAgICAgICAg
ICAgdmFyIHhockNvbnN0cnVjdG9yID0gWE1MSHR0cFJlcXVlc3Q7IC8vIFRoZSBjb25zdHJ1Y3Rv
ciBtYXkgbm90IGJlIHJlYWNoYWJsZSBhcyB3aW5kb3cgb2JqZWN0IHByb3BlcnR5IGFmdGVyIGRl
dGFjaGluZyB0aGUgZnJhbWUuCiAgICAgICAgICAgICBwYXJlbnQuZG9jdW1lbnQuYm9keS5yZW1v
dmVDaGlsZChwYXJlbnQuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpWzBd
KTsKLSAgICAgICAgICAgIHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CisgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgIHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Cisg
ICAgICAgICAgICB9IGNhdGNoIChleCkgeworICAgICAgICAgICAgICAgIHZhciByZXEgPSBuZXcg
eGhyQ29uc3RydWN0b3I7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXEub3BlbigiR0VU
IiwgInhtbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZyYW1l
Lmh0bWwiLCBmYWxzZSk7CiAgICAgICAgICAgICByZXEuc2VuZChudWxsKTsKICAgICAgICAgfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20veG1saHR0cHJlcXVlc3QtY29uc3RydWN0
b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20veG1saHR0cHJlcXVlc3QtY29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZXhwZWN0
ZWQudHh0CmluZGV4IDZmYzMxYzIuLmI0ZWYzNGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS94bWxodHRwcmVxdWVzdC1jb25z
dHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBA
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IFJlZmVyZW5jZUVycm9yOiBYTUxIdHRwUmVxdWVz
dCBjb25zdHJ1Y3RvciBhc3NvY2lhdGVkIGRvY3VtZW50IGlzIHVuYXZhaWxhYmxlCiBUZXh0IGZv
ciBidWcgMjUyOTA6IENyYXNoIHdoZW4gY29uc3RydWN0aW5nIFhNTEh0dHBSZXF1ZXN0IGluIGEg
ZGV0YWNoZWQgZG9jdW1lbnQuCiAKIFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDgzOWJkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNCBAQAorVGVzdCB0aGF0IHByb3BlcnRpZXMgaW4gYSBkZXRhY2hlZCBz
dWJmcmFtZSBiZWNvbWUgdW5hdmFpbGFibGUgaW1tZWRpYXRlbHkuCisKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHkuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjlmNjQ0MwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0
bWwKQEAgLTAsMCArMSwxNCBAQAorPHA+VGVzdCB0aGF0IHByb3BlcnRpZXMgaW4gYSBkZXRhY2hl
ZCBzdWJmcmFtZSBiZWNvbWUgdW5hdmFpbGFibGUgaW1tZWRpYXRlbHkuPC9wPgorPHNjcmlwdD4K
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworCitvbmxvYWQgPSBmdW5jdGlvbigpCit7CisgICAgdmFyIGNoaWxk
V2luZG93ID0gZnJhbWVzWzBdOworICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdKTsKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gY2hpbGRXaW5kb3cuWE1MSHR0cFJlcXVl
c3QgPyAiRkFJTCIgOiAiUEFTUyI7Cit9Cis8L3NjcmlwdD4KKzxkaXYgaWQ9InJlc3VsdCI+RkFJ
TDogU2NyaXB0IGRpZCBub3QgcnVuPC9kaXY+Cis8aWZyYW1lIHNyYz0iYWJvdXQ6YmxhbmsiPjwv
aWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zdG9yYWdlL3N0b3JhZ2UtZGV0
YWNoZWQtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3N0b3JhZ2Uvc3RvcmFnZS1kZXRh
Y2hlZC1pZnJhbWUuaHRtbAppbmRleCA4ODVmYWFjOS4uNmJjNjZkYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9zdG9yYWdlL3N0b3JhZ2UtZGV0YWNoZWQtaWZyYW1lLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9zdG9yYWdlL3N0b3JhZ2UtZGV0YWNoZWQtaWZyYW1lLmh0bWwKQEAg
LTI2LDkgKzI2LDEwIEBACiAgICAgICAgICAgdDEgPSBvcGVuSWZyYW1lKCk7CiAgICAgICAgICAg
dmFyIGEgPSB0MS5jb250ZW50V2luZG93LmZyYW1lczsKICAgICAgICAgICB2YXIgYiA9IHQxLmNv
bnRlbnREb2N1bWVudC5kZWZhdWx0Vmlldy5sb2NhbFN0b3JhZ2U7CisgICAgICAgICAgdmFyIGFf
bG9jYWxTdG9yYWdlID0gYS5sb2NhbFN0b3JhZ2U7IC8vIFRoZSBjb25zdHJ1Y3RvciB3b24ndCBi
ZSByZWFjaGFibGUgYXMgd2luZG93IG9iamVjdCBwcm9wZXJ0eSBhZnRlciBkZXRhY2hpbmcgdGhl
IGZyYW1lLgogCiAgICAgICAgICAgdDEub3V0ZXJUZXh0ID0gIiI7Ci0gICAgICAgICAgYS5sb2Nh
bFN0b3JhZ2UuZnV6ejNfdmlzaXRlZD0idGVzdCI7CisgICAgICAgICAgYV9sb2NhbFN0b3JhZ2Uu
ZnV6ejNfdmlzaXRlZD0idGVzdCI7CiAgICAgICB9CiAKICAgICAgIGZ1bmN0aW9uIHJ1blRlc3Rz
KCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggMjliZmNkOC4uNTBlMmVjNSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDgtMjQgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiBmcmFtZSBs
aWZlIHN1cHBvcnQgdGltZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY2ODc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogSmF2YVNjcmlw
dENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAg
Z2xvYmFsRXhlYygpIG5vIGxvbmdlciBuZWVkcyB0byBiZSB2aXJ0dWFsLCBpdHMgb25seSBvdmVy
cmlkZSB3YXMgaW4gSlNET01XaW5kb3dCYXNlLgorCiAyMDExLTA4LTI0ICBKdWFuIEMuIE1vbnRl
bWF5b3IgIDxqbW9udEBhcHBsZS5jb20+CiAKICAgICAgICAgS2VlcCB0cmFjayBvZiB0b3BDYWxs
RnJhbWUgZm9yIFN0YWNrIHRyYWNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCBhZDFmMjQ0Li45OGMwNWU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmRlZgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAtMjA0
LDcgKzIwNCw2IEBAIEVYUE9SVFMKICAgICA/Z2V0U3RyaW5nQEpTQ2VsbEBKU0NAQFFCRV9OUEFW
RXhlY1N0YXRlQDJAQUFWVVN0cmluZ0AyQEBaCiAgICAgP2dldFVJbnQzMkBKU0NlbGxASlNDQEBV
QkVfTkFBSUBaCiAgICAgP2dldHRlckBQcm9wZXJ0eURlc2NyaXB0b3JASlNDQEBRQkU/QVZKU1Zh
bHVlQDJAWFoKLSAgICA/Z2xvYmFsRXhlY0BKU0dsb2JhbE9iamVjdEBKU0NAQFVBRVBBVkV4ZWNT
dGF0ZUAyQFhaCiAgICAgP2dsb2JhbE9iamVjdEBKU09iamVjdFdpdGhHbG9iYWxPYmplY3RASlND
QEBRQkVQQVZKU0dsb2JhbE9iamVjdEAyQFhaCiAgICAgP2dsb2JhbE9iamVjdENvdW50QEhlYXBA
SlNDQEBRQUVJWFoKICAgICA/Z3Jvd0BIYW5kbGVIZWFwQEpTQ0BAQUFFWFhaCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCAyNGFhNWM0Li5j
MjMwZDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmgKQEAgLTI2Miw3ICsyNjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNHbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKLSAgICAg
ICAgdmlydHVhbCBFeGVjU3RhdGUqIGdsb2JhbEV4ZWMoKTsKKyAgICAgICAgRXhlY1N0YXRlKiBn
bG9iYWxFeGVjKCk7CiAKICAgICAgICAgdmlydHVhbCBib29sIHNob3VsZEludGVycnVwdFNjcmlw
dCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDJhNWRlNjguLmNmOWY4
MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMS0wOC0yNSAgQWxleGV5IFByb3Nr
dXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIGZyYW1lIGxpZmUg
c3VwcG9ydCB0aW1lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjY4NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0OiBmYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS5odG1sCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENv
bnRyb2xsZXIuY3BwOiAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldvcmxk
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcDogKFdlYkNvcmU6
OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OnJ1blNjcmlwdCk6CisgICAgICAg
IChXZWJDb3JlOjpWOFByb3h5OjpjYWxsRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6VjhQ
cm94eTo6bmV3SW5zdGFuY2UpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWU6OkZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjp+RnJhbWUp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OnBhZ2VEZXN0cm95ZWQpOgorICAgICAgICAqIHBh
Z2UvRnJhbWUuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOiAoV2ViQ29yZTo6UGFnZTo6flBh
Z2UpOgorICAgICAgICBSZW1vdmVkIGFsbCBjb2RlIHRoYXQgZGVhbHQgd2l0aCB0aGUgbGlmZSBz
dXBwb3J0IHRpbWVyLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNw
cDogKFdlYkNvcmU6OkpTRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQpOgorICAgICAgICBSZXBs
YWNlZCByZWYvZGVyZWYgY2FsbHMgb24gc2VsZiB3aXRoIGEgUmVmUHRyLgorCiAyMDExLTA4LTI1
ICBJZ29yIE9saXZlaXJhICA8aWdvci5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAg
IFJvbGxvdXQgcjkzNzk5OiBDYXVzZWQgYmFkIGNsaXBwaW5nIG9uIHRoZSBib3R0b20gb2YgdGFs
bCBnbHlwaHMgaW5zaWRlIGEgYnV0dG9uIGxhYmVsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAppbmRleCA0N2QwMTJhLi45ODJlYjZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKQEAgLTgwLDE1
ICs4MCw2IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpwcmludEVycm9yTWVzc2FnZShjb25zdCBT
dHJpbmcmIG1lc3NhZ2UpIGNvbnN0CiAgICAgcHJpbnRFcnJvck1lc3NhZ2VGb3JGcmFtZShpbXBs
KCktPmZyYW1lKCksIG1lc3NhZ2UpOwogfQogCi1FeGVjU3RhdGUqIEpTRE9NV2luZG93QmFzZTo6
Z2xvYmFsRXhlYygpCi17Ci0gICAgLy8gV2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBhbnkgc2Ny
aXB0IGV4ZWN1dGlvbiBoYXBwZW5pbmcgaW4gdGhpcwotICAgIC8vIGZyYW1lIGRvZXMgbm90IGRl
c3Ryb3kgaXQKLSAgICBpZiAoRnJhbWUgKmZyYW1lID0gaW1wbCgpLT5mcmFtZSgpKQotICAgICAg
ICBmcmFtZS0+a2VlcEFsaXZlKCk7Ci0gICAgcmV0dXJuIEJhc2U6Omdsb2JhbEV4ZWMoKTsKLX0K
LQogYm9vbCBKU0RPTVdpbmRvd0Jhc2U6OnN1cHBvcnRzUHJvZmlsaW5nKCkgY29uc3QKIHsKICNp
ZiAhRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpIHx8ICFFTkFCTEUoSU5TUEVDVE9SKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAppbmRleCA2ODQxMWYw
Li4yZDdjNTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jh
c2UuaApAQCAtNTUsNyArNTUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBy
ZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBwcm90b3R5cGUsIEpTQzo6
VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIEFub255bW91c1Nsb3RD
b3VudCwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIEpTQzo6RXhlY1N0
YXRlKiBnbG9iYWxFeGVjKCk7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c1Byb2ZpbGlu
ZygpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNSaWNoU291cmNlSW5mbygp
IGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW50ZXJydXB0U2NyaXB0KCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlzdGVu
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcApp
bmRleCBiNjIxNDVjLi43MTg4MTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0V2ZW50TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRXZlbnRMaXN0ZW5lci5jcHAKQEAgLTEwNCw3ICsxMDQsNyBAQCB2b2lkIEpTRXZlbnRMaXN0
ZW5lcjo6aGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9u
Q29udGV4dAogICAgIH0KIAogICAgIGlmIChjYWxsVHlwZSAhPSBDYWxsVHlwZU5vbmUpIHsKLSAg
ICAgICAgcmVmKCk7CisgICAgICAgIFJlZlB0cjxKU0V2ZW50TGlzdGVuZXI+IHByb3RlY3QodGhp
cyk7CiAKICAgICAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKICAgICAgICAgYXJncy5h
cHBlbmQodG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIGV2ZW50KSk7CkBAIC0xNTEsOCArMTUxLDYg
QEAgdm9pZCBKU0V2ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKICAgICAgICAgICAgICAgICAgICAgZXZlbnQtPnBy
ZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLQotICAgICAgICBkZXJl
ZigpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRD
b250cm9sbGVyLmNwcAppbmRleCA0MmZhYWRlLi44NzAyOWQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMTQ0LDEwICsxNDQsNiBA
QCBTY3JpcHRWYWx1ZSBTY3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZUluV29ybGQoY29uc3QgU2Ny
aXB0U291cmNlQ29kZSYgc291cmNlQ29kZQogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRFdmFsdWF0ZVNjcmlwdChjb29raWUpOwogCi0gICAgLy8gRXZhbHVhdGluZyB0aGUgSmF2
YVNjcmlwdCBjb3VsZCBjYXVzZSB0aGUgZnJhbWUgdG8gYmUgZGVhbGxvY2F0ZWQKLSAgICAvLyBz
byB3ZSBzdGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBoZXJlLgotICAgIG1fZnJhbWUtPmtlZXBB
bGl2ZSgpOwotCiAgICAgaWYgKGNvbXAuY29tcGxUeXBlKCkgPT0gTm9ybWFsIHx8IGNvbXAuY29t
cGxUeXBlKCkgPT0gUmV0dXJuVmFsdWUpIHsKICAgICAgICAgbV9zb3VyY2VVUkwgPSBzYXZlZFNv
dXJjZVVSTDsKICAgICAgICAgcmV0dXJuIFNjcmlwdFZhbHVlKGV4ZWMtPmdsb2JhbERhdGEoKSwg
Y29tcC52YWx1ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29u
dHJvbGxlci5jcHAKaW5kZXggYzdmZWJmYi4uMmM0MDc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTE4OSwxMCArMTg5LDYgQEAg
U2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUoY29uc3QgU2NyaXB0U291cmNl
Q29kZSYgc291cmNlQ29kZSkKIAogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IG9iamVjdCA9IG1f
cHJveHktPmV2YWx1YXRlKHNvdXJjZUNvZGUsIDApOwogCi0gICAgLy8gRXZhbHVhdGluZyB0aGUg
SmF2YVNjcmlwdCBjb3VsZCBjYXVzZSB0aGUgZnJhbWUgdG8gYmUgZGVhbGxvY2F0ZWQKLSAgICAv
LyBzbyB3ZSBzdGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBoZXJlLgotICAgIG1fZnJhbWUtPmtl
ZXBBbGl2ZSgpOwotCiAgICAgbV9zb3VyY2VVUkwgPSBzYXZlZFNvdXJjZVVSTDsKIAogICAgIGlm
IChvYmplY3QuSXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcApp
bmRleCA5NTFmNWFhLi43NzIzZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5
LmNwcApAQCAtNDIxLDE0ICs0MjEsMTQgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhQcm94eTo6
cnVuU2NyaXB0KHY4OjpIYW5kbGU8djg6OlNjcmlwdD4gc2NyaXB0LCBib29sIGlzSW4KICAgICBi
b29sIHByZXZpb3VzSW5saW5lQ29kZSA9IGlubGluZUNvZGUoKTsKICAgICBzZXRJbmxpbmVDb2Rl
KGlzSW5saW5lQ29kZSk7CiAKKyAgICAvLyBLZWVwIEZyYW1lIChhbmQgdGhlcmVmb3JlIFNjcmlw
dENvbnRyb2xsZXIgYW5kIFY4UHJveHkpIGFsaXZlLgorICAgIFJlZlB0cjxGcmFtZT4gcHJvdGVj
dChmcmFtZSgpKTsKKwogICAgIC8vIFJ1biB0aGUgc2NyaXB0IGFuZCBrZWVwIHRyYWNrIG9mIHRo
ZSBjdXJyZW50IHJlY3Vyc2lvbiBkZXB0aC4KICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiByZXN1
bHQ7CiAgICAgdjg6OlRyeUNhdGNoIHRyeUNhdGNoOwogICAgIHRyeUNhdGNoLlNldFZlcmJvc2Uo
dHJ1ZSk7CiAgICAgewotICAgICAgICAvLyBTZWUgY29tbWVudCBpbiBWOFByb3h5OjpjYWxsRnVu
Y3Rpb24uCi0gICAgICAgIG1fZnJhbWUtPmtlZXBBbGl2ZSgpOwotCiAgICAgICAgIG1fcmVjdXJz
aW9uKys7CiAgICAgICAgIHJlc3VsdCA9IHNjcmlwdC0+UnVuKCk7CiAgICAgICAgIG1fcmVjdXJz
aW9uLS07CkBAIC00NjEsNiArNDYxLDEwIEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4UHJveHk6
OnJ1blNjcmlwdCh2ODo6SGFuZGxlPHY4OjpTY3JpcHQ+IHNjcmlwdCwgYm9vbCBpc0luCiB2ODo6
TG9jYWw8djg6OlZhbHVlPiBWOFByb3h5OjpjYWxsRnVuY3Rpb24odjg6OkhhbmRsZTx2ODo6RnVu
Y3Rpb24+IGZ1bmN0aW9uLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHJlY2VpdmVyLCBpbnQgYXJn
Yywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3NbXSkKIHsKICAgICBWOEdDQ29udHJvbGxlcjo6
Y2hlY2tNZW1vcnlVc2FnZSgpOworCisgICAgLy8gS2VlcCBGcmFtZSAoYW5kIHRoZXJlZm9yZSBT
Y3JpcHRDb250cm9sbGVyIGFuZCBWOFByb3h5KSBhbGl2ZS4KKyAgICBSZWZQdHI8RnJhbWU+IHBy
b3RlY3QoZnJhbWUoKSk7CisKICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiByZXN1bHQ7CiAgICAg
ewogICAgICAgICBpZiAobV9yZWN1cnNpb24gPj0ga01heFJlY3Vyc2lvbkRlcHRoKSB7CkBAIC00
NzQsMTMgKzQ3OCw2IEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4UHJveHk6OmNhbGxGdW5jdGlv
bih2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4gZnVuY3Rpb24sIHY4CiAgICAgICAgICAgICByZXR1
cm4gcmVzdWx0OwogICAgICAgICB9CiAKLSAgICAgICAgLy8gRXZhbHVhdGluZyB0aGUgSmF2YVNj
cmlwdCBjb3VsZCBjYXVzZSB0aGUgZnJhbWUgdG8gYmUgZGVhbGxvY2F0ZWQsCi0gICAgICAgIC8v
IHNvIHdlIHN0YXJ0IHRoZSBrZWVwIGFsaXZlIHRpbWVyIGhlcmUuCi0gICAgICAgIC8vIEZyYW1l
OjprZWVwQWxpdmUgbWV0aG9kIGFkZHMgdGhlIHJlZiBjb3VudCBvZiB0aGUgZnJhbWUgYW5kIHNl
dHMgYQotICAgICAgICAvLyB0aW1lciB0byBkZWNyZWFzZSB0aGUgcmVmIGNvdW50LiBJdCBhc3N1
bWVzIHRoYXQgdGhlIGN1cnJlbnQgSmF2YVNjcmlwdAotICAgICAgICAvLyBleGVjdXRpb24gZmlu
aXNocyBiZWZvcmUgZmlyaW5nIHRoZSB0aW1lci4KLSAgICAgICAgbV9mcmFtZS0+a2VlcEFsaXZl
KCk7Ci0KICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZTsKICAg
ICAgICAgaWYgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpIHsKICAg
ICAgICAgICAgIHY4OjpTY3JpcHRPcmlnaW4gb3JpZ2luID0gZnVuY3Rpb24tPkdldFNjcmlwdE9y
aWdpbigpOwpAQCAtNTI2LDkgKzUyMyw2IEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4UHJveHk6
Om5ld0luc3RhbmNlKHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiBjb25zdHJ1Y3RvciwKICAgICAv
LyBWOFByb3h5OjpjYWxsRnVuY3Rpb24uCiAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gcmVzdWx0
OwogICAgIHsKLSAgICAgICAgLy8gU2VlIGNvbW1lbnQgaW4gVjhQcm94eTo6Y2FsbEZ1bmN0aW9u
LgotICAgICAgICBtX2ZyYW1lLT5rZWVwQWxpdmUoKTsKLQogICAgICAgICByZXN1bHQgPSBjb25z
dHJ1Y3Rvci0+TmV3SW5zdGFuY2UoYXJnYywgYXJncyk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUu
Y3BwCmluZGV4IDU5NzhjZDkuLmJkZGFlNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC0xNTgs
NyArMTU4LDYgQEAgaW5saW5lIEZyYW1lOjpGcmFtZShQYWdlKiBwYWdlLCBIVE1MRnJhbWVPd25l
ckVsZW1lbnQqIG93bmVyRWxlbWVudCwgRnJhbWVMb2FkZXIKICAgICAsIG1fc2VsZWN0aW9uKHRo
aXMpCiAgICAgLCBtX2V2ZW50SGFuZGxlcih0aGlzKQogICAgICwgbV9hbmltYXRpb25Db250cm9s
bGVyKHRoaXMpCi0gICAgLCBtX2xpZmVTdXBwb3J0VGltZXIodGhpcywgJkZyYW1lOjpsaWZlU3Vw
cG9ydFRpbWVyRmlyZWQpCiAgICAgLCBtX3BhZ2Vab29tRmFjdG9yKHBhcmVudFBhZ2Vab29tRmFj
dG9yKHRoaXMpKQogICAgICwgbV90ZXh0Wm9vbUZhY3RvcihwYXJlbnRUZXh0Wm9vbUZhY3Rvcih0
aGlzKSkKICAgICAsIG1fcGFnZVNjYWxlRmFjdG9yKDEpCkBAIC0yMTgsOCArMjE3LDYgQEAgRnJh
bWU6On5GcmFtZSgpCiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIG5vdCBiZSBkb2luZyBhbGwg
dGhpcyB3b3JrIGluc2lkZSB0aGUgZGVzdHJ1Y3RvcgogCi0gICAgQVNTRVJUKCFtX2xpZmVTdXBw
b3J0VGltZXIuaXNBY3RpdmUoKSk7Ci0KICNpZm5kZWYgTkRFQlVHCiAgICAgZnJhbWVDb3VudGVy
LmRlY3JlbWVudCgpOwogI2VuZGlmCkBAIC0yNDgsOCArMjQ1LDYgQEAgRnJhbWU6On5GcmFtZSgp
CiAgICAgICAgIG1fdmlldy0+aGlkZSgpOwogICAgICAgICBtX3ZpZXctPmNsZWFyRnJhbWUoKTsK
ICAgICB9Ci0KLSAgICBBU1NFUlQoIW1fbGlmZVN1cHBvcnRUaW1lci5pc0FjdGl2ZSgpKTsKIH0K
IAogdm9pZCBGcmFtZTo6YWRkRGVzdHJ1Y3Rpb25PYnNlcnZlcihGcmFtZURlc3RydWN0aW9uT2Jz
ZXJ2ZXIqIG9ic2VydmVyKQpAQCAtNTkwLDQ2ICs1ODUsNiBAQCB2b2lkIEZyYW1lOjppbmplY3RV
c2VyU2NyaXB0c0ZvcldvcmxkKERPTVdyYXBwZXJXb3JsZCogd29ybGQsIGNvbnN0IFVzZXJTY3Jp
cHRWZQogICAgIH0KIH0KIAotI2lmbmRlZiBOREVCVUcKLXN0YXRpYyBIYXNoU2V0PEZyYW1lKj4m
IGtlZXBBbGl2ZVNldCgpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChIYXNoU2V0PEZyYW1l
Kj4sIHN0YXRpY0tlZXBBbGl2ZVNldCwgKCkpOwotICAgIHJldHVybiBzdGF0aWNLZWVwQWxpdmVT
ZXQ7Ci19Ci0jZW5kaWYKLQotdm9pZCBGcmFtZTo6a2VlcEFsaXZlKCkKLXsKLSAgICBpZiAobV9s
aWZlU3VwcG9ydFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIHJldHVybjsKLSNpZm5kZWYgTkRF
QlVHCi0gICAga2VlcEFsaXZlU2V0KCkuYWRkKHRoaXMpOwotI2VuZGlmCi0gICAgcmVmKCk7Ci0g
ICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKLX0KLQotI2lmbmRlZiBOREVC
VUcKLXZvaWQgRnJhbWU6OmNhbmNlbEFsbEtlZXBBbGl2ZSgpCi17Ci0gICAgSGFzaFNldDxGcmFt
ZSo+OjppdGVyYXRvciBlbmQgPSBrZWVwQWxpdmVTZXQoKS5lbmQoKTsKLSAgICBmb3IgKEhhc2hT
ZXQ8RnJhbWUqPjo6aXRlcmF0b3IgaXQgPSBrZWVwQWxpdmVTZXQoKS5iZWdpbigpOyBpdCAhPSBl
bmQ7ICsraXQpIHsKLSAgICAgICAgRnJhbWUqIGZyYW1lID0gKml0OwotICAgICAgICBmcmFtZS0+
bV9saWZlU3VwcG9ydFRpbWVyLnN0b3AoKTsKLSAgICAgICAgZnJhbWUtPmRlcmVmKCk7Ci0gICAg
fQotICAgIGtlZXBBbGl2ZVNldCgpLmNsZWFyKCk7Ci19Ci0jZW5kaWYKLQotdm9pZCBGcmFtZTo6
bGlmZVN1cHBvcnRUaW1lckZpcmVkKFRpbWVyPEZyYW1lPiopCi17Ci0jaWZuZGVmIE5ERUJVRwot
ICAgIGtlZXBBbGl2ZVNldCgpLnJlbW92ZSh0aGlzKTsKLSNlbmRpZgotICAgIGRlcmVmKCk7Ci19
Ci0KIHZvaWQgRnJhbWU6OmNsZWFyRE9NV2luZG93KCkKIHsKICAgICBpZiAobV9kb21XaW5kb3cp
IHsKQEAgLTc1MywxMCArNzA4LDYgQEAgdm9pZCBGcmFtZTo6cGFnZURlc3Ryb3llZCgpCiAgICAg
aWYgKHBhZ2UoKSAmJiBwYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkRnJhbWUoKSA9
PSB0aGlzKQogICAgICAgICBwYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5zZXRGb2N1c2VkRnJh
bWUoMCk7CiAKLSAgICAvLyBGSVhNRTogUmVtb3Zpbmcga2VlcGFsaXZlIHdpbGwgbWFrZSBiZWhh
dmlvciBiZXR0ZXIgbWF0Y2ggRmlyZWZveC4KLSAgICAvLyBTb21lIGNvZGUgdGhhdCB1c2VkIHRv
IGJlIGhlcmUgaW5kaXJlY3RseSB0cmlnZ2VyZWQga2VlcGFsaXZlLCBhbmQgd2UgZG9uJ3Qgd2Fu
dCB0byBjaGFuZ2UgYmVoYXZpb3IgYXQgdGhlIG1vbWVudC4KLSAgICBrZWVwQWxpdmUoKTsKLQog
ICAgIHNjcmlwdCgpLT5jbGVhclNjcmlwdE9iamVjdHMoKTsKICAgICBzY3JpcHQoKS0+dXBkYXRl
UGxhdGZvcm1TY3JpcHRPYmplY3RzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCBhNjMyOTg4Li4z
NWZlOGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0xNTMsOSArMTUzLDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBib29sIGluVmlld1NvdXJjZU1vZGUoKSBjb25zdDsKICAgICAgICAg
dm9pZCBzZXRJblZpZXdTb3VyY2VNb2RlKGJvb2wgPSB0cnVlKTsKIAotICAgICAgICB2b2lkIGtl
ZXBBbGl2ZSgpOyAvLyBVc2VkIHRvIGtlZXAgdGhlIGZyYW1lIGFsaXZlIHdoZW4gcnVubmluZyBh
IHNjcmlwdCB0aGF0IG1pZ2h0IGRlc3Ryb3kgaXQuCi0gICAgICAgIHN0YXRpYyB2b2lkIGNhbmNl
bEFsbEtlZXBBbGl2ZSgpOwotCiAgICAgICAgIHZvaWQgc2V0RG9jdW1lbnQoUGFzc1JlZlB0cjxE
b2N1bWVudD4pOwogCiAgICAgICAgIHZvaWQgc2V0UGFnZVpvb21GYWN0b3IoZmxvYXQgZmFjdG9y
KTsKQEAgLTIxOSw3ICsyMTYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEZyYW1l
KFBhZ2UqLCBIVE1MRnJhbWVPd25lckVsZW1lbnQqLCBGcmFtZUxvYWRlckNsaWVudCopOwogCiAg
ICAgICAgIHZvaWQgaW5qZWN0VXNlclNjcmlwdHNGb3JXb3JsZChET01XcmFwcGVyV29ybGQqLCBj
b25zdCBVc2VyU2NyaXB0VmVjdG9yJiwgVXNlclNjcmlwdEluamVjdGlvblRpbWUpOwotICAgICAg
ICB2b2lkIGxpZmVTdXBwb3J0VGltZXJGaXJlZChUaW1lcjxGcmFtZT4qKTsKIAogICAgICAgICBI
YXNoU2V0PEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlcio+IG1fZGVzdHJ1Y3Rpb25PYnNlcnZlcnM7
CiAKQEAgLTI0Miw4ICsyMzgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIG11dGFi
bGUgRXZlbnRIYW5kbGVyIG1fZXZlbnRIYW5kbGVyOwogICAgICAgICBtdXRhYmxlIEFuaW1hdGlv
bkNvbnRyb2xsZXIgbV9hbmltYXRpb25Db250cm9sbGVyOwogCi0gICAgICAgIFRpbWVyPEZyYW1l
PiBtX2xpZmVTdXBwb3J0VGltZXI7Ci0KICAgICAgICAgZmxvYXQgbV9wYWdlWm9vbUZhY3RvcjsK
ICAgICAgICAgZmxvYXQgbV90ZXh0Wm9vbUZhY3RvcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXgg
ZGEzYTI0Ni4uNmQxZjI5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yMDMsMTEgKzIwMyw2IEBA
IFBhZ2U6On5QYWdlKCkKIAogI2lmbmRlZiBOREVCVUcKICAgICBwYWdlQ291bnRlci5kZWNyZW1l
bnQoKTsKLQotICAgIC8vIENhbmNlbCBrZWVwQWxpdmUgdGltZXJzLCB0byBlbnN1cmUgd2UgcmVs
ZWFzZSBhbGwgRnJhbWVzIGJlZm9yZSBleGl0aW5nLgotICAgIC8vIEl0J3Mgc2FmZSB0byBkbyB0
aGlzIGJlY2F1c2Ugd2UgcHJvaGliaXQgY2xvc2luZyBhIFBhZ2Ugd2hpbGUgSmF2YVNjcmlwdAot
ICAgIC8vIGlzIGV4ZWN1dGluZy4KLSAgICBGcmFtZTo6Y2FuY2VsQWxsS2VlcEFsaXZlKCk7CiAj
ZW5kaWYKIH0KIAo=
</data>
<flag name="commit-queue"
          id="101392"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105389</attachid>
            <date>2011-08-26 12:24:40 -0700</date>
            <delta_ts>2011-08-26 13:29:48 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>KillLifeSupport.txt</filename>
            <type>text/plain</type>
            <size>20013</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTM4MDIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTEtMDgtMjYgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAg
ICAgR2V0IHJpZCBvZiBmcmFtZSBsaWZlIHN1cHBvcnQgdGltZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODc0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgR2VvZmYgR2FyZW4uCisKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmRlZjoKKyAgICAgICAgZ2xvYmFsRXhlYygpIG5vIGxvbmdlciBuZWVkcyB0byBiZSB2aXJ0
dWFsLCBpdHMgb25seSBvdmVycmlkZSB3YXMgaW4gSlNET01XaW5kb3dCYXNlLgorCiAyMDExLTA4
LTI0ICBKdWFuIEMuIE1vbnRlbWF5b3IgIDxqbW9udEBhcHBsZS5jb20+CiAKICAgICAgICAgS2Vl
cCB0cmFjayBvZiB0b3BDYWxsRnJhbWUgZm9yIFN0YWNrIHRyYWNlcwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5kZWYKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYJKHJldmlzaW9u
IDkzODAyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYJKHdvcmtpbmcgY29weSkKQEAgLTIwNCw3
ICsyMDQsNyBAQCBFWFBPUlRTCiAgICAgP2dldFN0cmluZ0BKU0NlbGxASlNDQEBRQkVfTlBBVkV4
ZWNTdGF0ZUAyQEFBVlVTdHJpbmdAMkBAWgogICAgID9nZXRVSW50MzJASlNDZWxsQEpTQ0BAVUJF
X05BQUlAWgogICAgID9nZXR0ZXJAUHJvcGVydHlEZXNjcmlwdG9yQEpTQ0BAUUJFP0FWSlNWYWx1
ZUAyQFhaCi0gICAgP2dsb2JhbEV4ZWNASlNHbG9iYWxPYmplY3RASlNDQEBVQUVQQVZFeGVjU3Rh
dGVAMkBYWgorICAgID9nbG9iYWxFeGVjQEpTR2xvYmFsT2JqZWN0QEpTQ0BAUUFFUEFWRXhlY1N0
YXRlQDJAWFoKICAgICA/Z2xvYmFsT2JqZWN0QEpTT2JqZWN0V2l0aEdsb2JhbE9iamVjdEBKU0NA
QFFCRVBBVkpTR2xvYmFsT2JqZWN0QDJAWFoKICAgICA/Z2xvYmFsT2JqZWN0Q291bnRASGVhcEBK
U0NAQFFBRUlYWgogICAgID9ncm93QEhhbmRsZUhlYXBASlNDQEBBQUVYWFoKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAkocmV2aXNpb24g
OTM4MDIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNjIsNyArMjYyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAg
ICAgICAgdmlydHVhbCBib29sIGlzR2xvYmFsT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQogCi0gICAgICAgIHZpcnR1YWwgRXhlY1N0YXRlKiBnbG9iYWxFeGVjKCk7CisgICAgICAgIEV4
ZWNTdGF0ZSogZ2xvYmFsRXhlYygpOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRJbnRl
cnJ1cHRTY3JpcHQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDkzODAyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMDgtMjYgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBh
cHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiBmcmFtZSBsaWZlIHN1cHBvcnQgdGltZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODc0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmYgR2FyZW4uIFY4IGZpeGVzIGNvdXJ0ZXN5IG9mIERt
aXRyeSBUaXRvdi4KKworICAgICAgICBUZXN0OiBmYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1w
cm9wZXJ0eS5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3Bw
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOiAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxl
cjo6ZXZhbHVhdGVJbldvcmxkKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRDb250cm9s
bGVyLmNwcDogKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9WOFByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OnJ1
blNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5OjpjYWxsRnVuY3Rpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6VjhQcm94eTo6bmV3SW5zdGFuY2UpOgorICAgICAgICAqIHBhZ2UvRnJh
bWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OkZyYW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lOjp+RnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OnBhZ2VEZXN0cm95
ZWQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOiAo
V2ViQ29yZTo6UGFnZTo6flBhZ2UpOgorICAgICAgICBSZW1vdmVkIGFsbCBjb2RlIHRoYXQgZGVh
bHQgd2l0aCB0aGUgbGlmZSBzdXBwb3J0IHRpbWVyLiBQcm90ZWN0IEZyYW1lIGluc2lkZSBydW5T
Y3JpcHQoKQorICAgICAgICBhbmQgY2FsbEZ1bmN0aW9uKCkgZm9yIHY4IGJpbmRpbmdzLgorCisg
ICAgICAgICogYmluZGluZ3MvanMvSlNFdmVudExpc3RlbmVyLmNwcDogKFdlYkNvcmU6OkpTRXZl
bnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQpOgorICAgICAgICBSZXBsYWNlZCByZWYvZGVyZWYgY2Fs
bHMgb24gc2VsZiB3aXRoIGEgUmVmUHRyLgorCiAyMDExLTA4LTI1ICBLZW50IFRhbXVyYSAgPHRr
ZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKHI5MDk3MSk6IEZpeCBhbiBh
c3NlcnRpb24gZmFpbHVyZSB3aXRoIHRleHRhcmVhIHBsYWNlaG9sZGVyLgpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCShyZXZpc2lvbiA5
MzgwMikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTgwLDE1ICs4MCw2IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpw
cmludEVycm9yTWVzc2FnZSgKICAgICBwcmludEVycm9yTWVzc2FnZUZvckZyYW1lKGltcGwoKS0+
ZnJhbWUoKSwgbWVzc2FnZSk7CiB9CiAKLUV4ZWNTdGF0ZSogSlNET01XaW5kb3dCYXNlOjpnbG9i
YWxFeGVjKCkKLXsKLSAgICAvLyBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGFueSBzY3JpcHQg
ZXhlY3V0aW9uIGhhcHBlbmluZyBpbiB0aGlzCi0gICAgLy8gZnJhbWUgZG9lcyBub3QgZGVzdHJv
eSBpdAotICAgIGlmIChGcmFtZSAqZnJhbWUgPSBpbXBsKCktPmZyYW1lKCkpCi0gICAgICAgIGZy
YW1lLT5rZWVwQWxpdmUoKTsKLSAgICByZXR1cm4gQmFzZTo6Z2xvYmFsRXhlYygpOwotfQotCiBi
b29sIEpTRE9NV2luZG93QmFzZTo6c3VwcG9ydHNQcm9maWxpbmcoKSBjb25zdAogewogI2lmICFF
TkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikgfHwgIUVOQUJMRShJTlNQRUNUT1IpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAkocmV2aXNpb24g
OTM4MDIpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAko
d29ya2luZyBjb3B5KQpAQCAtNTUsNyArNTUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBwcm90b3R5
cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIEFub255
bW91c1Nsb3RDb3VudCwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAotICAgICAgICB2aXJ0dWFsIEpT
Qzo6RXhlY1N0YXRlKiBnbG9iYWxFeGVjKCk7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0
c1Byb2ZpbGluZygpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNSaWNoU291
cmNlSW5mbygpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW50ZXJydXB0U2Ny
aXB0KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50TGlz
dGVuZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZl
bnRMaXN0ZW5lci5jcHAJKHJldmlzaW9uIDkzODAyKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNFdmVudExpc3RlbmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA0LDcgKzEwNCw3
IEBAIHZvaWQgSlNFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudChTY3JpcHQKICAgICB9CiAKICAg
ICBpZiAoY2FsbFR5cGUgIT0gQ2FsbFR5cGVOb25lKSB7Ci0gICAgICAgIHJlZigpOworICAgICAg
ICBSZWZQdHI8SlNFdmVudExpc3RlbmVyPiBwcm90ZWN0KHRoaXMpOwogCiAgICAgICAgIE1hcmtl
ZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CiAgICAgICAgIGFyZ3MuYXBwZW5kKHRvSlMoZXhlYywgZ2xv
YmFsT2JqZWN0LCBldmVudCkpOwpAQCAtMTUxLDggKzE1MSw2IEBAIHZvaWQgSlNFdmVudExpc3Rl
bmVyOjpoYW5kbGVFdmVudChTY3JpcHQKICAgICAgICAgICAgICAgICAgICAgZXZlbnQtPnByZXZl
bnREZWZhdWx0KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLQotICAgICAgICBkZXJlZigp
OwogICAgIH0KIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDkzODAyKQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NCwxMCAr
MTQ0LDYgQEAgU2NyaXB0VmFsdWUgU2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbgogCiAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRFdmFsdWF0ZVNjcmlwdChjb29raWUpOwogCi0g
ICAgLy8gRXZhbHVhdGluZyB0aGUgSmF2YVNjcmlwdCBjb3VsZCBjYXVzZSB0aGUgZnJhbWUgdG8g
YmUgZGVhbGxvY2F0ZWQKLSAgICAvLyBzbyB3ZSBzdGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBo
ZXJlLgotICAgIG1fZnJhbWUtPmtlZXBBbGl2ZSgpOwotCiAgICAgaWYgKGNvbXAuY29tcGxUeXBl
KCkgPT0gTm9ybWFsIHx8IGNvbXAuY29tcGxUeXBlKCkgPT0gUmV0dXJuVmFsdWUpIHsKICAgICAg
ICAgbV9zb3VyY2VVUkwgPSBzYXZlZFNvdXJjZVVSTDsKICAgICAgICAgcmV0dXJuIFNjcmlwdFZh
bHVlKGV4ZWMtPmdsb2JhbERhdGEoKSwgY29tcC52YWx1ZSgpKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA5Mzgw
MikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xODksMTAgKzE4OSw2IEBAIFNjcmlwdFZhbHVlIFNjcmlwdENvbnRy
b2xsZXI6OmV2YWx1YXRlKGMKIAogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IG9iamVjdCA9IG1f
cHJveHktPmV2YWx1YXRlKHNvdXJjZUNvZGUsIDApOwogCi0gICAgLy8gRXZhbHVhdGluZyB0aGUg
SmF2YVNjcmlwdCBjb3VsZCBjYXVzZSB0aGUgZnJhbWUgdG8gYmUgZGVhbGxvY2F0ZWQKLSAgICAv
LyBzbyB3ZSBzdGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBoZXJlLgotICAgIG1fZnJhbWUtPmtl
ZXBBbGl2ZSgpOwotCiAgICAgbV9zb3VyY2VVUkwgPSBzYXZlZFNvdXJjZVVSTDsKIAogICAgIGlm
IChvYmplY3QuSXNFbXB0eSgpKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQ
cm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94
eS5jcHAJKHJldmlzaW9uIDkzODAyKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQ
cm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyMSwxNCArNDIxLDE0IEBAIHY4OjpMb2NhbDx2
ODo6VmFsdWU+IFY4UHJveHk6OnJ1blNjcmlwdCgKICAgICBib29sIHByZXZpb3VzSW5saW5lQ29k
ZSA9IGlubGluZUNvZGUoKTsKICAgICBzZXRJbmxpbmVDb2RlKGlzSW5saW5lQ29kZSk7CiAKKyAg
ICAvLyBLZWVwIEZyYW1lIChhbmQgdGhlcmVmb3JlIFNjcmlwdENvbnRyb2xsZXIgYW5kIFY4UHJv
eHkpIGFsaXZlLgorICAgIFJlZlB0cjxGcmFtZT4gcHJvdGVjdChmcmFtZSgpKTsKKwogICAgIC8v
IFJ1biB0aGUgc2NyaXB0IGFuZCBrZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IHJlY3Vyc2lvbiBk
ZXB0aC4KICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiByZXN1bHQ7CiAgICAgdjg6OlRyeUNhdGNo
IHRyeUNhdGNoOwogICAgIHRyeUNhdGNoLlNldFZlcmJvc2UodHJ1ZSk7CiAgICAgewotICAgICAg
ICAvLyBTZWUgY29tbWVudCBpbiBWOFByb3h5OjpjYWxsRnVuY3Rpb24uCi0gICAgICAgIG1fZnJh
bWUtPmtlZXBBbGl2ZSgpOwotCiAgICAgICAgIG1fcmVjdXJzaW9uKys7CiAgICAgICAgIHJlc3Vs
dCA9IHNjcmlwdC0+UnVuKCk7CiAgICAgICAgIG1fcmVjdXJzaW9uLS07CkBAIC00NjEsNiArNDYx
LDEwIEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4UHJveHk6OnJ1blNjcmlwdCgKIHY4OjpMb2Nh
bDx2ODo6VmFsdWU+IFY4UHJveHk6OmNhbGxGdW5jdGlvbih2ODo6SGFuZGxlPHY4OjpGdW5jdGlv
bj4gZnVuY3Rpb24sIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gcmVjZWl2ZXIsIGludCBhcmdjLCB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJnc1tdKQogewogICAgIFY4R0NDb250cm9sbGVyOjpjaGVj
a01lbW9yeVVzYWdlKCk7CisKKyAgICAvLyBLZWVwIEZyYW1lIChhbmQgdGhlcmVmb3JlIFNjcmlw
dENvbnRyb2xsZXIgYW5kIFY4UHJveHkpIGFsaXZlLgorICAgIFJlZlB0cjxGcmFtZT4gcHJvdGVj
dChmcmFtZSgpKTsKKwogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3VsdDsKICAgICB7CiAg
ICAgICAgIGlmIChtX3JlY3Vyc2lvbiA+PSBrTWF4UmVjdXJzaW9uRGVwdGgpIHsKQEAgLTQ3NCwx
MyArNDc4LDYgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhQcm94eTo6Y2FsbEZ1bmN0aQogICAg
ICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgfQogCi0gICAgICAgIC8vIEV2YWx1YXRp
bmcgdGhlIEphdmFTY3JpcHQgY291bGQgY2F1c2UgdGhlIGZyYW1lIHRvIGJlIGRlYWxsb2NhdGVk
LAotICAgICAgICAvLyBzbyB3ZSBzdGFydCB0aGUga2VlcCBhbGl2ZSB0aW1lciBoZXJlLgotICAg
ICAgICAvLyBGcmFtZTo6a2VlcEFsaXZlIG1ldGhvZCBhZGRzIHRoZSByZWYgY291bnQgb2YgdGhl
IGZyYW1lIGFuZCBzZXRzIGEKLSAgICAgICAgLy8gdGltZXIgdG8gZGVjcmVhc2UgdGhlIHJlZiBj
b3VudC4gSXQgYXNzdW1lcyB0aGF0IHRoZSBjdXJyZW50IEphdmFTY3JpcHQKLSAgICAgICAgLy8g
ZXhlY3V0aW9uIGZpbmlzaHMgYmVmb3JlIGZpcmluZyB0aGUgdGltZXIuCi0gICAgICAgIG1fZnJh
bWUtPmtlZXBBbGl2ZSgpOwotCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSBjb29raWU7CiAgICAgICAgIGlmIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250
ZW5kcygpKSB7CiAgICAgICAgICAgICB2ODo6U2NyaXB0T3JpZ2luIG9yaWdpbiA9IGZ1bmN0aW9u
LT5HZXRTY3JpcHRPcmlnaW4oKTsKQEAgLTUyNiw5ICs1MjMsNiBAQCB2ODo6TG9jYWw8djg6OlZh
bHVlPiBWOFByb3h5OjpuZXdJbnN0YW5jCiAgICAgLy8gVjhQcm94eTo6Y2FsbEZ1bmN0aW9uLgog
ICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3VsdDsKICAgICB7Ci0gICAgICAgIC8vIFNlZSBj
b21tZW50IGluIFY4UHJveHk6OmNhbGxGdW5jdGlvbi4KLSAgICAgICAgbV9mcmFtZS0+a2VlcEFs
aXZlKCk7Ci0KICAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0b3ItPk5ld0luc3RhbmNlKGFyZ2Ms
IGFyZ3MpOwogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHJldmlzaW9uIDkzODAy
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1
OCw3ICsxNTgsNiBAQCBpbmxpbmUgRnJhbWU6OkZyYW1lKFBhZ2UqIHBhZ2UsIEhUTUxGcmFtCiAg
ICAgLCBtX3NlbGVjdGlvbih0aGlzKQogICAgICwgbV9ldmVudEhhbmRsZXIodGhpcykKICAgICAs
IG1fYW5pbWF0aW9uQ29udHJvbGxlcih0aGlzKQotICAgICwgbV9saWZlU3VwcG9ydFRpbWVyKHRo
aXMsICZGcmFtZTo6bGlmZVN1cHBvcnRUaW1lckZpcmVkKQogICAgICwgbV9wYWdlWm9vbUZhY3Rv
cihwYXJlbnRQYWdlWm9vbUZhY3Rvcih0aGlzKSkKICAgICAsIG1fdGV4dFpvb21GYWN0b3IocGFy
ZW50VGV4dFpvb21GYWN0b3IodGhpcykpCiAgICAgLCBtX3BhZ2VTY2FsZUZhY3RvcigxKQpAQCAt
MjE4LDggKzIxNyw2IEBAIEZyYW1lOjp+RnJhbWUoKQogCiAgICAgLy8gRklYTUU6IFdlIHNob3Vs
ZCBub3QgYmUgZG9pbmcgYWxsIHRoaXMgd29yayBpbnNpZGUgdGhlIGRlc3RydWN0b3IKIAotICAg
IEFTU0VSVCghbV9saWZlU3VwcG9ydFRpbWVyLmlzQWN0aXZlKCkpOwotCiAjaWZuZGVmIE5ERUJV
RwogICAgIGZyYW1lQ291bnRlci5kZWNyZW1lbnQoKTsKICNlbmRpZgpAQCAtMjQ4LDggKzI0NSw2
IEBAIEZyYW1lOjp+RnJhbWUoKQogICAgICAgICBtX3ZpZXctPmhpZGUoKTsKICAgICAgICAgbV92
aWV3LT5jbGVhckZyYW1lKCk7CiAgICAgfQotCi0gICAgQVNTRVJUKCFtX2xpZmVTdXBwb3J0VGlt
ZXIuaXNBY3RpdmUoKSk7CiB9CiAKIHZvaWQgRnJhbWU6OmFkZERlc3RydWN0aW9uT2JzZXJ2ZXIo
RnJhbWVEZXN0cnVjdGlvbk9ic2VydmVyKiBvYnNlcnZlcikKQEAgLTU5MCw0NiArNTg1LDYgQEAg
dm9pZCBGcmFtZTo6aW5qZWN0VXNlclNjcmlwdHNGb3JXb3JsZChETwogICAgIH0KIH0KIAotI2lm
bmRlZiBOREVCVUcKLXN0YXRpYyBIYXNoU2V0PEZyYW1lKj4mIGtlZXBBbGl2ZVNldCgpCi17Ci0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChIYXNoU2V0PEZyYW1lKj4sIHN0YXRpY0tlZXBBbGl2ZVNl
dCwgKCkpOwotICAgIHJldHVybiBzdGF0aWNLZWVwQWxpdmVTZXQ7Ci19Ci0jZW5kaWYKLQotdm9p
ZCBGcmFtZTo6a2VlcEFsaXZlKCkKLXsKLSAgICBpZiAobV9saWZlU3VwcG9ydFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIHJldHVybjsKLSNpZm5kZWYgTkRFQlVHCi0gICAga2VlcEFsaXZlU2V0
KCkuYWRkKHRoaXMpOwotI2VuZGlmCi0gICAgcmVmKCk7Ci0gICAgbV9saWZlU3VwcG9ydFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKLX0KLQotI2lmbmRlZiBOREVCVUcKLXZvaWQgRnJhbWU6OmNhbmNl
bEFsbEtlZXBBbGl2ZSgpCi17Ci0gICAgSGFzaFNldDxGcmFtZSo+OjppdGVyYXRvciBlbmQgPSBr
ZWVwQWxpdmVTZXQoKS5lbmQoKTsKLSAgICBmb3IgKEhhc2hTZXQ8RnJhbWUqPjo6aXRlcmF0b3Ig
aXQgPSBrZWVwQWxpdmVTZXQoKS5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAg
RnJhbWUqIGZyYW1lID0gKml0OwotICAgICAgICBmcmFtZS0+bV9saWZlU3VwcG9ydFRpbWVyLnN0
b3AoKTsKLSAgICAgICAgZnJhbWUtPmRlcmVmKCk7Ci0gICAgfQotICAgIGtlZXBBbGl2ZVNldCgp
LmNsZWFyKCk7Ci19Ci0jZW5kaWYKLQotdm9pZCBGcmFtZTo6bGlmZVN1cHBvcnRUaW1lckZpcmVk
KFRpbWVyPEZyYW1lPiopCi17Ci0jaWZuZGVmIE5ERUJVRwotICAgIGtlZXBBbGl2ZVNldCgpLnJl
bW92ZSh0aGlzKTsKLSNlbmRpZgotICAgIGRlcmVmKCk7Ci19Ci0KIHZvaWQgRnJhbWU6OmNsZWFy
RE9NV2luZG93KCkKIHsKICAgICBpZiAobV9kb21XaW5kb3cpIHsKQEAgLTc1MywxMCArNzA4LDYg
QEAgdm9pZCBGcmFtZTo6cGFnZURlc3Ryb3llZCgpCiAgICAgaWYgKHBhZ2UoKSAmJiBwYWdlKCkt
PmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkRnJhbWUoKSA9PSB0aGlzKQogICAgICAgICBwYWdl
KCktPmZvY3VzQ29udHJvbGxlcigpLT5zZXRGb2N1c2VkRnJhbWUoMCk7CiAKLSAgICAvLyBGSVhN
RTogUmVtb3Zpbmcga2VlcGFsaXZlIHdpbGwgbWFrZSBiZWhhdmlvciBiZXR0ZXIgbWF0Y2ggRmly
ZWZveC4KLSAgICAvLyBTb21lIGNvZGUgdGhhdCB1c2VkIHRvIGJlIGhlcmUgaW5kaXJlY3RseSB0
cmlnZ2VyZWQga2VlcGFsaXZlLCBhbmQgd2UgZG9uJ3Qgd2FudCB0byBjaGFuZ2UgYmVoYXZpb3Ig
YXQgdGhlIG1vbWVudC4KLSAgICBrZWVwQWxpdmUoKTsKLQogICAgIHNjcmlwdCgpLT5jbGVhclNj
cmlwdE9iamVjdHMoKTsKICAgICBzY3JpcHQoKS0+dXBkYXRlUGxhdGZvcm1TY3JpcHRPYmplY3Rz
KCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgJKHJldmlzaW9uIDkzODAyKQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsOSArMTUzLDYgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGluVmlld1NvdXJjZU1vZGUoKSBjb25zdDsK
ICAgICAgICAgdm9pZCBzZXRJblZpZXdTb3VyY2VNb2RlKGJvb2wgPSB0cnVlKTsKIAotICAgICAg
ICB2b2lkIGtlZXBBbGl2ZSgpOyAvLyBVc2VkIHRvIGtlZXAgdGhlIGZyYW1lIGFsaXZlIHdoZW4g
cnVubmluZyBhIHNjcmlwdCB0aGF0IG1pZ2h0IGRlc3Ryb3kgaXQuCi0gICAgICAgIHN0YXRpYyB2
b2lkIGNhbmNlbEFsbEtlZXBBbGl2ZSgpOwotCiAgICAgICAgIHZvaWQgc2V0RG9jdW1lbnQoUGFz
c1JlZlB0cjxEb2N1bWVudD4pOwogCiAgICAgICAgIHZvaWQgc2V0UGFnZVpvb21GYWN0b3IoZmxv
YXQgZmFjdG9yKTsKQEAgLTIxOSw3ICsyMTYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIEZyYW1lKFBhZ2UqLCBIVE1MRnJhbWVPd25lckVsZW1lbnQqLCBGcmFtZUxvYWRlckNsaWVu
dCopOwogCiAgICAgICAgIHZvaWQgaW5qZWN0VXNlclNjcmlwdHNGb3JXb3JsZChET01XcmFwcGVy
V29ybGQqLCBjb25zdCBVc2VyU2NyaXB0VmVjdG9yJiwgVXNlclNjcmlwdEluamVjdGlvblRpbWUp
OwotICAgICAgICB2b2lkIGxpZmVTdXBwb3J0VGltZXJGaXJlZChUaW1lcjxGcmFtZT4qKTsKIAog
ICAgICAgICBIYXNoU2V0PEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlcio+IG1fZGVzdHJ1Y3Rpb25P
YnNlcnZlcnM7CiAKQEAgLTI0Miw4ICsyMzgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIG11dGFibGUgRXZlbnRIYW5kbGVyIG1fZXZlbnRIYW5kbGVyOwogICAgICAgICBtdXRhYmxl
IEFuaW1hdGlvbkNvbnRyb2xsZXIgbV9hbmltYXRpb25Db250cm9sbGVyOwogCi0gICAgICAgIFRp
bWVyPEZyYW1lPiBtX2xpZmVTdXBwb3J0VGltZXI7Ci0KICAgICAgICAgZmxvYXQgbV9wYWdlWm9v
bUZhY3RvcjsKICAgICAgICAgZmxvYXQgbV90ZXh0Wm9vbUZhY3RvcjsKIApJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCShyZXZpc2lvbiA5MzgwMikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMywxMSArMjAzLDYgQEAgUGFnZTo6flBhZ2UoKQogCiAj
aWZuZGVmIE5ERUJVRwogICAgIHBhZ2VDb3VudGVyLmRlY3JlbWVudCgpOwotCi0gICAgLy8gQ2Fu
Y2VsIGtlZXBBbGl2ZSB0aW1lcnMsIHRvIGVuc3VyZSB3ZSByZWxlYXNlIGFsbCBGcmFtZXMgYmVm
b3JlIGV4aXRpbmcuCi0gICAgLy8gSXQncyBzYWZlIHRvIGRvIHRoaXMgYmVjYXVzZSB3ZSBwcm9o
aWJpdCBjbG9zaW5nIGEgUGFnZSB3aGlsZSBKYXZhU2NyaXB0Ci0gICAgLy8gaXMgZXhlY3V0aW5n
LgotICAgIEZyYW1lOjpjYW5jZWxBbGxLZWVwQWxpdmUoKTsKICNlbmRpZgogfQogCkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiA5MzgwMikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDI1IEBACisyMDExLTA4LTI2ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBA
YXBwbGUuY29tPgorCisgICAgICAgIEdldCByaWQgb2YgZnJhbWUgbGlmZSBzdXBwb3J0IHRpbWVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg3NAor
CisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgorCisgICAgICAgICogZmFzdC9kb20v
cmVzb3VyY2VzL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50
LWZyYW1lLmh0bWw6CisgICAgICAgICogZmFzdC9kb20veG1saHR0cHJlcXVlc3QtY29uc3RydWN0
b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvZG9tL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVk
LWRvY3VtZW50LWV4cGVjdGVkLnR4dAorICAgICAgICBUaGUgdGVzdCB1c2VkIHRvIGFjY2VzcyBY
TUxIdHRwUmVxdWVzdCBjb25zdHJ1Y3RvciBmcm9tIGEgZGV0YWNoZWQgZnJhbWUuIE1vZGlmaWVk
IHRoZSB0ZXN0CisgICAgICAgIHRvIGFsc28gdHJ5IGEgc3RvcmVkIGNvbnN0cnVjdG9yLCBhbmQg
YWRkZWQgYW4gZXJyb3IgdGhhdCdzIGNsb2dnZWQgd2hlbiB0cnlpbmcgdGhhdCBpbiBhCisgICAg
ICAgIGRldGFjaGVkIGZyYW1lIHRvIHRlc3Qgb3V0cHV0LgorCisgICAgICAgICogZmFzdC9mcmFt
ZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgQWRkZWQgYSB0ZXN0IHRvIGNoZWNrIGZvciB0aGUgbmV3LCBtb3JlIGNvbXBhdGlibGUgYmVo
YXZpb3IuCisKKyAgICAgICAgKiBmYXN0L3N0b3JhZ2Uvc3RvcmFnZS1kZXRhY2hlZC1pZnJhbWUu
aHRtbDoKKyAgICAgICAgU3RvcmUgYSByZWZlcmVuY2UgdG8gbG9jYWxTdG9yYWdlIGJlZm9yZSBk
ZXRhY2hpbmcgYSBmcmFtZSwgYXMgaXQgd29uJ3QgYmUgYXZhaWxhYmxlCisgICAgICAgIGFmdGVy
d2FyZHMgYW55IG1vcmUuCisKIDIwMTEtMDgtMjUgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjkwOTcxKTogRml4IGFuIGFzc2VydGlvbiBm
YWlsdXJlIHdpdGggdGV4dGFyZWEgcGxhY2Vob2xkZXIuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2RvbS94bWxodHRwcmVxdWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20veG1saHR0cHJlcXVl
c3QtY29uc3RydWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA5MzgwMikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVj
dG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogUmVmZXJlbmNlRXJyb3I6IFhN
TEh0dHBSZXF1ZXN0IGNvbnN0cnVjdG9yIGFzc29jaWF0ZWQgZG9jdW1lbnQgaXMgdW5hdmFpbGFi
bGUKIFRleHQgZm9yIGJ1ZyAyNTI5MDogQ3Jhc2ggd2hlbiBjb25zdHJ1Y3RpbmcgWE1MSHR0cFJl
cXVlc3QgaW4gYSBkZXRhY2hlZCBkb2N1bWVudC4KIAogUEFTUwpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9kb20vcmVzb3VyY2VzL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVk
LWRvY3VtZW50LWZyYW1lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20v
cmVzb3VyY2VzL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50
LWZyYW1lLmh0bWwJKHJldmlzaW9uIDkzODAyKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVz
b3VyY2VzL3htbGh0dHByZXF1ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWZy
YW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTQsOCArNCwxMyBAQAogICAgIHhoci5vbnJlYWR5
c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbihldnQpIHsKICAgICAgICAgaWYgKGV2dC50YXJnZXQucmVh
ZHlTdGF0ZSA9PSA0KSB7CiAgICAgICAgICAgICBwYXJlbnQuc2V0VGltZW91dCgicGFzcygpIiwg
MCk7CisgICAgICAgICAgICB2YXIgeGhyQ29uc3RydWN0b3IgPSBYTUxIdHRwUmVxdWVzdDsgLy8g
VGhlIGNvbnN0cnVjdG9yIG1heSBub3QgYmUgcmVhY2hhYmxlIGFzIHdpbmRvdyBvYmplY3QgcHJv
cGVydHkgYWZ0ZXIgZGV0YWNoaW5nIHRoZSBmcmFtZS4KICAgICAgICAgICAgIHBhcmVudC5kb2N1
bWVudC5ib2R5LnJlbW92ZUNoaWxkKHBhcmVudC5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgiaWZyYW1lIilbMF0pOwotICAgICAgICAgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVz
dDsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgdmFyIHJlcSA9IG5ldyBYTUxI
dHRwUmVxdWVzdDsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7CisgICAgICAgICAgICAgICAg
dmFyIHJlcSA9IG5ldyB4aHJDb25zdHJ1Y3RvcjsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAg
IHJlcS5vcGVuKCJHRVQiLCAieG1saHR0cHJlcXVlc3QtY29uc3RydWN0b3ItaW4tZGV0YWNoZWQt
ZG9jdW1lbnQtZnJhbWUuaHRtbCIsIGZhbHNlKTsKICAgICAgICAgICAgIHJlcS5zZW5kKG51bGwp
OwogICAgICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFt
ZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHktZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK1Rlc3QgdGhhdCBwcm9wZXJ0aWVz
IGluIGEgZGV0YWNoZWQgc3ViZnJhbWUgYmVjb21lIHVuYXZhaWxhYmxlIGltbWVkaWF0ZWx5Lgor
CitQQVNTCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Rl
dGFjaGVkLWZyYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2
ZQoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJh
bWUtcHJvcGVydHkuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQg
QEAKKzxwPlRlc3QgdGhhdCBwcm9wZXJ0aWVzIGluIGEgZGV0YWNoZWQgc3ViZnJhbWUgYmVjb21l
IHVuYXZhaWxhYmxlIGltbWVkaWF0ZWx5LjwvcD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
Kworb25sb2FkID0gZnVuY3Rpb24oKQoreworICAgIHZhciBjaGlsZFdpbmRvdyA9IGZyYW1lc1sw
XTsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCJpZnJhbWUiKVswXSk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3Vs
dCIpLmlubmVySFRNTCA9IGNoaWxkV2luZG93LlhNTEh0dHBSZXF1ZXN0ID8gIkZBSUwiIDogIlBB
U1MiOworfQorPC9zY3JpcHQ+Cis8ZGl2IGlkPSJyZXN1bHQiPkZBSUw6IFNjcmlwdCBkaWQgbm90
IHJ1bjwvZGl2PgorPGlmcmFtZSBzcmM9ImFib3V0OmJsYW5rIj48L2lmcmFtZT4KClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3Bl
cnR5Lmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbAoK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3RvcmFnZS9zdG9yYWdlLWRldGFj
aGVkLWlmcmFtZS5odG1sCShyZXZpc2lvbiA5MzgwMikKKysrIExheW91dFRlc3RzL2Zhc3Qvc3Rv
cmFnZS9zdG9yYWdlLWRldGFjaGVkLWlmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw5
ICsyNiwxMCBAQAogICAgICAgICAgIHQxID0gb3BlbklmcmFtZSgpOwogICAgICAgICAgIHZhciBh
ID0gdDEuY29udGVudFdpbmRvdy5mcmFtZXM7CiAgICAgICAgICAgdmFyIGIgPSB0MS5jb250ZW50
RG9jdW1lbnQuZGVmYXVsdFZpZXcubG9jYWxTdG9yYWdlOworICAgICAgICAgIHZhciBhX2xvY2Fs
U3RvcmFnZSA9IGEubG9jYWxTdG9yYWdlOyAvLyBUaGUgY29uc3RydWN0b3Igd29uJ3QgYmUgcmVh
Y2hhYmxlIGFzIHdpbmRvdyBvYmplY3QgcHJvcGVydHkgYWZ0ZXIgZGV0YWNoaW5nIHRoZSBmcmFt
ZS4KIAogICAgICAgICAgIHQxLm91dGVyVGV4dCA9ICIiOwotICAgICAgICAgIGEubG9jYWxTdG9y
YWdlLmZ1enozX3Zpc2l0ZWQ9InRlc3QiOworICAgICAgICAgIGFfbG9jYWxTdG9yYWdlLmZ1enoz
X3Zpc2l0ZWQ9InRlc3QiOwogICAgICAgfQogCiAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpIHsK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZG9tL3htbGh0dHByZXF1
ZXN0LWNvbnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2RvbS94bWxodHRwcmVx
dWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDkzODAyKQkoZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2RvbS94bWxodHRwcmVxdWVzdC1jb25z
dHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1leHBlY3RlZC50eHQ6OTM4MDIpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2RvbS94bWxodHRwcmVxdWVzdC1jb25zdHJ1
Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0IEBACitUZXh0IGZvciBidWcgMjUyOTA6IENyYXNoIHdoZW4gY29uc3RydWN0aW5n
IFhNTEh0dHBSZXF1ZXN0IGluIGEgZGV0YWNoZWQgZG9jdW1lbnQuCisKK1BBU1MKKwpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9kb20veG1saHR0cHJlcXVlc3QtY29u
c3RydWN0b3ItaW4tZGV0YWNoZWQtZG9jdW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZG9tL3htbGh0dHByZXF1ZXN0LWNv
bnN0cnVjdG9yLWluLWRldGFjaGVkLWRvY3VtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTM4
MDIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2RvbS94bWxodHRwcmVx
dWVzdC1jb25zdHJ1Y3Rvci1pbi1kZXRhY2hlZC1kb2N1bWVudC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IFVuY2F1
Z2h0IFJlZmVyZW5jZUVycm9yOiBYTUxIdHRwUmVxdWVzdCBjb25zdHJ1Y3RvcidzIGFzc29jaWF0
ZWQgY29udGV4dCBpcyBub3QgYXZhaWxhYmxlCiBUZXh0IGZvciBidWcgMjUyOTA6IENyYXNoIHdo
ZW4gY29uc3RydWN0aW5nIFhNTEh0dHBSZXF1ZXN0IGluIGEgZGV0YWNoZWQgZG9jdW1lbnQuCiAK
IFBBU1MK
</data>
<flag name="commit-queue"
          id="101519"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>