<?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>149580</bug_id>
          
          <creation_ts>2015-09-26 01:44:51 -0700</creation_ts>
          <short_desc>REGRESSION(r190262): User media unit test failures after r190262</short_desc>
          <delta_ts>2015-10-19 11:01:52 -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>Media</component>
          <version>WebKit Local 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>Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>adam.bergkvist</cc>
    
    <cc>ap</cc>
    
    <cc>calvaris</cc>
    
    <cc>changseok</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1128870</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-09-26 01:44:51 -0700</bug_when>
    <thetext>The GTK+ unit test /webkit2/WebKitWebView/usermedia-permission-requests started to fail after r190262:

  /webkit2/WebKitWebView/usermedia-permission-requests:                **

ERROR:../../Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:202:static gboolean UIClientTest::permissionRequested(WebKitWebView*, WebKitPermissionRequest*, UIClientTest*): assertion failed: (webkit_user_media_permission_is_for_audio_device(userMediaRequest) == test-&gt;m_expectedAudioMedia)

FAIL

But also the cross platform C API test WebKit2.UserMediaBasic is crashing:

**CRASH** WebKit2.UserMediaBasic</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128872</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-09-26 02:06:13 -0700</bug_when>
    <thetext>It seems some layout tests are also affected:

01:50:49.322 5644 worker/1 fast/mediastream/MediaStreamTrackEvent-constructor.html crashed, (stderr lines):
01:50:49.322 5644   1   0x7fda8ab83687 /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x17) [0x7fda8ab83687]
01:50:49.322 5644   2   0x7fda365792f5 /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/Release/lib/libTestRunnerInjectedBundle.so(+0xd62f5) [0x7fda365792f5]
01:50:49.322 5644   3   0x7fda8cd68eb7 /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore10TimerEvent10timerFiredEv+0x17) [0x7fda8cd68eb7]
01:50:49.322 5644   4   0x7fda8cca6d4f /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore12ThreadTimers24sharedTimerFiredInternalEv+0xaf) [0x7fda8cca6d4f]
01:50:49.323 5644   5   0x7fda8abc4a55 /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18(_ZN3WTF15GMainLoopSource12voidCallbackEv+0x295) [0x7fda8abc4a55]
01:50:49.323 5644   6   0x7fda8abc300a /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18(_ZN3WTF15GMainLoopSource18voidSourceCallbackEPS0_+0xa) [0x7fda8abc300a]
01:50:49.323 5644   7   0x7fda8abc304e /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18(+0x85f04e) [0x7fda8abc304e]
01:50:49.323 5644   8   0x7fda87feca26 /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/DependenciesGTK/Root/lib64/libglib-2.0.so.0(+0x53a26) [0x7fda87feca26]
01:50:49.323 5644   9   0x7fda87fed854 /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/DependenciesGTK/Root/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x33) [0x7fda87fed854]
01:50:49.323 5644   10  0x7fda87feda39 /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/DependenciesGTK/Root/lib64/libglib-2.0.so.0(+0x54a39) [0x7fda87feda39]
01:50:49.323 5644   11  0x7fda87fede60 /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/DependenciesGTK/Root/lib64/libglib-2.0.so.0(g_main_loop_run+0x1d7) [0x7fda87fede60]
01:50:49.323 5644   12  0x7fda8d8e98a0 /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF7RunLoop3runEv+0x120) [0x7fda8d8e98a0]
01:50:49.323 5644   13  0x7fda8c4551f2 /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37(WebProcessMainUnix+0x1e2) [0x7fda8c4551f2]
01:50:49.323 5644   14  0x7fda83f2ab45 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fda83f2ab45]
01:50:49.323 5644   15  0x400c25 /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/Release/bin/WebKitWebProcess() [0x400c25]
01:50:49.326 5566 [16963/37088] fast/mediastream/MediaStreamTrackEvent-constructor.html failed unexpectedly (WebProcess crashed)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128878</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-09-26 02:37:01 -0700</bug_when>
    <thetext>I skipped the tests for now in r190266. I don&apos;t have time to look at it and I don&apos;t even build with media stream enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128882</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-09-26 06:37:59 -0700</bug_when>
    <thetext>Calvaris, Eric, should we roll this out, since it broke at least one cross-platform test as well, or can you fix it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128910</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-09-26 17:56:41 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; It seems some layout tests are also affected:
&gt; 
&gt; 01:50:49.322 5644 worker/1
&gt; fast/mediastream/MediaStreamTrackEvent-constructor.html crashed, (stderr
&gt; lines):
&gt; 01:50:49.322 5644   1   0x7fda8ab83687
&gt; /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/
&gt; libjavascriptcoregtk-4.0.so.18(WTFCrash+0x17) [0x7fda8ab83687]
&gt; 01:50:49.322 5644   2   0x7fda365792f5
&gt; /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/Release/
&gt; lib/libTestRunnerInjectedBundle.so(+0xd62f5) [0x7fda365792f5]
&gt; 01:50:49.322 5644   3   0x7fda8cd68eb7
&gt; /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/
&gt; libwebkit2gtk-4.0.so.37(_ZN7WebCore10TimerEvent10timerFiredEv+0x17)
&gt; [0x7fda8cd68eb7]
&gt; 01:50:49.322 5644   4   0x7fda8cca6d4f
&gt; /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/
&gt; libwebkit2gtk-4.0.so.
&gt; 37(_ZN7WebCore12ThreadTimers24sharedTimerFiredInternalEv+0xaf)
&gt; [0x7fda8cca6d4f]
&gt; 01:50:49.323 5644   5   0x7fda8abc4a55
&gt; /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/
&gt; libjavascriptcoregtk-4.0.so.
&gt; 18(_ZN3WTF15GMainLoopSource12voidCallbackEv+0x295) [0x7fda8abc4a55]
&gt; 01:50:49.323 5644   6   0x7fda8abc300a
&gt; /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/
&gt; libjavascriptcoregtk-4.0.so.
&gt; 18(_ZN3WTF15GMainLoopSource18voidSourceCallbackEPS0_+0xa) [0x7fda8abc300a]
&gt; 01:50:49.323 5644   7   0x7fda8abc304e
&gt; /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/
&gt; libjavascriptcoregtk-4.0.so.18(+0x85f04e) [0x7fda8abc304e]
&gt; 01:50:49.323 5644   8   0x7fda87feca26
&gt; /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/DependenciesGTK/
&gt; Root/lib64/libglib-2.0.so.0(+0x53a26) [0x7fda87feca26]
&gt; 01:50:49.323 5644   9   0x7fda87fed854
&gt; /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/DependenciesGTK/
&gt; Root/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x33) [0x7fda87fed854]
&gt; 01:50:49.323 5644   10  0x7fda87feda39
&gt; /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/DependenciesGTK/
&gt; Root/lib64/libglib-2.0.so.0(+0x54a39) [0x7fda87feda39]
&gt; 01:50:49.323 5644   11  0x7fda87fede60
&gt; /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/DependenciesGTK/
&gt; Root/lib64/libglib-2.0.so.0(g_main_loop_run+0x1d7) [0x7fda87fede60]
&gt; 01:50:49.323 5644   12  0x7fda8d8e98a0
&gt; /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/
&gt; libwebkit2gtk-4.0.so.37(_ZN3WTF7RunLoop3runEv+0x120) [0x7fda8d8e98a0]
&gt; 01:50:49.323 5644   13  0x7fda8c4551f2
&gt; /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/
&gt; libwebkit2gtk-4.0.so.37(WebProcessMainUnix+0x1e2) [0x7fda8c4551f2]
&gt; 01:50:49.323 5644   14  0x7fda83f2ab45
&gt; /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fda83f2ab45]
&gt; 01:50:49.323 5644   15  0x400c25
&gt; /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/Release/
&gt; bin/WebKitWebProcess() [0x400c25]
&gt; 01:50:49.326 5566 [16963/37088]
&gt; fast/mediastream/MediaStreamTrackEvent-constructor.html failed unexpectedly
&gt; (WebProcess crashed)

I see this crash:
WTFCrash + 39 (Assertions.cpp:321)
WebCore::Supplementable&lt;WebCore::Page&gt;::provideSupplement(char const*, std::__1::unique_ptr&lt;WebCore::Supplement&lt;WebCore::Page&gt;, std::__1::default_delete&lt;WebCore::Supplement&lt;WebCore::Page&gt; &gt; &gt;) + 146 (Supplementable.h:102)
WebCore::Supplement&lt;WebCore::Page&gt;::provideTo(WebCore::Supplementable&lt;WebCore::Page&gt;*, char const*, std::__1::unique_ptr&lt;WebCore::Supplement&lt;WebCore::Page&gt;, std::__1::default_delete&lt;WebCore::Supplement&lt;WebCore::Page&gt; &gt; &gt;) + 424 (Supplementable.h:87)
WebCore::provideUserMediaTo(WebCore::Page*, WebCore::UserMediaClient*) + 700 (UserMediaController.cpp:49)
WebCore::Internals::Internals(WebCore::Document*) + 630 (Internals.cpp:365)
WebCore::Internals::Internals(WebCore::Document*) + 29 (Internals.cpp:365)

Is this crash new with r190262, or could it have been caused by r190061?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128915</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-09-26 18:53:49 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #1)
&gt; Is this crash new with r190262, or could it have been caused by r190061?

That seems most likely to have come from r190061. I&apos;m not sure why, since the only client who should be installing more than one UserMediaController supplement is Internals, and the Internals code should be deleting the old one before installing a new one...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129138</commentid>
    <comment_count>6</comment_count>
      <attachid>262038</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-09-28 19:21:59 -0700</bug_when>
    <thetext>Created attachment 262038
Patch for the bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129280</commentid>
    <comment_count>7</comment_count>
      <attachid>262038</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-09-29 10:28:15 -0700</bug_when>
    <thetext>Comment on attachment 262038
Patch for the bots.

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

&gt; Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp:148
&gt; +        MockSourceMap::iterator it = map.find(mockAudioSourceID());
&gt; +        ASSERT(it != map.end());
&gt; +
&gt; +        RefPtr&lt;RealtimeMediaSource&gt; audioSource = it-&gt;value;

Normally we’d use get here instead of find.

    ASSERT(!map.contains(mockAudioSourceID());
    RefPtr&lt;RealtimeMediaSource&gt; audioSource = map.get(mockAudioSourceID());

&gt; Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp:163
&gt; +        MockSourceMap::iterator it = map.find(mockVideoSourceID());
&gt; +        ASSERT(it != map.end());
&gt; +
&gt; +        RefPtr&lt;RealtimeMediaSource&gt; videoSource = it-&gt;value;

Ditto.

&gt; Source/WebCore/platform/mock/TimerEventBasedMock.h:71
&gt; +        m_mock = nullptr;

I don’t understand the value of this. We are about to delete m_mock, so how is setting it to nullptr valuable? Is it about debugging?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129353</commentid>
    <comment_count>8</comment_count>
      <attachid>262038</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-09-29 13:14:09 -0700</bug_when>
    <thetext>Comment on attachment 262038
Patch for the bots.

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

Thanks for the review. I will hold off on committing this until I hear back from Adam about whether or not this causes problems for the GTK port.

&gt;&gt; Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp:148
&gt;&gt; +        RefPtr&lt;RealtimeMediaSource&gt; audioSource = it-&gt;value;
&gt; 
&gt; Normally we’d use get here instead of find.
&gt; 
&gt;     ASSERT(!map.contains(mockAudioSourceID());
&gt;     RefPtr&lt;RealtimeMediaSource&gt; audioSource = map.get(mockAudioSourceID());

OK.

&gt;&gt; Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp:163
&gt;&gt; +        RefPtr&lt;RealtimeMediaSource&gt; videoSource = it-&gt;value;
&gt; 
&gt; Ditto.

Ditto.

&gt;&gt; Source/WebCore/platform/mock/TimerEventBasedMock.h:71
&gt;&gt; +        m_mock = nullptr;
&gt; 
&gt; I don’t understand the value of this. We are about to delete m_mock, so how is setting it to nullptr valuable? Is it about debugging?

Oops, I did add that while debugging. I will remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129541</commentid>
    <comment_count>9</comment_count>
      <attachid>262038</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2015-09-30 03:18:16 -0700</bug_when>
    <thetext>Comment on attachment 262038
Patch for the bots.

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

&gt; Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:87
&gt; +    client-&gt;constraintsValidated(audioSources, videoSources);

This change flips the order of video and audio.

We usually have audio first (like in this patch), but UserMediaRequest::constraintsValidated() has the oposite order.

&gt; Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:200
&gt; +    m_client-&gt;constraintsValidated(audioSources, videoSources);

Argument order flipped (see previous comment)

&gt; Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp:168
&gt; +    client-&gt;constraintsValidated(audioSources, videoSources);

Argument order flipped (see previous comment)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129544</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2015-09-30 03:47:11 -0700</bug_when>
    <thetext>Fixing the argument order mentioned above and unprefixing the MediaStream constructor (s/webkitMediaStream/MediaStream/) in the tests make all but 4 tests skipped in [1] and [2] pass.

[1] http://trac.webkit.org/changeset/190266/trunk/LayoutTests/platform/gtk/TestExpectations

[2] http://trac.webkit.org/changeset/189089/trunk/LayoutTests/platform/gtk/TestExpectations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129604</commentid>
    <comment_count>11</comment_count>
      <attachid>262168</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-09-30 09:43:09 -0700</bug_when>
    <thetext>Created attachment 262168
Patch for landing.


&gt; &gt; Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:87
&gt; &gt; +    client-&gt;constraintsValidated(audioSources, videoSources);
&gt; 
&gt; This change flips the order of video and audio.
&gt; 
&gt; We usually have audio first (like in this patch), but UserMediaRequest::constraintsValidated() has the oposite order.
&gt; 
&gt; &gt; Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:200
&gt; &gt; +    m_client-&gt;constraintsValidated(audioSources, videoSources);
&gt; 
&gt; Argument order flipped (see previous comment)
&gt; 
&gt; &gt; Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp:168
&gt; &gt; +    client-&gt;constraintsValidated(audioSources, videoSources);
&gt; 
&gt; Argument order flipped (see previous comment)
&gt; 
Fixed the MediaStreamCreationClient::constraintsValidated argument order so hopefully it is audio,video everywhere. 


&gt; Fixing the argument order mentioned above and unprefixing the MediaStream constructor (s/webkitMediaStream/MediaStream/) in the tests make all but 4 tests skipped in [1] and [2] pass.
&gt; 
&gt; [1] http://trac.webkit.org/changeset/190266/trunk/LayoutTests/platform/gtk/TestExpectations
&gt; 
&gt; [2] http://trac.webkit.org/changeset/189089/trunk/LayoutTests/platform/gtk/TestExpectations
&gt; 
I didn&apos;t unprefix the MediaStream constructor in this patch, I will do it in a followup. I don&apos;t know which tests didn&apos;t work for Adam, but I unskipped them all with the assumption that it will be easier to skip the ones that still fail once the bots point out which still have problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129636</commentid>
    <comment_count>12</comment_count>
      <attachid>262168</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-30 10:49:33 -0700</bug_when>
    <thetext>Comment on attachment 262168
Patch for landing.

Rejecting attachment 262168 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 262168, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Tools/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/227708</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129645</commentid>
    <comment_count>13</comment_count>
      <attachid>262185</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-09-30 11:30:34 -0700</bug_when>
    <thetext>Created attachment 262185
Updated patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129649</commentid>
    <comment_count>14</comment_count>
      <attachid>262185</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-30 12:17:17 -0700</bug_when>
    <thetext>Comment on attachment 262185
Updated patch for landing.

Clearing flags on attachment: 262185

Committed r190362: &lt;http://trac.webkit.org/changeset/190362&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129912</commentid>
    <comment_count>15</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-10-01 06:42:49 -0700</bug_when>
    <thetext>Layout tests no longer crash, but the GTK+ unit tests are still failing. Could you look at it, phil?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134542</commentid>
    <comment_count>16</comment_count>
      <attachid>263468</attachid>
    <who name="ChangSeok Oh">changseok</who>
    <bug_when>2015-10-19 03:57:01 -0700</bug_when>
    <thetext>Created attachment 263468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134544</commentid>
    <comment_count>17</comment_count>
    <who name="ChangSeok Oh">changseok</who>
    <bug_when>2015-10-19 03:58:07 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Layout tests no longer crash, but the GTK+ unit tests are still failing.
&gt; Could you look at it, phil?

The failures are no longer reproduced.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134552</commentid>
    <comment_count>18</comment_count>
      <attachid>263468</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-10-19 04:26:00 -0700</bug_when>
    <thetext>Comment on attachment 263468
Patch

Ok. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134624</commentid>
    <comment_count>19</comment_count>
      <attachid>263468</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-19 11:01:47 -0700</bug_when>
    <thetext>Comment on attachment 263468
Patch

Clearing flags on attachment: 263468

Committed r191298: &lt;http://trac.webkit.org/changeset/191298&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134626</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-19 11:01:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262038</attachid>
            <date>2015-09-28 19:21:59 -0700</date>
            <delta_ts>2015-10-19 03:56:49 -0700</delta_ts>
            <desc>Patch for the bots.</desc>
            <filename>fix_tests_patch_1.txt</filename>
            <type>text/plain</type>
            <size>11700</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDMwMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDE1LTA5LTI4ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjE5
MDI2Mik6IFVzZXIgbWVkaWEgdW5pdCB0ZXN0IGZhaWx1cmVzIGFmdGVyIHIxOTAyNjIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU4MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVy
Q29ubmVjdGlvbjo6Z2V0U3RhdHMpOiBEcml2ZS1ieSBmaXggdG8gZGVhbCB3aXRoIG9wdGlvbmFs
IHBhcmFtLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlck1hYzo6dmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMpOiBJZiB0aGVyZSBpcyBu
byAKKyAgICAgICAgICBjb25zdHJhaW50IGZvciBhIG1lZGlhIHR5cGUsIGRvbid0IHJldHVybiBh
IGRldmljZSBvZiB0aGF0IHR5cGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9v
cGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93cjo6bWVkaWFTb3VyY2VzQXZhaWxhYmxl
KTogRGl0dG8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyOjp2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyk6IERpdHRvLgorCisgICAgICAgICog
cGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lckV2ZW50Ojp+VGltZXJFdmVudCk6IENsZWFyIHRoZSBtX21vY2sgcG9pbnRlci4KKworICAg
ICAgICAqIHBsYXRmb3JtL21vY2svVXNlck1lZGlhQ2xpZW50TW9jay5oOgorICAgICAgICAoV2Vi
Q29yZTo6VXNlck1lZGlhQ2xpZW50TW9jazo6ZmlyZSk6IERlYWwgd2l0aCBlbXB0eSBkZXZpY2Ug
dmVjdG9ycy4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsczo6SW50ZXJuYWxzKTogRG9uJ3QgcmVnaXN0ZXIgVXNlck1lZGlhQ29u
dHJvbGxlciwgaXQgaXNuJ3QgbmVlZGVkIGZvcgorICAgICAgICAgIFdLVFIuCisKIDIwMTUtMDkt
MjggIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dpbl0g
Rml4IGJ1aWxkIGFmdGVyIHIxOTAyOTUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAkocmV2aXNpb24g
MTkwMjc4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyOSw3ICs1MjksOSBAQCBNZWRpYVN0cmVh
bSogUlRDUGVlckNvbm5lY3Rpb246OmdldFN0cmVhCiAKIHZvaWQgUlRDUGVlckNvbm5lY3Rpb246
OmdldFN0YXRzKFBhc3NSZWZQdHI8UlRDU3RhdHNDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQ
YXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywg
UGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiBzZWxlY3RvcikKIHsKLSAgICBSZWZQdHI8UlRD
U3RhdHNSZXF1ZXN0SW1wbD4gc3RhdHNSZXF1ZXN0ID0gUlRDU3RhdHNSZXF1ZXN0SW1wbDo6Y3Jl
YXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxi
YWNrLCAmc2VsZWN0b3ItPnByaXZhdGVUcmFjaygpKTsKKyAgICBSZWZQdHI8TWVkaWFTdHJlYW1U
cmFjaz4gdHJhY2sgPSBzZWxlY3RvcjsKKyAgICBSZWZQdHI8UlRDU3RhdHNSZXF1ZXN0SW1wbD4g
c3RhdHNSZXF1ZXN0ID0gUlRDU3RhdHNSZXF1ZXN0SW1wbDo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrLCB0cmFjayA/ICZ0cmFj
ay0+cHJpdmF0ZVRyYWNrKCkgOiBudWxscHRyKTsKKwogICAgIC8vIEZJWE1FOiBBZGQgcGFzc2lu
ZyBzZWxlY3RvciBhcyBwYXJ0IG9mIHRoZSBzdGF0c1JlcXVlc3QuCiAgICAgbV9wZWVySGFuZGxl
ci0+Z2V0U3RhdHMoc3RhdHNSZXF1ZXN0LnJlbGVhc2UoKSk7CiB9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1h
Yy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCShyZXZpc2lvbiAxOTAyNzgpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlck1hYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDkgQEAgdm9pZCBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjp2YWxpZAogewogICAgIEFTU0VSVChjbGllbnQp
OwogCisgICAgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gYXVkaW9Tb3VyY2Vz
OworICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IHZpZGVvU291cmNlczsK
KwogICAgIGlmIChhdWRpb0NvbnN0cmFpbnRzKSB7CiAgICAgICAgIFN0cmluZyBpbnZhbGlkQ29u
c3RyYWludDsKICAgICAgICAgQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c2luZ2xldG9uKCkudmVy
aWZ5Q29uc3RyYWludHNGb3JNZWRpYVR5cGUobmlsLCBSZWFsdGltZU1lZGlhU291cmNlOjpBdWRp
bywgYXVkaW9Db25zdHJhaW50cy5nZXQoKSwgaW52YWxpZENvbnN0cmFpbnQpOwpAQCAtNjcsNiAr
NzAsOCBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OnZhbGlkCiAgICAgICAg
ICAgICBjbGllbnQtPmNvbnN0cmFpbnRzSW52YWxpZChpbnZhbGlkQ29uc3RyYWludCk7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KKworICAgICAgICBhdWRpb1NvdXJjZXMgPSBBVkNh
cHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5iZXN0U291cmNlc0ZvclR5cGVBbmRDb25z
dHJhaW50cyhSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbywgYXVkaW9Db25zdHJhaW50
cyk7CiAgICAgfQogCiAgICAgaWYgKHZpZGVvQ29uc3RyYWludHMpIHsKQEAgLTc2LDEwICs4MSwx
MCBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OnZhbGlkCiAgICAgICAgICAg
ICBjbGllbnQtPmNvbnN0cmFpbnRzSW52YWxpZChpbnZhbGlkQ29uc3RyYWludCk7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KKworICAgICAgICB2aWRlb1NvdXJjZXMgPSBBVkNhcHR1
cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5iZXN0U291cmNlc0ZvclR5cGVBbmRDb25zdHJh
aW50cyhSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbywgdmlkZW9Db25zdHJhaW50cyk7
CiAgICAgfQotICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGJlc3RWaWRl
b1NvdXJjZXMgPSBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5iZXN0U291cmNl
c0ZvclR5cGVBbmRDb25zdHJhaW50cyhSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbywg
dmlkZW9Db25zdHJhaW50cyk7Ci0gICAgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNl
Pj4gYmVzdEF1ZGlvU291cmNlcyA9IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigp
LmJlc3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6OkF1ZGlvLCBhdWRpb0NvbnN0cmFpbnRzKTsKLSAgICBjbGllbnQtPmNvbnN0cmFpbnRzVmFs
aWRhdGVkKGJlc3RWaWRlb1NvdXJjZXMsIGJlc3RBdWRpb1NvdXJjZXMpOworICAgIGNsaWVudC0+
Y29uc3RyYWludHNWYWxpZGF0ZWQoYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMpOwogfQogCiB2
b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NS
ZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4gcHJwUXVlcnlDbGllbnQsIFBhc3NSZWZQ
dHI8TWVkaWFDb25zdHJhaW50cz4gYXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNv
bnN0cmFpbnRzPiB2aWRlb0NvbnN0cmFpbnRzKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVu
d2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwCShyZXZpc2lvbiAxOTAyNzgp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjIsNiArMTYy
LDkgQEAgYm9vbCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyOjpnZXRNZQogCiB2b2lkIFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3I6Om1lZGlhU291cmNlc0F2YWlsYWJsZShHTGlzdCog
c291cmNlcykKIHsKKyAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBhdWRp
b1NvdXJjZXM7CisgICAgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gdmlkZW9T
b3VyY2VzOworCiAgICAgZm9yIChhdXRvIGl0ZW0gPSBzb3VyY2VzOyBpdGVtOyBpdGVtID0gaXRl
bS0+bmV4dCkgewogICAgICAgICBPd3JNZWRpYVNvdXJjZSogc291cmNlID0gT1dSX01FRElBX1NP
VVJDRShpdGVtLT5kYXRhKTsKIApAQCAtMTg3LDEwICsxOTAsMTQgQEAgdm9pZCBSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyT3dyOjptZWRpYQogICAgICAgICBpZiAoc291cmNlSXRlcmF0b3IgPT0g
bV9zb3VyY2VNYXAuZW5kKCkpCiAgICAgICAgICAgICBtX3NvdXJjZU1hcC5hZGQoaWQsIG1lZGlh
U291cmNlKTsKIAorICAgICAgICBpZiAobWVkaWFUeXBlICYgT1dSX01FRElBX1RZUEVfQVVESU8p
CisgICAgICAgICAgICBhdWRpb1NvdXJjZXMuYXBwZW5kKG1lZGlhU291cmNlKTsKKyAgICAgICAg
ZWxzZSBpZiAobWVkaWFUeXBlICYgT1dSX01FRElBX1RZUEVfVklERU8pCisgICAgICAgICAgICB2
aWRlb1NvdXJjZXMuYXBwZW5kKG1lZGlhU291cmNlKTsKICAgICB9CiAKICAgICAvLyBUT0RPOiBN
YWtlIHN1cmUgY29udHJhaW50cyBhcmUgYWN0dWFsbHkgdmFsaWRhdGVkIGJ5IGNoZWNraW5nIHNv
dXJjZSB0eXBlcy4KLSAgICBtX2NsaWVudC0+Y29uc3RyYWludHNWYWxpZGF0ZWQoVmVjdG9yPFJl
ZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4oKSwgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlh
U291cmNlPj4oKSk7CisgICAgbV9jbGllbnQtPmNvbnN0cmFpbnRzVmFsaWRhdGVkKGF1ZGlvU291
cmNlcywgdmlkZW9Tb3VyY2VzKTsKIH0KIAogUGFzc1JlZlB0cjxSZWFsdGltZU1lZGlhU291cmNl
PiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyOjpmaXJzdFNvdXJjZShSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlIHR5cGUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01v
Y2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAkocmV2
aXNpb24gMTkwMjc4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMSwyMyArMTMxLDQx
IEBAIHZvaWQgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnZhbGkKIHsKICAgICBBU1NF
UlQoY2xpZW50KTsKIAorICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGF1
ZGlvU291cmNlczsKKyAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiB2aWRl
b1NvdXJjZXM7CisgICAgTW9ja1NvdXJjZU1hcCYgbWFwID0gbW9ja1NvdXJjZU1hcCgpOworCiAg
ICAgaWYgKGF1ZGlvQ29uc3RyYWludHMpIHsKICAgICAgICAgU3RyaW5nIGludmFsaWRRdWVyeSA9
IE1lZGlhQ29uc3RyYWludHNNb2NrOjp2ZXJpZnlDb25zdHJhaW50cyhhdWRpb0NvbnN0cmFpbnRz
KTsKICAgICAgICAgaWYgKCFpbnZhbGlkUXVlcnkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBj
bGllbnQtPmNvbnN0cmFpbnRzSW52YWxpZChpbnZhbGlkUXVlcnkpOwogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9CisKKyAgICAgICAgTW9ja1NvdXJjZU1hcDo6aXRlcmF0b3IgaXQgPSBt
YXAuZmluZChtb2NrQXVkaW9Tb3VyY2VJRCgpKTsKKyAgICAgICAgQVNTRVJUKGl0ICE9IG1hcC5l
bmQoKSk7CisKKyAgICAgICAgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IGF1ZGlvU291cmNl
ID0gaXQtPnZhbHVlOworICAgICAgICBhdWRpb1NvdXJjZS0+cmVzZXQoKTsKKyAgICAgICAgYXVk
aW9Tb3VyY2VzLmFwcGVuZChhdWRpb1NvdXJjZS5yZWxlYXNlKCkpOwogICAgIH0KLSAgICAKKwog
ICAgIGlmICh2aWRlb0NvbnN0cmFpbnRzKSB7CiAgICAgICAgIFN0cmluZyBpbnZhbGlkUXVlcnkg
PSBNZWRpYUNvbnN0cmFpbnRzTW9jazo6dmVyaWZ5Q29uc3RyYWludHModmlkZW9Db25zdHJhaW50
cyk7CiAgICAgICAgIGlmICghaW52YWxpZFF1ZXJ5LmlzRW1wdHkoKSkgewogICAgICAgICAgICAg
Y2xpZW50LT5jb25zdHJhaW50c0ludmFsaWQoaW52YWxpZFF1ZXJ5KTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQorCisgICAgICAgIE1vY2tTb3VyY2VNYXA6Oml0ZXJhdG9yIGl0ID0g
bWFwLmZpbmQobW9ja1ZpZGVvU291cmNlSUQoKSk7CisgICAgICAgIEFTU0VSVChpdCAhPSBtYXAu
ZW5kKCkpOworCisgICAgICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiB2aWRlb1NvdXJj
ZSA9IGl0LT52YWx1ZTsKKyAgICAgICAgdmlkZW9Tb3VyY2UtPnJlc2V0KCk7CisgICAgICAgIHZp
ZGVvU291cmNlcy5hcHBlbmQodmlkZW9Tb3VyY2UucmVsZWFzZSgpKTsKICAgICB9CiAKLSAgICBj
bGllbnQtPmNvbnN0cmFpbnRzVmFsaWRhdGVkKFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNv
dXJjZT4+KCksIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+KCkpOworICAgIGNs
aWVudC0+Y29uc3RyYWludHNWYWxpZGF0ZWQoYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMpOwog
fQogCiB2b2lkIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpjcmVhdGVNZWRpYVN0cmVh
bShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+IHBycFF1ZXJ5Q2xpZW50LCBQ
YXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8
TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCShyZXZpc2lvbiAx
OTAyNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1v
Y2suaAkod29ya2luZyBjb3B5KQpAQCAtNjYsNyArNjYsMTAgQEAgcHVibGljOgogICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwLjUpOwogICAgIH0KIAotICAgIHZpcnR1YWwgflRpbWVyRXZl
bnQoKSB7IH0KKyAgICB2aXJ0dWFsIH5UaW1lckV2ZW50KCkKKyAgICB7CisgICAgICAgIG1fbW9j
ayA9IG51bGxwdHI7CisgICAgfQogCiAgICAgdm9pZCB0aW1lckZpcmVkKCkKICAgICB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1VzZXJNZWRpYUNsaWVudE1vY2suaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1VzZXJNZWRpYUNsaWVudE1v
Y2suaAkocmV2aXNpb24gMTkwMjc4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9V
c2VyTWVkaWFDbGllbnRNb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDEwICs0NCwxNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGZpcmUoKSBvdmVycmlkZQogICAgIHsKLSAgICAgICAgaWYgKG1f
cmVxdWVzdFN1Y2Nlc3MpCi0gICAgICAgICAgICBtX3JlcXVlc3QtPnVzZXJNZWRpYUFjY2Vzc0dy
YW50ZWQobV9yZXF1ZXN0LT52aWRlb0RldmljZVVJRHMoKS5hdCgwKSwgbV9yZXF1ZXN0LT5hdWRp
b0RldmljZVVJRHMoKS5hdCgwKSk7Ci0gICAgICAgIGVsc2UKKyAgICAgICAgaWYgKCFtX3JlcXVl
c3RTdWNjZXNzKSB7CiAgICAgICAgICAgICBtX3JlcXVlc3QtPnVzZXJNZWRpYUFjY2Vzc0Rlbmll
ZCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgYXV0byBhdWRp
b0RldmljZVVJRHMgPSBtX3JlcXVlc3QtPmF1ZGlvRGV2aWNlVUlEcygpOworICAgICAgICBhdXRv
IHZpZGVvRGV2aWNlVUlEcyAgPSBtX3JlcXVlc3QtPnZpZGVvRGV2aWNlVUlEcygpOworICAgICAg
ICBTdHJpbmcgYWxsb3dlZEF1ZGlvVUlEID0gYXVkaW9EZXZpY2VVSURzLnNpemUoKSA/IGF1ZGlv
RGV2aWNlVUlEcy5hdCgwKSA6IGVtcHR5U3RyaW5nKCk7CisgICAgICAgIFN0cmluZyB2aWRlb0F1
ZGlvVUlEID0gdmlkZW9EZXZpY2VVSURzLnNpemUoKSA/IHZpZGVvRGV2aWNlVUlEcy5hdCgwKSA6
IGVtcHR5U3RyaW5nKCk7CisKKyAgICAgICAgbV9yZXF1ZXN0LT51c2VyTWVkaWFBY2Nlc3NHcmFu
dGVkKGFsbG93ZWRBdWRpb1VJRCwgdmlkZW9BdWRpb1VJRCk7CiAgICAgfQogCiBwcml2YXRlOgpJ
bmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkocmV2aXNpb24gMTkwMjc4KQor
KysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zODcsOCArMzg3LDYgQEAgSW50ZXJuYWxzOjpJbnRlcm5hbHMoRG9jdW1lbnQqIGRvY3VtZW50
KQogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXI6OnJlZ2lzdGVyTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIoKTsKICAgICBlbmFi
bGVNb2NrUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyKCk7Ci0gICAgZG9jdW1lbnQtPnBhZ2UoKS0+
cmVtb3ZlU3VwcGxlbWVudChVc2VyTWVkaWFDb250cm9sbGVyOjpzdXBwbGVtZW50TmFtZSgpKTsK
LSAgICBXZWJDb3JlOjpwcm92aWRlVXNlck1lZGlhVG8oZG9jdW1lbnQtPnBhZ2UoKSwgbmV3IFVz
ZXJNZWRpYUNsaWVudE1vY2soKSk7CiAjZW5kaWYKIH0KIApJbmRleDogVG9vbHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMTkwMzAxKQorKysgVG9v
bHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDktMjgg
IEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVT
U0lPTihyMTkwMjYyKTogVXNlciBtZWRpYSB1bml0IHRlc3QgZmFpbHVyZXMgYWZ0ZXIgcjE5MDI2
MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NTgw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRy
b2xsZXI6OmRlY2lkZVBvbGljeUZvclVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0SWZQb3NzaWJs
ZSk6IEZpeCBwYXJhbWV0ZXIKKyAgICAgICAgICBvcmRlciB0byBXS1VzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0QWxsb3cuCisKIDIwMTUtMDktMjggIEFha2FzaCBKYWluICA8YWFrYXNoX2phaW5A
YXBwbGUuY29tPgogCiAgICAgICAgIEFwcHNjYWxlIHF1ZXJ5IGZhaWxzIGJlY2F1c2Ugb2YgbWlz
c2luZyBpbmRleApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHAJKHJldmlzaW9uIDE5MDI3OCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjM1LDcgKzE2MzUsNyBAQCB2b2lkIFRlc3RD
b250cm9sbGVyOjpkZWNpZGVQb2xpY3lGb3JVc2VyCiAgICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICAgYXVkaW9EZXZpY2VVSUQgPSBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
Iik7CiAKLSAgICAgICAgICAgIFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RBbGxvdyhyZXF1
ZXN0LmdldCgpLCB2aWRlb0RldmljZVVJRC5nZXQoKSwgYXVkaW9EZXZpY2VVSUQuZ2V0KCkpOwor
ICAgICAgICAgICAgV0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdEFsbG93KHJlcXVlc3QuZ2V0
KCksIGF1ZGlvRGV2aWNlVUlELmdldCgpLCB2aWRlb0RldmljZVVJRC5nZXQoKSk7CiAKICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0RGVueShy
ZXF1ZXN0LmdldCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262168</attachid>
            <date>2015-09-30 09:43:09 -0700</date>
            <delta_ts>2015-09-30 11:30:34 -0700</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>fix_tests_patch_2.txt</filename>
            <type>text/plain</type>
            <size>19195</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDMwMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDE1LTA5LTI4ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjE5
MDI2Mik6IFVzZXIgbWVkaWEgdW5pdCB0ZXN0IGZhaWx1cmVzIGFmdGVyIHIxOTAyNjIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU4MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29u
bmVjdGlvbjo6Z2V0U3RhdHMpOiBEcml2ZS1ieSBmaXggdG8gZGVhbCB3aXRoIG9wdGlvbmFsIHBh
cmFtLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6OmNvbnN0cmFpbnRzVmFsaWRh
dGVkKTogU3dhcCB0aGUgdHJhY2sgcGFyYW1ldGVyIG9yZGVyLgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5oOgorCisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudDo6dmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMpOiBT
d2FwIHRoZSB0cmFjayBwYXJhbWV0ZXIgb3JkZXIuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjp2YWxpZGF0ZVJlcXVlc3RDb25z
dHJhaW50cyk6IElmIHRoZXJlIGlzIG5vIAorICAgICAgICAgIGNvbnN0cmFpbnQgZm9yIGEgbWVk
aWEgdHlwZSwgZG9uJ3QgcmV0dXJuIGEgZGV2aWNlIG9mIHRoYXQgdHlwZS4KKworICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ck93ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dy
OjptZWRpYVNvdXJjZXNBdmFpbGFibGUpOiBEaXR0by4KKworICAgICAgICAqIHBsYXRmb3JtL21v
Y2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRz
KTogRGl0dG8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2su
aDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyRXZlbnQ6On5UaW1lckV2ZW50KTogQ2xlYXIgdGhl
IG1fbW9jayBwb2ludGVyLgorCisgICAgICAgICogcGxhdGZvcm0vbW9jay9Vc2VyTWVkaWFDbGll
bnRNb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpVc2VyTWVkaWFDbGllbnRNb2NrOjpmaXJlKTog
RGVhbCB3aXRoIGVtcHR5IGRldmljZSB2ZWN0b3JzLgorCisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpJbnRlcm5hbHMpOiBEb24n
dCByZWdpc3RlciBVc2VyTWVkaWFDb250cm9sbGVyLCBpdCBpc24ndCBuZWVkZWQgZm9yCisgICAg
ICAgICAgV0tUUi4KKwogMjAxNS0wOS0yOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxl
LmNvbT4KIAogICAgICAgICBbV2luXSBGaXggYnVpbGQgYWZ0ZXIgcjE5MDI5NS4KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24uY3BwCShyZXZpc2lvbiAxOTAyNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTI5
LDcgKzUyOSw5IEBAIE1lZGlhU3RyZWFtKiBSVENQZWVyQ29ubmVjdGlvbjo6Z2V0U3RyZWEKIAog
dm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6Z2V0U3RhdHMoUGFzc1JlZlB0cjxSVENTdGF0c0NhbGxi
YWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNh
bGxiYWNrPiBlcnJvckNhbGxiYWNrLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+IHNlbGVj
dG9yKQogewotICAgIFJlZlB0cjxSVENTdGF0c1JlcXVlc3RJbXBsPiBzdGF0c1JlcXVlc3QgPSBS
VENTdGF0c1JlcXVlc3RJbXBsOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdWNj
ZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ssICZzZWxlY3Rvci0+cHJpdmF0ZVRyYWNrKCkpOwor
ICAgIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiB0cmFjayA9IHNlbGVjdG9yOworICAgIFJlZlB0
cjxSVENTdGF0c1JlcXVlc3RJbXBsPiBzdGF0c1JlcXVlc3QgPSBSVENTdGF0c1JlcXVlc3RJbXBs
OjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9y
Q2FsbGJhY2ssIHRyYWNrID8gJnRyYWNrLT5wcml2YXRlVHJhY2soKSA6IG51bGxwdHIpOworCiAg
ICAgLy8gRklYTUU6IEFkZCBwYXNzaW5nIHNlbGVjdG9yIGFzIHBhcnQgb2YgdGhlIHN0YXRzUmVx
dWVzdC4KICAgICBtX3BlZXJIYW5kbGVyLT5nZXRTdGF0cyhzdGF0c1JlcXVlc3QucmVsZWFzZSgp
KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlh
UmVxdWVzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAkocmV2aXNpb24gMTkwMjc4KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTIyLDcgKzEyMiw3IEBAIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6c3RhcnQoKQog
ICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnZhbGlkYXRlUmVxdWVz
dENvbnN0cmFpbnRzKHRoaXMsIG1fYXVkaW9Db25zdHJhaW50cywgbV92aWRlb0NvbnN0cmFpbnRz
KTsKIH0KIAotdm9pZCBVc2VyTWVkaWFSZXF1ZXN0Ojpjb25zdHJhaW50c1ZhbGlkYXRlZChjb25z
dCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgdmlkZW9UcmFja3MsIGNvbnN0
IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiBhdWRpb1RyYWNrcykKK3ZvaWQg
VXNlck1lZGlhUmVxdWVzdDo6Y29uc3RyYWludHNWYWxpZGF0ZWQoY29uc3QgVmVjdG9yPFJlZlB0
cjxSZWFsdGltZU1lZGlhU291cmNlPj4mIGF1ZGlvVHJhY2tzLCBjb25zdCBWZWN0b3I8UmVmUHRy
PFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgdmlkZW9UcmFja3MpCiB7CiAgICAgZm9yIChhdXRvJiBh
dWRpb1RyYWNrIDogYXVkaW9UcmFja3MpCiAgICAgICAgIG1fYXVkaW9EZXZpY2VVSURzLmFwcGVu
ZChhdWRpb1RyYWNrLT5wZXJzaXN0ZW50SUQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAkocmV2aXNpb24g
MTkwMjc4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFS
ZXF1ZXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgxLDcgQEAgcHJpdmF0ZToKICAgICBV
c2VyTWVkaWFSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBVc2VyTWVkaWFDb250cm9s
bGVyKiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNz
UmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZpZGVvQ29uc3RyYWludHMsIE1lZGlhRGV2aWNlczo6
UHJvbWlzZSYmKTsKIAogICAgIC8vIE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQKLSAgICB2aXJ0
dWFsIHZvaWQgY29uc3RyYWludHNWYWxpZGF0ZWQoY29uc3QgVmVjdG9yPFJlZlB0cjxSZWFsdGlt
ZU1lZGlhU291cmNlPj4mLCBjb25zdCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+
PiYpIG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c1ZhbGlkYXRl
ZChjb25zdCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgYXVkaW9UcmFja3Ms
IGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiB2aWRlb1RyYWNrcykg
b3ZlcnJpZGUgZmluYWw7CiAgICAgdmlydHVhbCB2b2lkIGNvbnN0cmFpbnRzSW52YWxpZChjb25z
dCBTdHJpbmcmIGNvbnN0cmFpbnROYW1lKSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkQ3JlYXRlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1Qcml2YXRlPikgb3ZlcnJp
ZGUgZmluYWw7CiAgICAgdmlydHVhbCB2b2lkIGZhaWxlZFRvQ3JlYXRlU3RyZWFtV2l0aENvbnN0
cmFpbnRzRXJyb3IoY29uc3QgU3RyaW5nJiBjb25zdHJhaW50TmFtZSkgb3ZlcnJpZGUgZmluYWw7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNy
ZWF0aW9uQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudC5oCShyZXZpc2lvbiAxOTAyNzgpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNyZWF0aW9u
Q2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgTWVkaWFTdHJl
YW1DcmVhdGlvbkNsaWVudCA6IHB1YmxpYwogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhU3Ry
ZWFtQ3JlYXRpb25DbGllbnQoKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c1Zh
bGlkYXRlZChjb25zdCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgdmlkZW9U
cmFja3MsIGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiBhdWRpb1Ry
YWNrcykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c1ZhbGlkYXRlZChjb25zdCBW
ZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgYXVkaW9UcmFja3MsIGNvbnN0IFZl
Y3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiB2aWRlb1RyYWNrcykgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c0ludmFsaWQoY29uc3QgU3RyaW5nJiBjb25zdHJhaW50
TmFtZSkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZVN0cmVhbShQYXNzUmVmUHRy
PE1lZGlhU3RyZWFtUHJpdmF0ZT4pID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAJKHJldmlzaW9uIDE5MDI3OCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFj
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsOSBAQCB2b2lkIFJlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXJNYWM6OnZhbGlkCiB7CiAgICAgQVNTRVJUKGNsaWVudCk7CiAKKyAgICBWZWN0
b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBhdWRpb1NvdXJjZXM7CisgICAgVmVjdG9y
PFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gdmlkZW9Tb3VyY2VzOworCiAgICAgaWYgKGF1
ZGlvQ29uc3RyYWludHMpIHsKICAgICAgICAgU3RyaW5nIGludmFsaWRDb25zdHJhaW50OwogICAg
ICAgICBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS52ZXJpZnlDb25zdHJhaW50
c0Zvck1lZGlhVHlwZShuaWwsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvLCBhdWRpb0NvbnN0
cmFpbnRzLmdldCgpLCBpbnZhbGlkQ29uc3RyYWludCk7CkBAIC02Nyw2ICs3MCw4IEBAIHZvaWQg
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6dmFsaWQKICAgICAgICAgICAgIGNsaWVudC0+
Y29uc3RyYWludHNJbnZhbGlkKGludmFsaWRDb25zdHJhaW50KTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQorCisgICAgICAgIGF1ZGlvU291cmNlcyA9IEFWQ2FwdHVyZURldmljZU1h
bmFnZXI6OnNpbmdsZXRvbigpLmJlc3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvLCBhdWRpb0NvbnN0cmFpbnRzKTsKICAgICB9CiAK
ICAgICBpZiAodmlkZW9Db25zdHJhaW50cykgewpAQCAtNzYsMTAgKzgxLDEwIEBAIHZvaWQgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6dmFsaWQKICAgICAgICAgICAgIGNsaWVudC0+Y29u
c3RyYWludHNJbnZhbGlkKGludmFsaWRDb25zdHJhaW50KTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQorCisgICAgICAgIHZpZGVvU291cmNlcyA9IEFWQ2FwdHVyZURldmljZU1hbmFn
ZXI6OnNpbmdsZXRvbigpLmJlc3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvLCB2aWRlb0NvbnN0cmFpbnRzKTsKICAgICB9Ci0gICAg
VmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gYmVzdFZpZGVvU291cmNlcyA9IEFW
Q2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLmJlc3RTb3VyY2VzRm9yVHlwZUFuZENv
bnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvLCB2aWRlb0NvbnN0cmFp
bnRzKTsKLSAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBiZXN0QXVkaW9T
b3VyY2VzID0gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c2luZ2xldG9uKCkuYmVzdFNvdXJjZXNG
b3JUeXBlQW5kQ29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW8sIGF1
ZGlvQ29uc3RyYWludHMpOwotICAgIGNsaWVudC0+Y29uc3RyYWludHNWYWxpZGF0ZWQoYmVzdFZp
ZGVvU291cmNlcywgYmVzdEF1ZGlvU291cmNlcyk7CisgICAgY2xpZW50LT5jb25zdHJhaW50c1Zh
bGlkYXRlZChhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcyk7CiB9CiAKIHZvaWQgUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYzo6Y3JlYXRlTWVkaWFTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0
cmVhbUNyZWF0aW9uQ2xpZW50PiBwcnBRdWVyeUNsaWVudCwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0
cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZp
ZGVvQ29uc3RyYWludHMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAJKHJldmlzaW9uIDE5MDI3OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlck93ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Miw2ICsxNjIsOSBAQCBib29sIFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3I6OmdldE1lCiAKIHZvaWQgUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlck93cjo6bWVkaWFTb3VyY2VzQXZhaWxhYmxlKEdMaXN0KiBzb3VyY2VzKQogewor
ICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGF1ZGlvU291cmNlczsKKyAg
ICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiB2aWRlb1NvdXJjZXM7CisKICAg
ICBmb3IgKGF1dG8gaXRlbSA9IHNvdXJjZXM7IGl0ZW07IGl0ZW0gPSBpdGVtLT5uZXh0KSB7CiAg
ICAgICAgIE93ck1lZGlhU291cmNlKiBzb3VyY2UgPSBPV1JfTUVESUFfU09VUkNFKGl0ZW0tPmRh
dGEpOwogCkBAIC0xODcsMTAgKzE5MCwxNCBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJPd3I6Om1lZGlhCiAgICAgICAgIGlmIChzb3VyY2VJdGVyYXRvciA9PSBtX3NvdXJjZU1hcC5l
bmQoKSkKICAgICAgICAgICAgIG1fc291cmNlTWFwLmFkZChpZCwgbWVkaWFTb3VyY2UpOwogCisg
ICAgICAgIGlmIChtZWRpYVR5cGUgJiBPV1JfTUVESUFfVFlQRV9BVURJTykKKyAgICAgICAgICAg
IGF1ZGlvU291cmNlcy5hcHBlbmQobWVkaWFTb3VyY2UpOworICAgICAgICBlbHNlIGlmIChtZWRp
YVR5cGUgJiBPV1JfTUVESUFfVFlQRV9WSURFTykKKyAgICAgICAgICAgIHZpZGVvU291cmNlcy5h
cHBlbmQobWVkaWFTb3VyY2UpOwogICAgIH0KIAogICAgIC8vIFRPRE86IE1ha2Ugc3VyZSBjb250
cmFpbnRzIGFyZSBhY3R1YWxseSB2YWxpZGF0ZWQgYnkgY2hlY2tpbmcgc291cmNlIHR5cGVzLgot
ICAgIG1fY2xpZW50LT5jb25zdHJhaW50c1ZhbGlkYXRlZChWZWN0b3I8UmVmUHRyPFJlYWx0aW1l
TWVkaWFTb3VyY2U+PigpLCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PigpKTsK
KyAgICBtX2NsaWVudC0+Y29uc3RyYWludHNWYWxpZGF0ZWQoYXVkaW9Tb3VyY2VzLCB2aWRlb1Nv
dXJjZXMpOwogfQogCiBQYXNzUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJPd3I6OmZpcnN0U291cmNlKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUg
dHlwZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCShyZXZpc2lvbiAxOTAyNzgp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMxLDIzICsxMzEsNDEgQEAgdm9pZCBNb2Nr
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dmFsaQogewogICAgIEFTU0VSVChjbGllbnQpOwog
CisgICAgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gYXVkaW9Tb3VyY2VzOwor
ICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IHZpZGVvU291cmNlczsKKyAg
ICBNb2NrU291cmNlTWFwJiBtYXAgPSBtb2NrU291cmNlTWFwKCk7CisKICAgICBpZiAoYXVkaW9D
b25zdHJhaW50cykgewogICAgICAgICBTdHJpbmcgaW52YWxpZFF1ZXJ5ID0gTWVkaWFDb25zdHJh
aW50c01vY2s6OnZlcmlmeUNvbnN0cmFpbnRzKGF1ZGlvQ29uc3RyYWludHMpOwogICAgICAgICBp
ZiAoIWludmFsaWRRdWVyeS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGNsaWVudC0+Y29uc3Ry
YWludHNJbnZhbGlkKGludmFsaWRRdWVyeSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KKworICAgICAgICBNb2NrU291cmNlTWFwOjppdGVyYXRvciBpdCA9IG1hcC5maW5kKG1vY2tB
dWRpb1NvdXJjZUlEKCkpOworICAgICAgICBBU1NFUlQoaXQgIT0gbWFwLmVuZCgpKTsKKworICAg
ICAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gYXVkaW9Tb3VyY2UgPSBpdC0+dmFsdWU7
CisgICAgICAgIGF1ZGlvU291cmNlLT5yZXNldCgpOworICAgICAgICBhdWRpb1NvdXJjZXMuYXBw
ZW5kKGF1ZGlvU291cmNlLnJlbGVhc2UoKSk7CiAgICAgfQotICAgIAorCiAgICAgaWYgKHZpZGVv
Q29uc3RyYWludHMpIHsKICAgICAgICAgU3RyaW5nIGludmFsaWRRdWVyeSA9IE1lZGlhQ29uc3Ry
YWludHNNb2NrOjp2ZXJpZnlDb25zdHJhaW50cyh2aWRlb0NvbnN0cmFpbnRzKTsKICAgICAgICAg
aWYgKCFpbnZhbGlkUXVlcnkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBjbGllbnQtPmNvbnN0
cmFpbnRzSW52YWxpZChpbnZhbGlkUXVlcnkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CisKKyAgICAgICAgTW9ja1NvdXJjZU1hcDo6aXRlcmF0b3IgaXQgPSBtYXAuZmluZChtb2Nr
VmlkZW9Tb3VyY2VJRCgpKTsKKyAgICAgICAgQVNTRVJUKGl0ICE9IG1hcC5lbmQoKSk7CisKKyAg
ICAgICAgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IHZpZGVvU291cmNlID0gaXQtPnZhbHVl
OworICAgICAgICB2aWRlb1NvdXJjZS0+cmVzZXQoKTsKKyAgICAgICAgdmlkZW9Tb3VyY2VzLmFw
cGVuZCh2aWRlb1NvdXJjZS5yZWxlYXNlKCkpOwogICAgIH0KIAotICAgIGNsaWVudC0+Y29uc3Ry
YWludHNWYWxpZGF0ZWQoVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4oKSwgVmVj
dG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4oKSk7CisgICAgY2xpZW50LT5jb25zdHJh
aW50c1ZhbGlkYXRlZChhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcyk7CiB9CiAKIHZvaWQgTW9j
a1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4gcHJwUXVlcnlDbGllbnQsIFBhc3NSZWZQdHI8TWVk
aWFDb25zdHJhaW50cz4gYXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFp
bnRzPiB2aWRlb0NvbnN0cmFpbnRzKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgJKHJldmlzaW9uIDE5MDI3OCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCSh3b3JraW5n
IGNvcHkpCkBAIC02Niw3ICs2NiwxMCBAQCBwdWJsaWM6CiAgICAgICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDAuNSk7CiAgICAgfQogCi0gICAgdmlydHVhbCB+VGltZXJFdmVudCgpIHsgfQorICAg
IHZpcnR1YWwgflRpbWVyRXZlbnQoKQorICAgIHsKKyAgICAgICAgbV9tb2NrID0gbnVsbHB0cjsK
KyAgICB9CiAKICAgICB2b2lkIHRpbWVyRmlyZWQoKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svVXNlck1lZGlhQ2xpZW50TW9jay5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVXNlck1lZGlhQ2xpZW50TW9jay5oCShyZXZpc2lv
biAxOTAyNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1VzZXJNZWRpYUNsaWVu
dE1vY2suaAkod29ya2luZyBjb3B5KQpAQCAtNDQsMTAgKzQ0LDE3IEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgZmlyZSgpIG92ZXJyaWRlCiAgICAgewotICAgICAgICBpZiAobV9yZXF1ZXN0U3VjY2Vz
cykKLSAgICAgICAgICAgIG1fcmVxdWVzdC0+dXNlck1lZGlhQWNjZXNzR3JhbnRlZChtX3JlcXVl
c3QtPnZpZGVvRGV2aWNlVUlEcygpLmF0KDApLCBtX3JlcXVlc3QtPmF1ZGlvRGV2aWNlVUlEcygp
LmF0KDApKTsKLSAgICAgICAgZWxzZQorICAgICAgICBpZiAoIW1fcmVxdWVzdFN1Y2Nlc3MpIHsK
ICAgICAgICAgICAgIG1fcmVxdWVzdC0+dXNlck1lZGlhQWNjZXNzRGVuaWVkKCk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBhdXRvIGF1ZGlvRGV2aWNlVUlEcyA9
IG1fcmVxdWVzdC0+YXVkaW9EZXZpY2VVSURzKCk7CisgICAgICAgIGF1dG8gdmlkZW9EZXZpY2VV
SURzICA9IG1fcmVxdWVzdC0+dmlkZW9EZXZpY2VVSURzKCk7CisgICAgICAgIFN0cmluZyBhbGxv
d2VkQXVkaW9VSUQgPSBhdWRpb0RldmljZVVJRHMuc2l6ZSgpID8gYXVkaW9EZXZpY2VVSURzLmF0
KDApIDogZW1wdHlTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5nIHZpZGVvQXVkaW9VSUQgPSB2aWRl
b0RldmljZVVJRHMuc2l6ZSgpID8gdmlkZW9EZXZpY2VVSURzLmF0KDApIDogZW1wdHlTdHJpbmco
KTsKKworICAgICAgICBtX3JlcXVlc3QtPnVzZXJNZWRpYUFjY2Vzc0dyYW50ZWQoYWxsb3dlZEF1
ZGlvVUlELCB2aWRlb0F1ZGlvVUlEKTsKICAgICB9CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAxOTAyNzgpCisrKyBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4Nyw4ICszODcs
NiBAQCBJbnRlcm5hbHM6OkludGVybmFscyhEb2N1bWVudCogZG9jdW1lbnQpCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKICAgICBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6cmVnaXN0
ZXJNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigpOwogICAgIGVuYWJsZU1vY2tSVENQZWVy
Q29ubmVjdGlvbkhhbmRsZXIoKTsKLSAgICBkb2N1bWVudC0+cGFnZSgpLT5yZW1vdmVTdXBwbGVt
ZW50KFVzZXJNZWRpYUNvbnRyb2xsZXI6OnN1cHBsZW1lbnROYW1lKCkpOwotICAgIFdlYkNvcmU6
OnByb3ZpZGVVc2VyTWVkaWFUbyhkb2N1bWVudC0+cGFnZSgpLCBuZXcgVXNlck1lZGlhQ2xpZW50
TW9jaygpKTsKICNlbmRpZgogfQogCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTAzMDEpCisrKyBUb29scy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wOS0yOCAgRXJpYyBDYXJsc29u
ICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIxOTAyNjIp
OiBVc2VyIG1lZGlhIHVuaXQgdGVzdCBmYWlsdXJlcyBhZnRlciByMTkwMjYyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk1ODAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6ZGVjaWRl
UG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RJZlBvc3NpYmxlKTogRml4IHBhcmFt
ZXRlcgorICAgICAgICAgIG9yZGVyIHRvIFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RBbGxv
dy4KKwogMjAxNS0wOS0yOCAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgQXBwc2NhbGUgcXVlcnkgZmFpbHMgYmVjYXVzZSBvZiBtaXNzaW5nIGluZGV4Cklu
ZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24g
MTkwMjc4KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE2MzUsNyArMTYzNSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmRl
Y2lkZVBvbGljeUZvclVzZXIKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBhdWRp
b0RldmljZVVJRCA9IFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCIiKTsKIAotICAgICAg
ICAgICAgV0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdEFsbG93KHJlcXVlc3QuZ2V0KCksIHZp
ZGVvRGV2aWNlVUlELmdldCgpLCBhdWRpb0RldmljZVVJRC5nZXQoKSk7CisgICAgICAgICAgICBX
S1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0QWxsb3cocmVxdWVzdC5nZXQoKSwgYXVkaW9EZXZp
Y2VVSUQuZ2V0KCksIHZpZGVvRGV2aWNlVUlELmdldCgpKTsKIAogICAgICAgICB9IGVsc2UKICAg
ICAgICAgICAgIFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3REZW55KHJlcXVlc3QuZ2V0KCkp
OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMTkwMzQ3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDktMjggIEVyaWMgQ2FybHNvbiAg
PGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMTkwMjYyKTog
VXNlciBtZWRpYSB1bml0IHRlc3QgZmFpbHVyZXMgYWZ0ZXIgcjE5MDI2MgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NTgwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9uczogVW5za2lwIHRlc3RzLgorCiAyMDE1LTA5LTI5ICBSeWFuIEhhZGRhZCAgPHJ5YW5o
YWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBpT1Mtc2ltdWxhdG9yIHJlc3VsdHMg
Zm9yIGZhc3QvdGV4dC9tYXJrLW1hdGNoZXMtb3ZlcmZsb3ctY2xpcC5odG1sCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMTkwMjc4KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29w
eSkKQEAgLTY5OCwyNiArNjk4LDYgQEAgd2Via2l0Lm9yZy9iLzEyOTA1MCBmYXN0L3N1Yi1waXhl
bC9jb21wbwogCiB3ZWJraXQub3JnL2IvMTQ0NzcxIGVkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdGlv
bi1pbnZhbGlkLW9mZnNldC5odG1sIFsgQ3Jhc2ggXQogCi13ZWJraXQub3JnL2IvMTQ5NTgwIGZh
c3QvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLWdldFVzZXJNZWRpYS5odG1sIFsgQ3Jhc2ggXQot
d2Via2l0Lm9yZy9iLzE0OTU4MCBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWFkZC1lbmRl
ZC10cmFja3MuaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8xNDk1ODAgZmFzdC9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbS1hZGQtcmVtb3ZlLXRyYWNrcy5odG1sIFsgQ3Jhc2ggXQotd2Via2l0
Lm9yZy9iLzE0OTU4MCBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWFkZC10cmFja3MtdG8t
aW5hY3RpdmUtc3RyZWFtLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTQ5NTgwIGZhc3Qv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tY2xvbmUuaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcv
Yi8xNDk1ODAgZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1jb25zdHJ1Y3Qtd2l0aC1lbmRl
ZC10cmFja3MuaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8xNDk1ODAgZmFzdC9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbS1nZXRUcmFja3MuaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8x
NDk1ODAgZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNvbnN0cnVjdG9yLmh0bWwgWyBDcmFz
aCBdCi13ZWJraXQub3JnL2IvMTQ5NTgwIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
ay1jbG9uZS5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE0OTU4MCBmYXN0L21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtVHJhY2sta2luZC5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE0
OTU4MCBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2stc3RvcC5odG1sIFsgQ3Jhc2gg
XQotd2Via2l0Lm9yZy9iLzE0OTU4MCBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tF
dmVudC1jb25zdHJ1Y3Rvci5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE0OTU4MCBmYXN0
L21lZGlhc3RyZWFtL2RlbGF5ZWQtcGVybWlzc2lvbi1hbGxvd2VkLmh0bWwgWyBDcmFzaCBdCi13
ZWJraXQub3JnL2IvMTQ5NTgwIGZhc3QvbWVkaWFzdHJlYW0vZGVsYXllZC1wZXJtaXNzaW9uLWRl
bmllZC5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE0OTU4MCBmYXN0L21lZGlhc3RyZWFt
L2Vycm9yLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTQ5NTgwIGZhc3QvbWVkaWFzdHJl
YW0vZ2V0dXNlcm1lZGlhLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTQ5NTgwIGZhc3Qv
bWVkaWFzdHJlYW0vc3VjY2Vzcy5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE0OTU4MCBo
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9kaXNjb25uZWN0ZWQtZnJhbWUtcGVybWlzc2lv
bi1kZW5pZWQuaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8xNDk1ODAgaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zdHJlYW0vZGlzY29ubmVjdGVkLWZyYW1lLmh0bWwgWyBDcmFzaCBdCi0KICMv
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBvZiBDcmFzaGluZyB0ZXN0cwog
Iy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KQEAgLTEzOTgsMjEgKzEzNzgsNiBAQCB3
ZWJraXQub3JnL2IvMTQ2NzMxIGZhc3QvZXZlbnRzL3RvdWNoL3RhCiB3ZWJraXQub3JnL2IvMTQ2
NzMxIGZhc3QvZXZlbnRzL3RvdWNoL3RvdWNoLXNjYWxlZC1zY3JvbGxlZC5odG1sIFsgVGltZW91
dCBdCiB3ZWJraXQub3JnL2IvMTQ2NzMxIGZhc3QvZXZlbnRzL3RvdWNoL3RvdWNoLXN0YWxlLW5v
ZGUtY3Jhc2guaHRtbCBbIFRpbWVvdXQgXQogCi13ZWJraXQub3JnL2IvMTQ4NTY3IGZhc3QvbWVk
aWFzdHJlYW0vTWVkaWFEZXZpY2VzLWdldFVzZXJNZWRpYS5odG1sIFsgVGltZW91dCBdCi13ZWJr
aXQub3JnL2IvMTQ4NTY3IGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tYWRkLWVuZGVkLXRy
YWNrcy5odG1sIFsgVGltZW91dCBdCi13ZWJraXQub3JnL2IvMTQ4NTY3IGZhc3QvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW0tYWRkLXJlbW92ZS10cmFja3MuaHRtbCBbIFRpbWVvdXQgXQotd2Via2l0
Lm9yZy9iLzE0ODU2NyBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWFkZC10cmFja3MtdG8t
aW5hY3RpdmUtc3RyZWFtLmh0bWwgWyBUaW1lb3V0IF0KLXdlYmtpdC5vcmcvYi8xNDg1NjcgZmFz
dC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1jbG9uZS5odG1sIFsgVGltZW91dCBdCi13ZWJraXQu
b3JnL2IvMTQ4NTY3IGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tY29uc3RydWN0LXdpdGgt
ZW5kZWQtdHJhY2tzLmh0bWwgWyBUaW1lb3V0IF0KLXdlYmtpdC5vcmcvYi8xNDg1NjcgZmFzdC9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1nZXRUcmFja3MuaHRtbCBbIFRpbWVvdXQgXQotd2Via2l0
Lm9yZy9iLzE0ODU2NyBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtQ29uc3RydWN0b3IuaHRt
bCBbIFRpbWVvdXQgXQotd2Via2l0Lm9yZy9iLzE0ODU2NyBmYXN0L21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtVHJhY2stY2xvbmUuaHRtbCBbIFRpbWVvdXQgXQotd2Via2l0Lm9yZy9iLzE0ODU2NyBm
YXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2sta2luZC5odG1sIFsgVGltZW91dCBdCi13
ZWJraXQub3JnL2IvMTQ4NTY3IGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay1zdG9w
Lmh0bWwgWyBUaW1lb3V0IF0KLXdlYmtpdC5vcmcvYi8xNDg1NjcgZmFzdC9tZWRpYXN0cmVhbS9k
ZWxheWVkLXBlcm1pc3Npb24tYWxsb3dlZC5odG1sIFsgVGltZW91dCBdCi13ZWJraXQub3JnL2Iv
MTQ4NTY3IGZhc3QvbWVkaWFzdHJlYW0vZ2V0dXNlcm1lZGlhLmh0bWwgWyBUaW1lb3V0IF0KLXdl
YmtpdC5vcmcvYi8xNDg1NjcgZmFzdC9tZWRpYXN0cmVhbS9zdWNjZXNzLmh0bWwgWyBUaW1lb3V0
IF0KLQogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5kIG9mIFRlc3RzIHRp
bWluZyBvdXQKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCg==
</data>
<flag name="commit-queue"
          id="287343"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262185</attachid>
            <date>2015-09-30 11:30:34 -0700</date>
            <delta_ts>2015-10-19 03:56:55 -0700</delta_ts>
            <desc>Updated patch for landing.</desc>
            <filename>fix_tests_patch_2.txt</filename>
            <type>text/plain</type>
            <size>19192</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDMwMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDE1LTA5LTI4ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjE5
MDI2Mik6IFVzZXIgbWVkaWEgdW5pdCB0ZXN0IGZhaWx1cmVzIGFmdGVyIHIxOTAyNjIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU4MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29u
bmVjdGlvbjo6Z2V0U3RhdHMpOiBEcml2ZS1ieSBmaXggdG8gZGVhbCB3aXRoIG9wdGlvbmFsIHBh
cmFtLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6OmNvbnN0cmFpbnRzVmFsaWRh
dGVkKTogU3dhcCB0aGUgdHJhY2sgcGFyYW1ldGVyIG9yZGVyLgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5oOgorCisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudDo6dmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMpOiBT
d2FwIHRoZSB0cmFjayBwYXJhbWV0ZXIgb3JkZXIuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjp2YWxpZGF0ZVJlcXVlc3RDb25z
dHJhaW50cyk6IElmIHRoZXJlIGlzIG5vIAorICAgICAgICAgIGNvbnN0cmFpbnQgZm9yIGEgbWVk
aWEgdHlwZSwgZG9uJ3QgcmV0dXJuIGEgZGV2aWNlIG9mIHRoYXQgdHlwZS4KKworICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ck93ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dy
OjptZWRpYVNvdXJjZXNBdmFpbGFibGUpOiBEaXR0by4KKworICAgICAgICAqIHBsYXRmb3JtL21v
Y2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRz
KTogRGl0dG8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2su
aDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyRXZlbnQ6On5UaW1lckV2ZW50KTogQ2xlYXIgdGhl
IG1fbW9jayBwb2ludGVyLgorCisgICAgICAgICogcGxhdGZvcm0vbW9jay9Vc2VyTWVkaWFDbGll
bnRNb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpVc2VyTWVkaWFDbGllbnRNb2NrOjpmaXJlKTog
RGVhbCB3aXRoIGVtcHR5IGRldmljZSB2ZWN0b3JzLgorCisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpJbnRlcm5hbHMpOiBEb24n
dCByZWdpc3RlciBVc2VyTWVkaWFDb250cm9sbGVyLCBpdCBpc24ndCBuZWVkZWQgZm9yCisgICAg
ICAgICAgV0tUUi4KKwogMjAxNS0wOS0yOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxl
LmNvbT4KIAogICAgICAgICBbV2luXSBGaXggYnVpbGQgYWZ0ZXIgcjE5MDI5NS4KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24uY3BwCShyZXZpc2lvbiAxOTAyNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTI5
LDcgKzUyOSw5IEBAIE1lZGlhU3RyZWFtKiBSVENQZWVyQ29ubmVjdGlvbjo6Z2V0U3RyZWEKIAog
dm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6Z2V0U3RhdHMoUGFzc1JlZlB0cjxSVENTdGF0c0NhbGxi
YWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5lY3Rpb25FcnJvckNh
bGxiYWNrPiBlcnJvckNhbGxiYWNrLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+IHNlbGVj
dG9yKQogewotICAgIFJlZlB0cjxSVENTdGF0c1JlcXVlc3RJbXBsPiBzdGF0c1JlcXVlc3QgPSBS
VENTdGF0c1JlcXVlc3RJbXBsOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdWNj
ZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ssICZzZWxlY3Rvci0+cHJpdmF0ZVRyYWNrKCkpOwor
ICAgIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiB0cmFjayA9IHNlbGVjdG9yOworICAgIFJlZlB0
cjxSVENTdGF0c1JlcXVlc3RJbXBsPiBzdGF0c1JlcXVlc3QgPSBSVENTdGF0c1JlcXVlc3RJbXBs
OjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9y
Q2FsbGJhY2ssIHRyYWNrID8gJnRyYWNrLT5wcml2YXRlVHJhY2soKSA6IG51bGxwdHIpOworCiAg
ICAgLy8gRklYTUU6IEFkZCBwYXNzaW5nIHNlbGVjdG9yIGFzIHBhcnQgb2YgdGhlIHN0YXRzUmVx
dWVzdC4KICAgICBtX3BlZXJIYW5kbGVyLT5nZXRTdGF0cyhzdGF0c1JlcXVlc3QucmVsZWFzZSgp
KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlh
UmVxdWVzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAkocmV2aXNpb24gMTkwMjc4KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTIyLDcgKzEyMiw3IEBAIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6c3RhcnQoKQog
ICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnZhbGlkYXRlUmVxdWVz
dENvbnN0cmFpbnRzKHRoaXMsIG1fYXVkaW9Db25zdHJhaW50cywgbV92aWRlb0NvbnN0cmFpbnRz
KTsKIH0KIAotdm9pZCBVc2VyTWVkaWFSZXF1ZXN0Ojpjb25zdHJhaW50c1ZhbGlkYXRlZChjb25z
dCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgdmlkZW9UcmFja3MsIGNvbnN0
IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiBhdWRpb1RyYWNrcykKK3ZvaWQg
VXNlck1lZGlhUmVxdWVzdDo6Y29uc3RyYWludHNWYWxpZGF0ZWQoY29uc3QgVmVjdG9yPFJlZlB0
cjxSZWFsdGltZU1lZGlhU291cmNlPj4mIGF1ZGlvVHJhY2tzLCBjb25zdCBWZWN0b3I8UmVmUHRy
PFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgdmlkZW9UcmFja3MpCiB7CiAgICAgZm9yIChhdXRvJiBh
dWRpb1RyYWNrIDogYXVkaW9UcmFja3MpCiAgICAgICAgIG1fYXVkaW9EZXZpY2VVSURzLmFwcGVu
ZChhdWRpb1RyYWNrLT5wZXJzaXN0ZW50SUQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAkocmV2aXNpb24g
MTkwMjc4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFS
ZXF1ZXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgxLDcgQEAgcHJpdmF0ZToKICAgICBV
c2VyTWVkaWFSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBVc2VyTWVkaWFDb250cm9s
bGVyKiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNz
UmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZpZGVvQ29uc3RyYWludHMsIE1lZGlhRGV2aWNlczo6
UHJvbWlzZSYmKTsKIAogICAgIC8vIE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQKLSAgICB2aXJ0
dWFsIHZvaWQgY29uc3RyYWludHNWYWxpZGF0ZWQoY29uc3QgVmVjdG9yPFJlZlB0cjxSZWFsdGlt
ZU1lZGlhU291cmNlPj4mLCBjb25zdCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+
PiYpIG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c1ZhbGlkYXRl
ZChjb25zdCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgYXVkaW9UcmFja3Ms
IGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiB2aWRlb1RyYWNrcykg
b3ZlcnJpZGUgZmluYWw7CiAgICAgdmlydHVhbCB2b2lkIGNvbnN0cmFpbnRzSW52YWxpZChjb25z
dCBTdHJpbmcmIGNvbnN0cmFpbnROYW1lKSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkQ3JlYXRlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1Qcml2YXRlPikgb3ZlcnJp
ZGUgZmluYWw7CiAgICAgdmlydHVhbCB2b2lkIGZhaWxlZFRvQ3JlYXRlU3RyZWFtV2l0aENvbnN0
cmFpbnRzRXJyb3IoY29uc3QgU3RyaW5nJiBjb25zdHJhaW50TmFtZSkgb3ZlcnJpZGUgZmluYWw7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNy
ZWF0aW9uQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudC5oCShyZXZpc2lvbiAxOTAyNzgpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNyZWF0aW9u
Q2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgTWVkaWFTdHJl
YW1DcmVhdGlvbkNsaWVudCA6IHB1YmxpYwogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhU3Ry
ZWFtQ3JlYXRpb25DbGllbnQoKSB7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c1Zh
bGlkYXRlZChjb25zdCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgdmlkZW9U
cmFja3MsIGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiBhdWRpb1Ry
YWNrcykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c1ZhbGlkYXRlZChjb25zdCBW
ZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgYXVkaW9UcmFja3MsIGNvbnN0IFZl
Y3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiB2aWRlb1RyYWNrcykgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c0ludmFsaWQoY29uc3QgU3RyaW5nJiBjb25zdHJhaW50
TmFtZSkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZVN0cmVhbShQYXNzUmVmUHRy
PE1lZGlhU3RyZWFtUHJpdmF0ZT4pID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAJKHJldmlzaW9uIDE5MDI3OCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFj
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsOSBAQCB2b2lkIFJlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXJNYWM6OnZhbGlkCiB7CiAgICAgQVNTRVJUKGNsaWVudCk7CiAKKyAgICBWZWN0
b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBhdWRpb1NvdXJjZXM7CisgICAgVmVjdG9y
PFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gdmlkZW9Tb3VyY2VzOworCiAgICAgaWYgKGF1
ZGlvQ29uc3RyYWludHMpIHsKICAgICAgICAgU3RyaW5nIGludmFsaWRDb25zdHJhaW50OwogICAg
ICAgICBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS52ZXJpZnlDb25zdHJhaW50
c0Zvck1lZGlhVHlwZShuaWwsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvLCBhdWRpb0NvbnN0
cmFpbnRzLmdldCgpLCBpbnZhbGlkQ29uc3RyYWludCk7CkBAIC02Nyw2ICs3MCw4IEBAIHZvaWQg
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6dmFsaWQKICAgICAgICAgICAgIGNsaWVudC0+
Y29uc3RyYWludHNJbnZhbGlkKGludmFsaWRDb25zdHJhaW50KTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQorCisgICAgICAgIGF1ZGlvU291cmNlcyA9IEFWQ2FwdHVyZURldmljZU1h
bmFnZXI6OnNpbmdsZXRvbigpLmJlc3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvLCBhdWRpb0NvbnN0cmFpbnRzKTsKICAgICB9CiAK
ICAgICBpZiAodmlkZW9Db25zdHJhaW50cykgewpAQCAtNzYsMTAgKzgxLDEwIEBAIHZvaWQgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6dmFsaWQKICAgICAgICAgICAgIGNsaWVudC0+Y29u
c3RyYWludHNJbnZhbGlkKGludmFsaWRDb25zdHJhaW50KTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQorCisgICAgICAgIHZpZGVvU291cmNlcyA9IEFWQ2FwdHVyZURldmljZU1hbmFn
ZXI6OnNpbmdsZXRvbigpLmJlc3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvLCB2aWRlb0NvbnN0cmFpbnRzKTsKICAgICB9Ci0gICAg
VmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gYmVzdFZpZGVvU291cmNlcyA9IEFW
Q2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLmJlc3RTb3VyY2VzRm9yVHlwZUFuZENv
bnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvLCB2aWRlb0NvbnN0cmFp
bnRzKTsKLSAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBiZXN0QXVkaW9T
b3VyY2VzID0gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c2luZ2xldG9uKCkuYmVzdFNvdXJjZXNG
b3JUeXBlQW5kQ29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW8sIGF1
ZGlvQ29uc3RyYWludHMpOwotICAgIGNsaWVudC0+Y29uc3RyYWludHNWYWxpZGF0ZWQoYmVzdFZp
ZGVvU291cmNlcywgYmVzdEF1ZGlvU291cmNlcyk7CisgICAgY2xpZW50LT5jb25zdHJhaW50c1Zh
bGlkYXRlZChhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcyk7CiB9CiAKIHZvaWQgUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYzo6Y3JlYXRlTWVkaWFTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0
cmVhbUNyZWF0aW9uQ2xpZW50PiBwcnBRdWVyeUNsaWVudCwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0
cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZp
ZGVvQ29uc3RyYWludHMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAJKHJldmlzaW9uIDE5MDI3OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlck93ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Miw2ICsxNjIsOSBAQCBib29sIFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3I6OmdldE1lCiAKIHZvaWQgUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlck93cjo6bWVkaWFTb3VyY2VzQXZhaWxhYmxlKEdMaXN0KiBzb3VyY2VzKQogewor
ICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGF1ZGlvU291cmNlczsKKyAg
ICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiB2aWRlb1NvdXJjZXM7CisKICAg
ICBmb3IgKGF1dG8gaXRlbSA9IHNvdXJjZXM7IGl0ZW07IGl0ZW0gPSBpdGVtLT5uZXh0KSB7CiAg
ICAgICAgIE93ck1lZGlhU291cmNlKiBzb3VyY2UgPSBPV1JfTUVESUFfU09VUkNFKGl0ZW0tPmRh
dGEpOwogCkBAIC0xODcsMTAgKzE5MCwxNCBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJPd3I6Om1lZGlhCiAgICAgICAgIGlmIChzb3VyY2VJdGVyYXRvciA9PSBtX3NvdXJjZU1hcC5l
bmQoKSkKICAgICAgICAgICAgIG1fc291cmNlTWFwLmFkZChpZCwgbWVkaWFTb3VyY2UpOwogCisg
ICAgICAgIGlmIChtZWRpYVR5cGUgJiBPV1JfTUVESUFfVFlQRV9BVURJTykKKyAgICAgICAgICAg
IGF1ZGlvU291cmNlcy5hcHBlbmQobWVkaWFTb3VyY2UpOworICAgICAgICBlbHNlIGlmIChtZWRp
YVR5cGUgJiBPV1JfTUVESUFfVFlQRV9WSURFTykKKyAgICAgICAgICAgIHZpZGVvU291cmNlcy5h
cHBlbmQobWVkaWFTb3VyY2UpOwogICAgIH0KIAogICAgIC8vIFRPRE86IE1ha2Ugc3VyZSBjb250
cmFpbnRzIGFyZSBhY3R1YWxseSB2YWxpZGF0ZWQgYnkgY2hlY2tpbmcgc291cmNlIHR5cGVzLgot
ICAgIG1fY2xpZW50LT5jb25zdHJhaW50c1ZhbGlkYXRlZChWZWN0b3I8UmVmUHRyPFJlYWx0aW1l
TWVkaWFTb3VyY2U+PigpLCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PigpKTsK
KyAgICBtX2NsaWVudC0+Y29uc3RyYWludHNWYWxpZGF0ZWQoYXVkaW9Tb3VyY2VzLCB2aWRlb1Nv
dXJjZXMpOwogfQogCiBQYXNzUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJPd3I6OmZpcnN0U291cmNlKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUg
dHlwZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCShyZXZpc2lvbiAxOTAyNzgp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMxLDIzICsxMzEsNDEgQEAgdm9pZCBNb2Nr
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dmFsaQogewogICAgIEFTU0VSVChjbGllbnQpOwog
CisgICAgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gYXVkaW9Tb3VyY2VzOwor
ICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IHZpZGVvU291cmNlczsKKyAg
ICBNb2NrU291cmNlTWFwJiBtYXAgPSBtb2NrU291cmNlTWFwKCk7CisKICAgICBpZiAoYXVkaW9D
b25zdHJhaW50cykgewogICAgICAgICBTdHJpbmcgaW52YWxpZFF1ZXJ5ID0gTWVkaWFDb25zdHJh
aW50c01vY2s6OnZlcmlmeUNvbnN0cmFpbnRzKGF1ZGlvQ29uc3RyYWludHMpOwogICAgICAgICBp
ZiAoIWludmFsaWRRdWVyeS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGNsaWVudC0+Y29uc3Ry
YWludHNJbnZhbGlkKGludmFsaWRRdWVyeSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KKworICAgICAgICBNb2NrU291cmNlTWFwOjppdGVyYXRvciBpdCA9IG1hcC5maW5kKG1vY2tB
dWRpb1NvdXJjZUlEKCkpOworICAgICAgICBBU1NFUlQoaXQgIT0gbWFwLmVuZCgpKTsKKworICAg
ICAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gYXVkaW9Tb3VyY2UgPSBpdC0+dmFsdWU7
CisgICAgICAgIGF1ZGlvU291cmNlLT5yZXNldCgpOworICAgICAgICBhdWRpb1NvdXJjZXMuYXBw
ZW5kKGF1ZGlvU291cmNlLnJlbGVhc2UoKSk7CiAgICAgfQotICAgIAorCiAgICAgaWYgKHZpZGVv
Q29uc3RyYWludHMpIHsKICAgICAgICAgU3RyaW5nIGludmFsaWRRdWVyeSA9IE1lZGlhQ29uc3Ry
YWludHNNb2NrOjp2ZXJpZnlDb25zdHJhaW50cyh2aWRlb0NvbnN0cmFpbnRzKTsKICAgICAgICAg
aWYgKCFpbnZhbGlkUXVlcnkuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBjbGllbnQtPmNvbnN0
cmFpbnRzSW52YWxpZChpbnZhbGlkUXVlcnkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CisKKyAgICAgICAgTW9ja1NvdXJjZU1hcDo6aXRlcmF0b3IgaXQgPSBtYXAuZmluZChtb2Nr
VmlkZW9Tb3VyY2VJRCgpKTsKKyAgICAgICAgQVNTRVJUKGl0ICE9IG1hcC5lbmQoKSk7CisKKyAg
ICAgICAgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IHZpZGVvU291cmNlID0gaXQtPnZhbHVl
OworICAgICAgICB2aWRlb1NvdXJjZS0+cmVzZXQoKTsKKyAgICAgICAgdmlkZW9Tb3VyY2VzLmFw
cGVuZCh2aWRlb1NvdXJjZS5yZWxlYXNlKCkpOwogICAgIH0KIAotICAgIGNsaWVudC0+Y29uc3Ry
YWludHNWYWxpZGF0ZWQoVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4oKSwgVmVj
dG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4oKSk7CisgICAgY2xpZW50LT5jb25zdHJh
aW50c1ZhbGlkYXRlZChhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcyk7CiB9CiAKIHZvaWQgTW9j
a1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4gcHJwUXVlcnlDbGllbnQsIFBhc3NSZWZQdHI8TWVk
aWFDb25zdHJhaW50cz4gYXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFp
bnRzPiB2aWRlb0NvbnN0cmFpbnRzKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgJKHJldmlzaW9uIDE5MDI3OCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCSh3b3JraW5n
IGNvcHkpCkBAIC02Niw3ICs2NiwxMCBAQCBwdWJsaWM6CiAgICAgICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDAuNSk7CiAgICAgfQogCi0gICAgdmlydHVhbCB+VGltZXJFdmVudCgpIHsgfQorICAg
IHZpcnR1YWwgflRpbWVyRXZlbnQoKQorICAgIHsKKyAgICAgICAgbV9tb2NrID0gbnVsbHB0cjsK
KyAgICB9CiAKICAgICB2b2lkIHRpbWVyRmlyZWQoKQogICAgIHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svVXNlck1lZGlhQ2xpZW50TW9jay5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVXNlck1lZGlhQ2xpZW50TW9jay5oCShyZXZpc2lv
biAxOTAyNzgpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1VzZXJNZWRpYUNsaWVu
dE1vY2suaAkod29ya2luZyBjb3B5KQpAQCAtNDQsMTAgKzQ0LDE3IEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgZmlyZSgpIG92ZXJyaWRlCiAgICAgewotICAgICAgICBpZiAobV9yZXF1ZXN0U3VjY2Vz
cykKLSAgICAgICAgICAgIG1fcmVxdWVzdC0+dXNlck1lZGlhQWNjZXNzR3JhbnRlZChtX3JlcXVl
c3QtPnZpZGVvRGV2aWNlVUlEcygpLmF0KDApLCBtX3JlcXVlc3QtPmF1ZGlvRGV2aWNlVUlEcygp
LmF0KDApKTsKLSAgICAgICAgZWxzZQorICAgICAgICBpZiAoIW1fcmVxdWVzdFN1Y2Nlc3MpIHsK
ICAgICAgICAgICAgIG1fcmVxdWVzdC0+dXNlck1lZGlhQWNjZXNzRGVuaWVkKCk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBhdXRvIGF1ZGlvRGV2aWNlVUlEcyA9
IG1fcmVxdWVzdC0+YXVkaW9EZXZpY2VVSURzKCk7CisgICAgICAgIGF1dG8gdmlkZW9EZXZpY2VV
SURzICA9IG1fcmVxdWVzdC0+dmlkZW9EZXZpY2VVSURzKCk7CisgICAgICAgIFN0cmluZyBhbGxv
d2VkQXVkaW9VSUQgPSBhdWRpb0RldmljZVVJRHMuc2l6ZSgpID8gYXVkaW9EZXZpY2VVSURzLmF0
KDApIDogZW1wdHlTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5nIHZpZGVvQXVkaW9VSUQgPSB2aWRl
b0RldmljZVVJRHMuc2l6ZSgpID8gdmlkZW9EZXZpY2VVSURzLmF0KDApIDogZW1wdHlTdHJpbmco
KTsKKworICAgICAgICBtX3JlcXVlc3QtPnVzZXJNZWRpYUFjY2Vzc0dyYW50ZWQoYWxsb3dlZEF1
ZGlvVUlELCB2aWRlb0F1ZGlvVUlEKTsKICAgICB9CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAxOTAyNzgpCisrKyBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4Nyw4ICszODcs
NiBAQCBJbnRlcm5hbHM6OkludGVybmFscyhEb2N1bWVudCogZG9jdW1lbnQpCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKICAgICBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6cmVnaXN0
ZXJNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigpOwogICAgIGVuYWJsZU1vY2tSVENQZWVy
Q29ubmVjdGlvbkhhbmRsZXIoKTsKLSAgICBkb2N1bWVudC0+cGFnZSgpLT5yZW1vdmVTdXBwbGVt
ZW50KFVzZXJNZWRpYUNvbnRyb2xsZXI6OnN1cHBsZW1lbnROYW1lKCkpOwotICAgIFdlYkNvcmU6
OnByb3ZpZGVVc2VyTWVkaWFUbyhkb2N1bWVudC0+cGFnZSgpLCBuZXcgVXNlck1lZGlhQ2xpZW50
TW9jaygpKTsKICNlbmRpZgogfQogCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTAzMDEpCisrKyBUb29scy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wOS0yOCAgRXJpYyBDYXJsc29u
ICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIxOTAyNjIp
OiBVc2VyIG1lZGlhIHVuaXQgdGVzdCBmYWlsdXJlcyBhZnRlciByMTkwMjYyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk1ODAKKworICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6ZGVjaWRlUG9s
aWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RJZlBvc3NpYmxlKTogRml4IHBhcmFtZXRl
cgorICAgICAgICAgIG9yZGVyIHRvIFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RBbGxvdy4K
KwogMjAxNS0wOS0yOCAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgQXBwc2NhbGUgcXVlcnkgZmFpbHMgYmVjYXVzZSBvZiBtaXNzaW5nIGluZGV4CkluZGV4
OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMTkw
Mjc4KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE2MzUsNyArMTYzNSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmRlY2lk
ZVBvbGljeUZvclVzZXIKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBhdWRpb0Rl
dmljZVVJRCA9IFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCIiKTsKIAotICAgICAgICAg
ICAgV0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdEFsbG93KHJlcXVlc3QuZ2V0KCksIHZpZGVv
RGV2aWNlVUlELmdldCgpLCBhdWRpb0RldmljZVVJRC5nZXQoKSk7CisgICAgICAgICAgICBXS1Vz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0QWxsb3cocmVxdWVzdC5nZXQoKSwgYXVkaW9EZXZpY2VV
SUQuZ2V0KCksIHZpZGVvRGV2aWNlVUlELmdldCgpKTsKIAogICAgICAgICB9IGVsc2UKICAgICAg
ICAgICAgIFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3REZW55KHJlcXVlc3QuZ2V0KCkpOwpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gMTkwMzQ3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDktMjggIEVyaWMgQ2FybHNvbiAgPGVy
aWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMTkwMjYyKTogVXNl
ciBtZWRpYSB1bml0IHRlc3QgZmFpbHVyZXMgYWZ0ZXIgcjE5MDI2MgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NTgwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0
aW9uczogVW5za2lwIHRlc3RzLgorCiAyMDE1LTA5LTI5ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRk
YWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBpT1Mtc2ltdWxhdG9yIHJlc3VsdHMgZm9y
IGZhc3QvdGV4dC9tYXJrLW1hdGNoZXMtb3ZlcmZsb3ctY2xpcC5odG1sCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMTkwMjc4KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkK
QEAgLTY5OCwyNiArNjk4LDYgQEAgd2Via2l0Lm9yZy9iLzEyOTA1MCBmYXN0L3N1Yi1waXhlbC9j
b21wbwogCiB3ZWJraXQub3JnL2IvMTQ0NzcxIGVkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdGlvbi1p
bnZhbGlkLW9mZnNldC5odG1sIFsgQ3Jhc2ggXQogCi13ZWJraXQub3JnL2IvMTQ5NTgwIGZhc3Qv
bWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLWdldFVzZXJNZWRpYS5odG1sIFsgQ3Jhc2ggXQotd2Vi
a2l0Lm9yZy9iLzE0OTU4MCBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWFkZC1lbmRlZC10
cmFja3MuaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8xNDk1ODAgZmFzdC9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbS1hZGQtcmVtb3ZlLXRyYWNrcy5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9y
Zy9iLzE0OTU4MCBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWFkZC10cmFja3MtdG8taW5h
Y3RpdmUtc3RyZWFtLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTQ5NTgwIGZhc3QvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW0tY2xvbmUuaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8x
NDk1ODAgZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1jb25zdHJ1Y3Qtd2l0aC1lbmRlZC10
cmFja3MuaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8xNDk1ODAgZmFzdC9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbS1nZXRUcmFja3MuaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8xNDk1
ODAgZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNvbnN0cnVjdG9yLmh0bWwgWyBDcmFzaCBd
Ci13ZWJraXQub3JnL2IvMTQ5NTgwIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay1j
bG9uZS5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE0OTU4MCBmYXN0L21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtVHJhY2sta2luZC5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE0OTU4
MCBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2stc3RvcC5odG1sIFsgQ3Jhc2ggXQot
d2Via2l0Lm9yZy9iLzE0OTU4MCBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tFdmVu
dC1jb25zdHJ1Y3Rvci5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE0OTU4MCBmYXN0L21l
ZGlhc3RyZWFtL2RlbGF5ZWQtcGVybWlzc2lvbi1hbGxvd2VkLmh0bWwgWyBDcmFzaCBdCi13ZWJr
aXQub3JnL2IvMTQ5NTgwIGZhc3QvbWVkaWFzdHJlYW0vZGVsYXllZC1wZXJtaXNzaW9uLWRlbmll
ZC5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE0OTU4MCBmYXN0L21lZGlhc3RyZWFtL2Vy
cm9yLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTQ5NTgwIGZhc3QvbWVkaWFzdHJlYW0v
Z2V0dXNlcm1lZGlhLmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMTQ5NTgwIGZhc3QvbWVk
aWFzdHJlYW0vc3VjY2Vzcy5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE0OTU4MCBodHRw
L3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9kaXNjb25uZWN0ZWQtZnJhbWUtcGVybWlzc2lvbi1k
ZW5pZWQuaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8xNDk1ODAgaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zdHJlYW0vZGlzY29ubmVjdGVkLWZyYW1lLmh0bWwgWyBDcmFzaCBdCi0KICMvLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBvZiBDcmFzaGluZyB0ZXN0cwogIy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KQEAgLTEzOTgsMjEgKzEzNzgsNiBAQCB3ZWJr
aXQub3JnL2IvMTQ2NzMxIGZhc3QvZXZlbnRzL3RvdWNoL3RhCiB3ZWJraXQub3JnL2IvMTQ2NzMx
IGZhc3QvZXZlbnRzL3RvdWNoL3RvdWNoLXNjYWxlZC1zY3JvbGxlZC5odG1sIFsgVGltZW91dCBd
CiB3ZWJraXQub3JnL2IvMTQ2NzMxIGZhc3QvZXZlbnRzL3RvdWNoL3RvdWNoLXN0YWxlLW5vZGUt
Y3Jhc2guaHRtbCBbIFRpbWVvdXQgXQogCi13ZWJraXQub3JnL2IvMTQ4NTY3IGZhc3QvbWVkaWFz
dHJlYW0vTWVkaWFEZXZpY2VzLWdldFVzZXJNZWRpYS5odG1sIFsgVGltZW91dCBdCi13ZWJraXQu
b3JnL2IvMTQ4NTY3IGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tYWRkLWVuZGVkLXRyYWNr
cy5odG1sIFsgVGltZW91dCBdCi13ZWJraXQub3JnL2IvMTQ4NTY3IGZhc3QvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW0tYWRkLXJlbW92ZS10cmFja3MuaHRtbCBbIFRpbWVvdXQgXQotd2Via2l0Lm9y
Zy9iLzE0ODU2NyBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWFkZC10cmFja3MtdG8taW5h
Y3RpdmUtc3RyZWFtLmh0bWwgWyBUaW1lb3V0IF0KLXdlYmtpdC5vcmcvYi8xNDg1NjcgZmFzdC9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1jbG9uZS5odG1sIFsgVGltZW91dCBdCi13ZWJraXQub3Jn
L2IvMTQ4NTY3IGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tY29uc3RydWN0LXdpdGgtZW5k
ZWQtdHJhY2tzLmh0bWwgWyBUaW1lb3V0IF0KLXdlYmtpdC5vcmcvYi8xNDg1NjcgZmFzdC9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS1nZXRUcmFja3MuaHRtbCBbIFRpbWVvdXQgXQotd2Via2l0Lm9y
Zy9iLzE0ODU2NyBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtQ29uc3RydWN0b3IuaHRtbCBb
IFRpbWVvdXQgXQotd2Via2l0Lm9yZy9iLzE0ODU2NyBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtVHJhY2stY2xvbmUuaHRtbCBbIFRpbWVvdXQgXQotd2Via2l0Lm9yZy9iLzE0ODU2NyBmYXN0
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2sta2luZC5odG1sIFsgVGltZW91dCBdCi13ZWJr
aXQub3JnL2IvMTQ4NTY3IGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay1zdG9wLmh0
bWwgWyBUaW1lb3V0IF0KLXdlYmtpdC5vcmcvYi8xNDg1NjcgZmFzdC9tZWRpYXN0cmVhbS9kZWxh
eWVkLXBlcm1pc3Npb24tYWxsb3dlZC5odG1sIFsgVGltZW91dCBdCi13ZWJraXQub3JnL2IvMTQ4
NTY3IGZhc3QvbWVkaWFzdHJlYW0vZ2V0dXNlcm1lZGlhLmh0bWwgWyBUaW1lb3V0IF0KLXdlYmtp
dC5vcmcvYi8xNDg1NjcgZmFzdC9tZWRpYXN0cmVhbS9zdWNjZXNzLmh0bWwgWyBUaW1lb3V0IF0K
LQogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5kIG9mIFRlc3RzIHRpbWlu
ZyBvdXQKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263468</attachid>
            <date>2015-10-19 03:57:01 -0700</date>
            <delta_ts>2015-10-19 11:01:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149580-20151019195619.patch</filename>
            <type>text/plain</type>
            <size>2525</size>
            <attacher name="ChangSeok Oh">changseok</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMjc3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWM5MjFlYzc2NGRhNzRjOWI3MWM1MmM3NTMxZDE5MjQw
NDZjMTZjZi4uYjBkNzI4NWFlNGMwZmY0YTRmMjZjZTAyMmUwOGMzZTU2YTE3NGMzNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDE1LTEwLTE5ICBDaGFuZ1Nlb2sgT2ggIDxjaGFuZ3Nlb2sub2hAY29sbGFib3JhLmNv
bT4KKworICAgICAgICBSRUdSRVNTSU9OKHIxOTAyNjIpOiBVc2VyIG1lZGlhIHVuaXQgdGVzdCBm
YWlsdXJlcyBhZnRlciByMTkwMjYyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDk1ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgdGVzdCBmYWlsdXJlcyBvbiB1c2VybWVkaWEtcGVybWlzc2lvbi1y
ZXF1ZXN0cyBhbmQgV2ViS2l0Mi5Vc2VyTWVkaWFCYXNpYyBoYXZlIGdvbmUuCisgICAgICAgIFNv
IHdlIGRvIG5vdCBuZWVkIHRvIHNraXAgdGhlbSBhbnltb3JlLgorCisgICAgICAgICogU2NyaXB0
cy9ydW4tZ3RrLXRlc3RzOgorICAgICAgICAoVGVzdFJ1bm5lcik6IERlbGV0ZWQuCisKIDIwMTUt
MTAtMTggIFN1bmdtYW5uIENobyAgPHN1bmdtYW5uLmNob0BuYXZlcmNvcnAuY29tPgogCiAgICAg
ICAgIFtXaW5dIENoYW5nZSB0aGUgRExMIG5hbWUgaW4gTWluaUJyb3dzZXJMaWIudmN4cHJvaiB0
byBtYXRjaCB3ZWJraXQub3JnL2IvMTUwMTI0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9y
dW4tZ3RrLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCmluZGV4IDQ4MTgxZWFk
YzIwM2Q4ZTFhY2IyNzM2ZmRlMzcxYjM2MzM2NzQyOTQuLmEzOGY1MTQ5ZTY3YTg0MzkyNjMwOWJl
YmMxMzA5MzA5Mzg0YzAzYWIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0
cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKQEAgLTYyLDcgKzYyLDYgQEAgY2xh
c3MgVGVzdFJ1bm5lcjoKIAogICAgIFNLSVBQRUQgPSBbCiAgICAgICAgIFNraXBwZWRUZXN0KCJX
ZWJLaXQyR3RrL1Rlc3RVSUNsaWVudCIsICIvd2Via2l0Mi9XZWJLaXRXZWJWaWV3L21vdXNlLXRh
cmdldCIsICJUZXN0IHRpbWVzIG91dCBhZnRlciByMTUwODkwIiwgMTE3Njg5KSwKLSAgICAgICAg
U2tpcHBlZFRlc3QoIldlYktpdDJHdGsvVGVzdFVJQ2xpZW50IiwgIi93ZWJraXQyL1dlYktpdFdl
YlZpZXcvdXNlcm1lZGlhLXBlcm1pc3Npb24tcmVxdWVzdHMiLCAiVGVzdCBmYWlscyBhZnRlciBy
MTkwMjYyIiwgMTQ5NTgwKSwKICAgICAgICAgU2tpcHBlZFRlc3QoIldlYktpdDJHdGsvVGVzdENv
b2tpZU1hbmFnZXIiLCAiL3dlYmtpdDIvV2ViS2l0Q29va2llTWFuYWdlci9wZXJzaXN0ZW50LXN0
b3JhZ2UiLCAiVGVzdCBpcyBmbGFreSIsIDEzNDU4MCksCiAgICAgICAgIFNraXBwZWRUZXN0KCJX
ZWJLaXQyR3RrL1Rlc3RXZWJFeHRlbnNpb25zIiwgIi93ZWJraXQyL1dlYktpdFdlYlZpZXcvaW5z
dGFsbC1taXNzaW5nLXBsdWdpbnMtcGVybWlzc2lvbi1yZXF1ZXN0IiwgIlRlc3QgdGltZXMgb3V0
IiwgMTQ3ODIyKSwKICAgICAgICAgU2tpcHBlZFRlc3QoIldlYktpdDIvVGVzdFdlYktpdDIiLCAi
V2ViS2l0Mi5Nb3VzZU1vdmVBZnRlckNyYXNoIiwgIlRlc3QgaXMgZmxha3kiLCA4NTA2NiksCkBA
IC03NSw3ICs3NCw2IEBAIGNsYXNzIFRlc3RSdW5uZXI6CiAgICAgICAgIFNraXBwZWRUZXN0KCJX
ZWJLaXQyL1Rlc3RXZWJLaXQyIiwgIldlYktpdDIuRGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzIiwg
IlRlc3QgdGltZXMgb3V0IiwgMTIwMzAyKSwKICAgICAgICAgU2tpcHBlZFRlc3QoIldlYktpdDIv
VGVzdFdlYktpdDIiLCAiV2ViS2l0Mi5JbmplY3RlZEJ1bmRsZUZyYW1lSGl0VGVzdCIsICJUZXN0
IHRpbWVzIG91dCIsIDEyMDMwMyksCiAgICAgICAgIFNraXBwZWRUZXN0KCJXZWJLaXQyL1Rlc3RX
ZWJLaXQyIiwgIldlYktpdDIuVGVybWluYXRlVHdpY2UiLCAiVGVzdCBjYXVzZXMgY3Jhc2ggb24g
dGhlIG5leHQgdGVzdCIsIDEyMTk3MCksCi0gICAgICAgIFNraXBwZWRUZXN0KCJXZWJLaXQyL1Rl
c3RXZWJLaXQyIiwgIldlYktpdDIuVXNlck1lZGlhQmFzaWMiLCAiVGVzdCBjcmFzaGVzIGFmdGVy
IHIxOTAyNjIiLCAxNDk1ODApLAogICAgICAgICBTa2lwcGVkVGVzdCgiV2ViS2l0Mi9UZXN0V2Vi
S2l0MiIsICJXZWJLaXQyLkdlb2xvY2F0aW9uVHJhbnNpdGlvblRvSGlnaEFjY3VyYWN5IiwgIlRl
c3QgY2F1c2VzIGNyYXNoIG9uIHRoZSBuZXh0IHRlc3QiLCAxMjUwNjgpLAogICAgICAgICBTa2lw
cGVkVGVzdCgiV2ViS2l0Mi9UZXN0V2ViS2l0MiIsICJXZWJLaXQyLkdlb2xvY2F0aW9uVHJhbnNp
dGlvblRvTG93QWNjdXJhY3kiLCAiVGVzdCBjYXVzZXMgY3Jhc2ggb24gdGhlIG5leHQgdGVzdCIs
IDEyNTA2OCksCiAgICAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>