<?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>142333</bug_id>
          
          <creation_ts>2015-03-05 03:07:08 -0800</creation_ts>
          <short_desc>[GTK] WebCore::TransformationMatrix::multiply segfaults when loading last.fm</short_desc>
          <delta_ts>2015-04-29 12:09:21 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          <see_also>https://bugzilla.redhat.com/show_bug.cgi?id=1200217</see_also>
    
    <see_also>https://bugzilla.redhat.com/show_bug.cgi?id=1208989</see_also>
    
    <see_also>https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65690</see_also>
    
    <see_also>https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65715</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>arjunak234</cc>
    
    <cc>benjamin</cc>
    
    <cc>bugzilla</cc>
    
    <cc>cgarcia</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>rdieter</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1074458</commentid>
    <comment_count>0</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2015-03-05 03:07:08 -0800</bug_when>
    <thetext>9 times out of 10, when I load last.fm in MiniBrowser I see the following crash:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffa9758a143 in WebCore::TransformationMatrix::multiply(WebCore::TransformationMatrix const&amp;) ()
   from /home/jd/checkout/WebKitGtk/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
(gdb) bt
#0  0x00007ffa9758a143 in WebCore::TransformationMatrix::multiply(WebCore::TransformationMatrix const&amp;) ()
    at /home/jd/checkout/WebKitGtk/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#1  0x00007ffa97534228 in WebCore::GraphicsLayerTransform::combineTransforms(WebCore::TransformationMatrix const&amp;) () at /home/jd/checkout/WebKitGtk/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#2  0x00007ffa9757b814 in WebCore::TextureMapperLayer::computeTransformsRecursive() ()
    at /home/jd/checkout/WebKitGtk/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#3  0x00007ffa9757efc0 in WebCore::TextureMapperLayer::paint() ()
    at /home/jd/checkout/WebKitGtk/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#4  0x00007ffa96d48904 in WebKit::LayerTreeHostGtk::compositeLayersToContext(WebKit::LayerTreeHostGtk::CompositePurpose) () at /home/jd/checkout/WebKitGtk/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#5  0x00007ffa96d4901d in WebKit::LayerTreeHostGtk::flushAndRenderLayers() ()
    at /home/jd/checkout/WebKitGtk/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#6  0x00007ffa96d49094 in WebKit::LayerTreeHostGtk::layerFlushTimerFired() ()
    at /home/jd/checkout/WebKitGtk/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#7  0x00007ffa95618599 in WTF::GMainLoopSource::voidCallback() ()
    at /home/jd/checkout/WebKitGtk/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#8  0x00007ffa9561684a in WTF::GMainLoopSource::voidSourceCallback(WTF::GMainLoopSource*) ()
    at /home/jd/checkout/WebKitGtk/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#9  0x00007ffa924cc23a in g_main_context_dispatch (context=0xd3f470) at gmain.c:3122
#10 0x00007ffa924cc23a in g_main_context_dispatch (context=context@entry=0xd3f470) at gmain.c:3737
#11 0x00007ffa924cc5d0 in g_main_context_iterate (context=0xd3f470, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at gmain.c:3808
#12 0x00007ffa924cc8f2 in g_main_loop_run (loop=0xf5d7e0) at gmain.c:4002
#13 0x00007ffa96d47512 in int WebKit::ChildProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMain&gt;(int, char**) () at /home/jd/checkout/WebKitGtk/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#14 0x00007ffa8c886790 in __libc_start_main (main=
    0x400ab0 &lt;main&gt;, argc=2, argv=0x7ffc15f4bd88, init=&lt;optimized out&gt;, fini=&lt;optimized out&gt;, rtld_fini=&lt;optimized out&gt;, stack_end=0x7ffc15f4bd78) at libc-start.c:289
#15 0x0000000000400b09 in _start ()

The remaining 1 time, I see bug 142309. I&apos;ll try to come up with a stand-alone (independent of last.fm) test case for this bug as I work on the accessibility one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074480</commentid>
    <comment_count>1</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2015-03-05 04:32:46 -0800</bug_when>
    <thetext>Turns out it is simple to get this crash. Load this:

&lt;html&gt;
&lt;body&gt;
&lt;div style=&quot;-webkit-transform: translate3d(0, 0, 0);&quot;&gt;foo&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

Reliably crashes for me. Both machines are F22, MiniBrowser with current master, not using the WebKitGtk jhbuild deps at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074503</commentid>
    <comment_count>2</comment_count>
      <attachid>247950</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-05 06:57:44 -0800</bug_when>
    <thetext>Created attachment 247950
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074507</commentid>
    <comment_count>3</comment_count>
      <attachid>247950</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-03-05 07:37:07 -0800</bug_when>
    <thetext>Comment on attachment 247950
Patch

Hrm. Why is LayerTreeHostGtk::compositeLayersToContext being called before the native surface is set? That seems really suspicious.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074508</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-05 07:39:44 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 247950 [details]
&gt; Patch
&gt; 
&gt; Hrm. Why is LayerTreeHostGtk::compositeLayersToContext being called before
&gt; the native surface is set? That seems really suspicious.

Because the native handler ID is now set when the web view is realized, since r177075.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074509</commentid>
    <comment_count>5</comment_count>
      <attachid>247950</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-03-05 07:51:44 -0800</bug_when>
    <thetext>Comment on attachment 247950
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:-130
&gt; -    // The creation of the TextureMapper needs an active OpenGL context.
&gt; -    if (!makeContextCurrent())
&gt; -        return;

I think failing to call makeContextCurrent here is definitely a problem. If the OpenGL context has changed the commands will be issued to the incorrect context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074510</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-05 08:11:22 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 247950 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=247950&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:-130
&gt; &gt; -    // The creation of the TextureMapper needs an active OpenGL context.
&gt; &gt; -    if (!makeContextCurrent())
&gt; &gt; -        return;
&gt; 
&gt; I think failing to call makeContextCurrent here is definitely a problem. If
&gt; the OpenGL context has changed the commands will be issued to the incorrect
&gt; context.

I assumed by the comment that it was there only to create the TextureMapper.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074518</commentid>
    <comment_count>7</comment_count>
      <attachid>247950</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-05 08:42:18 -0800</bug_when>
    <thetext>Comment on attachment 247950
Patch

I&apos;m not sure this patch fixes this issue, because the bts in the debug bot are a bit different, so I&apos;ve opened a new bug report. See https://bugs.webkit.org/show_bug.cgi?id=142345</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074552</commentid>
    <comment_count>8</comment_count>
      <attachid>247960</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2015-03-05 09:54:30 -0800</bug_when>
    <thetext>Created attachment 247960
backtrace from debug build

Hope this helps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077387</commentid>
    <comment_count>9</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2015-03-16 05:25:49 -0700</bug_when>
    <thetext>FWIW, I just downgraded a system to F21 (current stable) and I cannot reproduce this crash on the downgraded machine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077414</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-03-16 08:41:11 -0700</bug_when>
    <thetext>I think this crash happens 100% of the time visiting youtube.com.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077418</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-16 09:31:15 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; I think this crash happens 100% of the time visiting youtube.com.

but only in Fedora unstable, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077459</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-03-16 10:46:08 -0700</bug_when>
    <thetext>(In reply to comment #11) 
&gt; but only in Fedora unstable, right?

Joanie says yes, and that&apos;s what I was using when I hit the crash on youtube... so probably, yes. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077528</commentid>
    <comment_count>13</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2015-03-16 12:30:22 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; I think this crash happens 100% of the time visiting youtube.com.
&gt; 
&gt; but only in Fedora unstable, right?

Yeah, I don&apos;t see it in F21. And presumably it&apos;s only in the 64-bit F22 -- haven&apos;t tried any other 64-bit unstable distro releases -- as my quick-and-dirty hackaround so that I could work on bug 142309 was this:

--- a/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
+++ b/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
@@ -1241,7 +1241,7 @@ TransformationMatrix&amp; TransformationMatrix::multiply(const TransformationMatrix&amp;
     }
 #undef MATRIX_MULTIPLY_ONE_LINE
 
-#elif defined(TRANSFORMATION_MATRIX_USE_X86_64_SSE2)
+#elif defined(TRANSFORMATION_MATRIX_USE_X86_64_SSE2) &amp;&amp; !PLATFORM(GTK)
     // x86_64 has 16 XMM registers which is enough to do the multiplication fully in registers.
     __m128d matrixBlockA = _mm_load_pd(&amp;(m_matrix[0][0]));
     __m128d matrixBlockC = _mm_load_pd(&amp;(m_matrix[1][0]));

(And yes, with that in place youtube.com works just fine on F22.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077551</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-03-16 13:54:21 -0700</bug_when>
    <thetext>OK thanks for the workaround, we will &quot;gladly&quot; carry that as long as necessary to make youtube work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077707</commentid>
    <comment_count>15</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2015-03-16 19:56:53 -0700</bug_when>
    <thetext>As an experiment, on my F21/stable machine, I upgraded gcc to the F22 packages leaving everything else alone. I now see this crash on that machine. From yum history:

Packages Altered:
    Updated cpp-4.9.2-6.fc21.x86_64                @updates
    Update      5.0.0-0.17.fc22.x86_64             @fedora/22
    Updated gcc-4.9.2-6.fc21.x86_64                @updates
    Update      5.0.0-0.17.fc22.x86_64             @fedora/22
    Updated gcc-c++-4.9.2-6.fc21.x86_64            @updates
    Update          5.0.0-0.17.fc22.x86_64         @fedora/22

That&apos;s all it took. HTH.....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082571</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-03 08:37:36 -0700</bug_when>
    <thetext>Well, I have no clue what&apos;s wrong, or whether it&apos;s our code or GCC that is broken, but this is by far our biggest problem right now (&quot;I think this crash happens 100% of the time visiting youtube.com&quot;), so at least let&apos;s commit a workaround ASAP. Any objections to conditionally compiling the x86_64 matrix multiplication fastpath only when using GCC &lt; 5.0? It will obviously make things slower, but that beats a crash.

Hi Ben, CCing you because this is your code (from r138866), so fates permitting, maybe you have some idea what might be wrong. None of us understand it. :)

The best backtrace we have is https://bugzilla.redhat.com/attachment.cgi?id=999725 which isn&apos;t great but does show the assembler where the crash occurs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082582</commentid>
    <comment_count>17</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-03 09:19:32 -0700</bug_when>
    <thetext>Does the crash occur in debug/non-optimized builds?

Given that the problem appears to be due to changes in GCC, it&apos;d be nice to report this to the project&apos;s Bugzilla or maybe find the corresponding bug, but I don&apos;t wish gathering all the necessary information upon anyone ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082599</commentid>
    <comment_count>18</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2015-04-03 09:49:03 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; Does the crash occur in debug/non-optimized builds?

See comment #8.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082600</commentid>
    <comment_count>19</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-03 09:54:46 -0700</bug_when>
    <thetext>Um, the backtrace in comment #8 is better :p</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082785</commentid>
    <comment_count>20</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-04 09:51:08 -0700</bug_when>
    <thetext>The reason behind the crash is that Matrix4 is not aligned to 16 bytes anymore, despite the (aligned (16)) attribute, which apparently GCC 5 doesn&apos;t respect anymore.

The alignment of 16 bytes is mandatory for data processed with SSE instructions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082786</commentid>
    <comment_count>21</comment_count>
      <attachid>250129</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-04 09:55:28 -0700</bug_when>
    <thetext>Created attachment 250129
WIP

One possible solution, using the alignas(16) specifier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082817</commentid>
    <comment_count>22</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-04 15:02:52 -0700</bug_when>
    <thetext>Nice find.

The significant disadvantage of your patch is that now you have to remember to use alignas each time you declare a matrix.

Since I don&apos;t see any mention of this in the GCC 5 release notes, I presume the change is unintentional. I&apos;ve filed a GCC bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1208989</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083996</commentid>
    <comment_count>23</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-09 10:46:04 -0700</bug_when>
    <thetext>Should be fixed in GCC; will reopen if we run into problems with the updated version.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247950</attachid>
            <date>2015-03-05 06:57:44 -0800</date>
            <delta_ts>2015-03-05 08:42:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-texture-mapper-asserts.diff</filename>
            <type>text/plain</type>
            <size>5124</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAxZjI3ZTI0Li45Y2I5NGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTUtMDMtMDUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4OjptdWx0aXBs
eSBzZWdmYXVsdHMgd2hlbiBsb2FkaW5nIGxhc3QuZm0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjMzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEkgdGhpbmsgdGhpcyB3YXMgY2F1c2VkIGJ5IHIxODA5
MjQgdGhhdCBwb3N0cG9uZXMgdGhlIGNyZWF0aW9uIG9mCisgICAgICAgIHRoZSBUZXh0dXJlTWFw
cGVyLCB3aGljaCBjb3VsZCBjYXVzZSB0aGF0IGEgbGF5ZXIgaGFzIG5vdCB5ZXQgYQorICAgICAg
ICBzaXplIHdoZW4gVGV4dHVyZU1hcHBlcjo6cGFpbnQoKSBpcyBjYWxsZWQuIFRoaXMgcGF0Y2gg
bW92ZXMgdGhlCisgICAgICAgIGNyZWF0aW9uIG9mIHRoZSBUZXh0dXJlTWFwcGVyIHRvCisgICAg
ICAgIExheWVyVHJlZUhvc3RHdGs6OnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGlu
ZygpLCBzbyB0aGF0CisgICAgICAgIGl0J3MgY3JlYXRlZCBhcyBzb29uIGFzIGl0J3MgcG9zc2li
bGUgdG8gY3JlYXRlLiB0aGlzIG1ldGhvZCBpcworICAgICAgICBjYWxsZWQgYnkgdGhlIGRyYXdp
bmcgYXJlYSByaWdodCBhZnRlciBjcmVhdGluZyB0aGUKKyAgICAgICAgTGF5ZXJUcmVlSG9zdEd0
ayBpZiBpdCBhbHJlYWR5IGhhdmUgYSBoYW5kbGVyLCBvciB3aGVuIHRoZSBoYW5kbGUKKyAgICAg
ICAgaXMgcmVjZWl2ZWQgZnJvbSB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyVHJlZUhvc3RHdGs6OmluaXRpYWxpemUpOiBSZW1vdmUgdGhlCisgICAgICAgIGVuc3VyZVRl
eHR1cmVNYXBwZXIgY2FsbCBiZWNhdXNlIGF0IHRoaXMgcG9pbnQgdGhlIGxheWVyIGNvbnRleHQK
KyAgICAgICAgSUQgaXMgYWx3YXlzIDAsIHNvIGl0J3MgaW1wb3NzaWJsZSB0byBjcmVhdGUgdGhl
IFRleHR1cmVNYXBwZXIuCisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6OmNvbXBv
c2l0ZUxheWVyc1RvQ29udGV4dCk6IFJlbW92ZSB0aGUKKyAgICAgICAgZW5zdXJlVGV4dHVyZU1h
cHBlciBjYWxsIGZyb20gaGVyZSB0b28sIHNpbmNlIGF0IHRoaXMgcG9pbnQsIGlmIHdlCisgICAg
ICAgIGhhdmUgYSBjb250ZXh0LCB3ZSBzaG91bGQgYWxzbyBoYXZlIGEgVGV4dHVyZU1hcHBlci4g
QWRkIGFuIEFTU0VSVAorICAgICAgICByaWdodCBiZWZvcmUgdXNpbmcgdGhlIFRleHR1cmVNYXBw
ZXIuCisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6OnNldE5hdGl2ZVN1cmZhY2VI
YW5kbGVGb3JDb21wb3NpdGluZyk6CisgICAgICAgIENyZWF0ZSB0aGUgVGV4dHVyZU1hcHBlciBo
ZXJlLgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0R3RrOjplbnN1cmVUZXh0dXJlTWFw
cGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJl
ZUhvc3RHdGsuaDoKKwogMjAxNS0wMy0wNSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJv
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1NPVVBdIERpc2FibGUgUkM0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3Rr
LmNwcAppbmRleCA5NjI0Mjk2Li45MmY3NTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAKQEAgLTky
LDE3ICs5Miw2IEBAIGJvb2wgTGF5ZXJUcmVlSG9zdEd0azo6bWFrZUNvbnRleHRDdXJyZW50KCkK
ICAgICByZXR1cm4gbV9jb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKIH0KIAotdm9pZCBM
YXllclRyZWVIb3N0R3RrOjplbnN1cmVUZXh0dXJlTWFwcGVyKCkKLXsKLSAgICBpZiAobV90ZXh0
dXJlTWFwcGVyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBBU1NFUlQobV9pc1ZhbGlkKTsKLSAg
ICBtX3RleHR1cmVNYXBwZXIgPSBUZXh0dXJlTWFwcGVyOjpjcmVhdGUoVGV4dHVyZU1hcHBlcjo6
T3BlbkdMTW9kZSk7Ci0gICAgc3RhdGljX2Nhc3Q8VGV4dHVyZU1hcHBlckdMKj4obV90ZXh0dXJl
TWFwcGVyLmdldCgpKS0+c2V0RW5hYmxlRWRnZURpc3RhbmNlQW50aWFsaWFzaW5nKHRydWUpOwot
ICAgIGRvd25jYXN0PEdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyPigqbV9yb290TGF5ZXIpLmxh
eWVyKCkuc2V0VGV4dHVyZU1hcHBlcihtX3RleHR1cmVNYXBwZXIuZ2V0KCkpOwotfQotCiB2b2lk
IExheWVyVHJlZUhvc3RHdGs6OmluaXRpYWxpemUoKQogewogICAgIG1fcm9vdExheWVyID0gR3Jh
cGhpY3NMYXllcjo6Y3JlYXRlKGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCksICp0aGlzKTsKQEAgLTEy
NCwxMyArMTEzLDYgQEAgdm9pZCBMYXllclRyZWVIb3N0R3RrOjppbml0aWFsaXplKCkKIAogICAg
IG1fcm9vdExheWVyLT5hZGRDaGlsZChtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXIuZ2V0KCkp
OwogICAgIG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci0+c2V0TmVlZHNEaXNwbGF5KCk7Ci0K
LSAgICAvLyBUaGUgY3JlYXRpb24gb2YgdGhlIFRleHR1cmVNYXBwZXIgbmVlZHMgYW4gYWN0aXZl
IE9wZW5HTCBjb250ZXh0LgotICAgIGlmICghbWFrZUNvbnRleHRDdXJyZW50KCkpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGVuc3VyZVRleHR1cmVNYXBwZXIoKTsKLSAgICBzY2hlZHVsZUxheWVy
Rmx1c2goKTsKIH0KIAogTGF5ZXJUcmVlSG9zdEd0azo6fkxheWVyVHJlZUhvc3RHdGsoKQpAQCAt
Mjk2LDggKzI3OCw2IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdEd0azo6Y29tcG9zaXRlTGF5ZXJzVG9D
b250ZXh0KENvbXBvc2l0ZVB1cnBvc2UgcHVycG9zZSkKICAgICBpZiAoIW1ha2VDb250ZXh0Q3Vy
cmVudCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBlbnN1cmVUZXh0dXJlTWFwcGVyKCk7Ci0K
ICAgICAvLyBUaGUgd2luZG93IHNpemUgbWF5IGJlIG91dCBvZiBzeW5jIHdpdGggdGhlIHBhZ2Ug
c2l6ZSBhdCB0aGlzIHBvaW50LCBhbmQgZ2V0dGluZwogICAgIC8vIHRoZSB2aWV3cG9ydCBwYXJh
bWV0ZXJzIGluY29ycmVjdCwgbWVhbnMgdGhhdCB0aGUgY29udGVudCB3aWxsIGJlIG1pc3BsYWNl
ZC4gVGh1cwogICAgIC8vIHdlIHNldCB0aGUgdmlld3BvcnQgcGFyYW1ldGVycyBkaXJlY3RseSBm
cm9tIHRoZSB3aW5kb3cgc2l6ZS4KQEAgLTMwOSw2ICsyODksNyBAQCB2b2lkIExheWVyVHJlZUhv
c3RHdGs6OmNvbXBvc2l0ZUxheWVyc1RvQ29udGV4dChDb21wb3NpdGVQdXJwb3NlIHB1cnBvc2Up
CiAgICAgICAgIGdsQ2xlYXIoR0xfQ09MT1JfQlVGRkVSX0JJVCk7CiAgICAgfQogCisgICAgQVNT
RVJUKG1fdGV4dHVyZU1hcHBlcik7CiAgICAgbV90ZXh0dXJlTWFwcGVyLT5iZWdpblBhaW50aW5n
KCk7CiAgICAgZG93bmNhc3Q8R3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXI+KCptX3Jvb3RMYXll
cikubGF5ZXIoKS5wYWludCgpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+ZW5kUGFpbnRpbmcoKTsK
QEAgLTM4Nyw2ICszNjgsMTcgQEAgdm9pZCBMYXllclRyZWVIb3N0R3RrOjpzZXRWaWV3T3Zlcmxh
eVJvb3RMYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKiB2aWV3T3ZlcmwKIHZvaWQgTGF5ZXJU
cmVlSG9zdEd0azo6c2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2NF90
IGhhbmRsZSkKIHsKICAgICBtX2xheWVyVHJlZUNvbnRleHQuY29udGV4dElEID0gaGFuZGxlOwor
CisgICAgLy8gVGhlIGNyZWF0aW9uIG9mIHRoZSBUZXh0dXJlTWFwcGVyIG5lZWRzIGFuIGFjdGl2
ZSBPcGVuR0wgY29udGV4dC4KKyAgICBpZiAoIW1ha2VDb250ZXh0Q3VycmVudCgpKQorICAgICAg
ICByZXR1cm47CisKKyAgICBBU1NFUlQobV9pc1ZhbGlkKTsKKyAgICBtX3RleHR1cmVNYXBwZXIg
PSBUZXh0dXJlTWFwcGVyOjpjcmVhdGUoVGV4dHVyZU1hcHBlcjo6T3BlbkdMTW9kZSk7CisgICAg
c3RhdGljX2Nhc3Q8VGV4dHVyZU1hcHBlckdMKj4obV90ZXh0dXJlTWFwcGVyLmdldCgpKS0+c2V0
RW5hYmxlRWRnZURpc3RhbmNlQW50aWFsaWFzaW5nKHRydWUpOworICAgIGRvd25jYXN0PEdyYXBo
aWNzTGF5ZXJUZXh0dXJlTWFwcGVyPigqbV9yb290TGF5ZXIpLmxheWVyKCkuc2V0VGV4dHVyZU1h
cHBlcihtX3RleHR1cmVNYXBwZXIuZ2V0KCkpOworCisgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuaAppbmRleCAxMGVhYzhj
Li42OTRjMzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Z3RrL0xheWVyVHJlZUhvc3RHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuaApAQCAtODcsNyArODcsNiBAQCBwcml2YXRlOgog
ICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmlyZWQoKTsKIAogICAgIGJvb2wgbWFrZUNvbnRleHRD
dXJyZW50KCk7Ci0gICAgdm9pZCBlbnN1cmVUZXh0dXJlTWFwcGVyKCk7CiAKICAgICBMYXllclRy
ZWVDb250ZXh0IG1fbGF5ZXJUcmVlQ29udGV4dDsKICAgICBib29sIG1faXNWYWxpZDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>247960</attachid>
            <date>2015-03-05 09:54:30 -0800</date>
            <delta_ts>2015-03-05 09:54:30 -0800</delta_ts>
            <desc>backtrace from debug build</desc>
            <filename>backtrace</filename>
            <type>text/plain</type>
            <size>14235</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">UHJvZ3JhbSByZWNlaXZlZCBzaWduYWwgU0lHU0VHViwgU2VnbWVudGF0aW9uIGZhdWx0LgoweDAw
MDA3ZmFkZGZiMTg2ZGMgaW4gX21tX2xvYWRfcGQgKF9fUD0weDdmYWRiNDFmNDUyOCkgYXQgL3Vz
ci9saWIvZ2NjL3g4Nl82NC1yZWRoYXQtbGludXgvNS4wLjAvaW5jbHVkZS9lbW1pbnRyaW4uaDox
MTkKMTE5CSAgcmV0dXJuICooX19tMTI4ZCAqKV9fUDsKKGdkYikgYnQgZnVsbAojMCAgMHgwMDAw
N2ZhZGRmYjE4NmRjIGluIFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4OjptdWx0aXBseShX
ZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCBjb25zdCYpIChfX1A9MHg3ZmFkYjQxZjQ1Mjgp
CiAgICBhdCAvdXNyL2xpYi9nY2MveDg2XzY0LXJlZGhhdC1saW51eC81LjAuMC9pbmNsdWRlL2Vt
bWludHJpbi5oOjExOQogICAgICAgIG1hdHJpeEJsb2NrQSA9IHswLCAyNzV9CiAgICAgICAgbWF0
cml4QmxvY2tDID0gezEuMjMxNDY3NzEzMDY3MTkwNWUtMzE2LCA2LjkzNTkyODIxNTY4Mzk3MDdl
LTMxMH0KICAgICAgICBtYXRyaXhCbG9ja0UgPSB7MCwgNi45MzU5MjQ3NDY0MzM5MDc5ZS0zMTB9
CiAgICAgICAgbWF0cml4QmxvY2tHID0gezAsIDYuOTM1OTMyMzE0MzA0Mzk4M2UtMzEwfQogICAg
ICAgIG90aGVyTWF0cml4Rmlyc3RQYXJhbSA9IHsxLjIzMTQ2NzcxMzA2NzE5MDVlLTMxNiwgNi45
MzU5MjA0NzE0MjYxNjU0ZS0zMTB9CiAgICAgICAgb3RoZXJNYXRyaXhTZWNvbmRQYXJhbSA9IHs0
Ljk0MDY1NjQ1ODQxMjQ2NTRlLTMyNCwgMH0KICAgICAgICBvdGhlck1hdHJpeFRoaXJkUGFyYW0g
PSB7MCwgNi45MzU5MzI0MjEzMzMwNDg3ZS0zMTB9CiAgICAgICAgb3RoZXJNYXRyaXhGb3VydGhQ
YXJhbSA9IHs2LjkzNTkyNjgxMDQ2MjkwNTVlLTMxMCwgNi45MzU5MzI0MjEzNzUzNDA3ZS0zMTB9
CiAgICAgICAgYWNjdW11bGF0b3IgPSB7Mi4xMjE5OTU3OTA0NzEyMDY3ZS0zMTQsIDYuNDcyMjU5
OTYwNTIwMzI5N2UtMzIyfQogICAgICAgIHRlbXAxID0gezMuODQyOTQ3NzkzNzYzMDUzM2UtMzE0
LCA2Ljk1MzEwMzUwMzg2NTIzMzVlLTMxMH0KICAgICAgICB0ZW1wMiA9IHs2Ljk1MzEwMzUwMzg2
NjQxOTJlLTMxMCwgMH0KICAgICAgICB0ZW1wMyA9IHs0Ljk0MDY1NjQ1ODQxMjQ2NTRlLTMyNCwg
Ni45MzU5MzI0MjEzMzMwNDg3ZS0zMTB9CiAgICAgICAgbWF0cml4QmxvY2tCID0gezQuOTQwNjU2
NDU4NDEyNDY1NGUtMzI0LCAwfQogICAgICAgIG1hdHJpeEJsb2NrRCA9IHswLCA2LjkzNTkzMjQy
MTMzMzA0ODdlLTMxMH0KICAgICAgICBtYXRyaXhCbG9ja0YgPSB7Ni45MzU5MjYwNzg3ODMzMDQy
ZS0zMTAsIDYuOTM1OTMyNDIxMzc1MzQwN2UtMzEwfQogICAgICAgIG1hdHJpeEJsb2NrSCA9IHs2
LjkzNTc0MzI0Mjc2OTk5MjZlLTMxMCwgNi40NzIyNTk5NjA1MjAzMjk3ZS0zMjJ9CiMxICAweDAw
MDA3ZmFkZGZiMTg2ZGMgaW4gV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXg6Om11bHRpcGx5
KFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4IGNvbnN0JikgKHRoaXM9MHg3ZmFkYjQxZjQ1
MjgsIG1hdD0uLi4pIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwOjEyNDYKICAgICAgICBtYXRyaXhCbG9j
a0EgPSB7MCwgMjc1fQogICAgICAgIG1hdHJpeEJsb2NrQyA9IHsxLjIzMTQ2NzcxMzA2NzE5MDVl
LTMxNiwgNi45MzU5MjgyMTU2ODM5NzA3ZS0zMTB9CiAgICAgICAgbWF0cml4QmxvY2tFID0gezAs
IDYuOTM1OTI0NzQ2NDMzOTA3OWUtMzEwfQogICAgICAgIG1hdHJpeEJsb2NrRyA9IHswLCA2Ljkz
NTkzMjMxNDMwNDM5ODNlLTMxMH0KICAgICAgICBvdGhlck1hdHJpeEZpcnN0UGFyYW0gPSB7MS4y
MzE0Njc3MTMwNjcxOTA1ZS0zMTYsIDYuOTM1OTIwNDcxNDI2MTY1NGUtMzEwfQogICAgICAgIG90
aGVyTWF0cml4U2Vjb25kUGFyYW0gPSB7NC45NDA2NTY0NTg0MTI0NjU0ZS0zMjQsIDB9CiAgICAg
ICAgb3RoZXJNYXRyaXhUaGlyZFBhcmFtID0gezAsIDYuOTM1OTMyNDIxMzMzMDQ4N2UtMzEwfQog
ICAgICAgIG90aGVyTWF0cml4Rm91cnRoUGFyYW0gPSB7Ni45MzU5MjY4MTA0NjI5MDU1ZS0zMTAs
IDYuOTM1OTMyNDIxMzc1MzQwN2UtMzEwfQogICAgICAgIGFjY3VtdWxhdG9yID0gezIuMTIxOTk1
NzkwNDcxMjA2N2UtMzE0LCA2LjQ3MjI1OTk2MDUyMDMyOTdlLTMyMn0KICAgICAgICB0ZW1wMSA9
IHszLjg0Mjk0Nzc5Mzc2MzA1MzNlLTMxNCwgNi45NTMxMDM1MDM4NjUyMzM1ZS0zMTB9CiAgICAg
ICAgdGVtcDIgPSB7Ni45NTMxMDM1MDM4NjY0MTkyZS0zMTAsIDB9CiAgICAgICAgdGVtcDMgPSB7
NC45NDA2NTY0NTg0MTI0NjU0ZS0zMjQsIDYuOTM1OTMyNDIxMzMzMDQ4N2UtMzEwfQogICAgICAg
IG1hdHJpeEJsb2NrQiA9IHs0Ljk0MDY1NjQ1ODQxMjQ2NTRlLTMyNCwgMH0KICAgICAgICBtYXRy
aXhCbG9ja0QgPSB7MCwgNi45MzU5MzI0MjEzMzMwNDg3ZS0zMTB9CiAgICAgICAgbWF0cml4Qmxv
Y2tGID0gezYuOTM1OTI2MDc4NzgzMzA0MmUtMzEwLCA2LjkzNTkzMjQyMTM3NTM0MDdlLTMxMH0K
ICAgICAgICBtYXRyaXhCbG9ja0ggPSB7Ni45MzU3NDMyNDI3Njk5OTI2ZS0zMTAsIDYuNDcyMjU5
OTYwNTIwMzI5N2UtMzIyfQojMiAgMHgwMDAwN2ZhZGRmYWI0ZWU4IGluIFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJUcmFuc2Zvcm06OmNvbWJpbmVUcmFuc2Zvcm1zKFdlYkNvcmU6OlRyYW5zZm9ybWF0
aW9uTWF0cml4IGNvbnN0JikgKHRoaXM9MHg3ZmFkYjQxZjQ0MDgsIHBhcmVudFRyYW5zZm9ybT0u
Li4pIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXJUcmFuc2Zvcm0uY3BwOjEwMgogICAgICAgIG9yaWdpblggPSA0MDAKICAgICAgICBvcmlnaW5Z
ID0gMjc1CiMzICAweDAwMDA3ZmFkZGZiMDJmMDggaW4gV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxh
eWVyOjpjb21wdXRlVHJhbnNmb3Jtc1JlY3Vyc2l2ZSgpICh0aGlzPTB4N2ZhZGI0MWY0M2QwKQog
ICAgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJMYXllci5jcHA6NTYKICAgICAgICBwYXJlbnRUcmFuc2Zvcm0gPSB7bV9tYXRyaXgg
PSB7ezEsIDAsIDAsIDB9LCB7MCwgMSwgMCwgMH0sIHswLCAwLCAxLCAwfSwgezAsIDAsIDAsIDF9
fX0KICAgICAgICBfX1BSRVRUWV9GVU5DVElPTl9fID0gInZvaWQgV2ViQ29yZTo6VGV4dHVyZU1h
cHBlckxheWVyOjpjb21wdXRlVHJhbnNmb3Jtc1JlY3Vyc2l2ZSgpIgojNCAgMHgwMDAwN2ZhZGRm
YjAzMTgyIGluIFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnQoKSAodGhpcz0weDdm
YWRiNDFmNDNkMCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwOjc5CiAgICAgICAgb3B0aW9ucyA9IAogICAg
ICAgICAge3N1cmZhY2UgPSB7bV9wdHIgPSAweDNlOGE5M2U5MDAwMDAwMDB9LCBvcGFjaXR5ID0g
LTMuNjMyMzYwMzZlKzE2LCB0cmFuc2Zvcm0gPSB7bV9tYXRyaXggPSB7ezQuOTQwNjU2NDU4NDEy
NDY1NGUtMzI0LCA2Ljk1MzEwMzUwMzkwNzkyMDdlLTMxMCwgMS4yMzE0Njc3MTMwNjcxOTA1ZS0z
MTYsIDYuOTM1OTMyMzE1NzYxNDk2N2UtMzEwfSwgezYuOTUzMTAzNTAzOTAwMDE1N2UtMzEwLCA2
LjkzNTkyNzk3MTM0Mjk2NTdlLTMxMCwgNi45MzU5MjA0NzE0MjYxNjU0ZS0zMTAsIDYuOTM1ODky
NTQ2ODAyNjYxMmUtMzEwfSwgezYuOTUzMTAzNTAzOTAxNTk2N2UtMzEwLCA2LjkzNTkyNzk3MTMx
OTM5ODdlLTMxMCwgMCwgNi45MzU4OTI1NDY4MDI2NjEyZS0zMTB9LCB7Ni45MzU4OTI1NDY4MzE5
MDk5ZS0zMTAsIDkuODgxMzEyOTE2ODI0OTMwOWUtMzI0LCA2LjkzNTg5MjU0NjgwMjY2MTJlLTMx
MCwgNi45NTMxMDM1MDM4ODkzNDM5ZS0zMTB9fX0sIG9mZnNldCA9IHttX3dpZHRoID0gLTEyNzMw
MTk0NDAsIG1faGVpZ2h0ID0gMzI2ODV9LCB0ZXh0dXJlTWFwcGVyID0gMHgwfQojNSAgMHgwMDAw
N2ZhZGRlZGJiNzdkIGluIFdlYktpdDo6TGF5ZXJUcmVlSG9zdEd0azo6Y29tcG9zaXRlTGF5ZXJz
VG9Db250ZXh0KFdlYktpdDo6TGF5ZXJUcmVlSG9zdEd0azo6Q29tcG9zaXRlUHVycG9zZSkgKHRo
aXM9MHg3ZmFkYjU3Zjc4YzAsIHB1cnBvc2U9V2ViS2l0OjpMYXllclRyZWVIb3N0R3RrOjpOb3RG
b3JSZXNpemUpIGF0IC4uLy4uL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsv
TGF5ZXJUcmVlSG9zdEd0ay5jcHA6Mjk0CiAgICAgICAgY29udGV4dFNpemUgPSB7bV93aWR0aCA9
IDEsIG1faGVpZ2h0ID0gMX0KICAgICAgICBfX1BSRVRUWV9GVU5DVElPTl9fID0gInZvaWQgV2Vi
S2l0OjpMYXllclRyZWVIb3N0R3RrOjpjb21wb3NpdGVMYXllcnNUb0NvbnRleHQoV2ViS2l0OjpM
YXllclRyZWVIb3N0R3RrOjpDb21wb3NpdGVQdXJwb3NlKSIKIzYgIDB4MDAwMDdmYWRkZWRiYjg1
ZSBpbiBXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6OmZsdXNoQW5kUmVuZGVyTGF5ZXJzKCkgKHRo
aXM9MHg3ZmFkYjU3Zjc4YzApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwOjMxNwojNyAgMHgwMDAwN2ZhZGRlZGJi
MjhlIGluIFdlYktpdDo6TGF5ZXJUcmVlSG9zdEd0azo6bGF5ZXJGbHVzaFRpbWVyRmlyZWQoKSAo
dGhpcz0weDdmYWRiNTdmNzhjMCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHA6MjM3CiAgICAgICAgZmlyZVRpbWUg
PSAzNTMxOS42MzcyNDg5OTk5OTkKICAgICAgICB0YXJnZXRGcmFtZXJhdGUgPSAwLjAxNjY2NjY2
NjY2NjY2NjY2NgogICAgICAgIGN1cnJlbnQgPSAxLjUxMTcxNTk3NjQ3ODk0NThlLTMxNgogICAg
ICAgIHRpbWVUb05leHRGbHVzaCA9IDYuOTM1OTIwNDcxNDI2MTY1NGUtMzEwCiM4ICAweDAwMDA3
ZmFkZGVkYmQyOTUgaW4gc3RkOjpfTWVtX2ZuX2Jhc2U8dm9pZCAoV2ViS2l0OjpMYXllclRyZWVI
b3N0R3RrOjoqKSgpLCB0cnVlPjo6b3BlcmF0b3IoKTwsIHZvaWQ+KFdlYktpdDo6TGF5ZXJUcmVl
SG9zdEd0ayopIGNvbnN0ICh0aGlzPTB4MWQyZTE1MCwgX19vYmplY3Q9MHg3ZmFkYjU3Zjc4YzAp
IGF0IC91c3IvaW5jbHVkZS9jKysvNS4wLjAvZnVuY3Rpb25hbDo2MDAKIzkgIDB4MDAwMDdmYWRk
ZWRiZDFmZSBpbiBzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lkIChXZWJLaXQ6OkxheWVyVHJl
ZUhvc3RHdGs6OiopKCk+IChXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGsqKT46Ol9fY2FsbDx2b2lk
LCAsIDB1bD4oc3RkOjp0dXBsZTw+JiYsIHN0ZDo6X0luZGV4X3R1cGxlPDB1bD4pICh0aGlzPTB4
MWQyZTE1MCwgX19hcmdzPTx1bmtub3duIHR5cGUgaW4gL2hvbWUvamQvY2hlY2tvdXQvV2ViS2l0
R3RrL1dlYktpdEJ1aWxkL0RlYnVnL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNywgQ1UgMHhj
MDdlNTBjLCBESUUgMHhjMTZkNjU1PikgYXQgL3Vzci9pbmNsdWRlL2MrKy81LjAuMC9mdW5jdGlv
bmFsOjEwNzQKIzEwIDB4MDAwMDdmYWRkZWRiZDA5NiBpbiBzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9m
bjx2b2lkIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6OiopKCk+IChXZWJLaXQ6OkxheWVyVHJl
ZUhvc3RHdGsqKT46Om9wZXJhdG9yKCk8LCB2b2lkPigpICh0aGlzPTB4MWQyZTE1MCkgYXQgL3Vz
ci9pbmNsdWRlL2MrKy81LjAuMC9mdW5jdGlvbmFsOjExMzMKIzExIDB4MDAwMDdmYWRkZWRiY2Q0
OSBpbiBzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQgKCksIHN0ZDo6X0JpbmQ8c3RkOjpfTWVt
X2ZuPHZvaWQgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdEd0azo6KikoKT4gKFdlYktpdDo6TGF5ZXJU
cmVlSG9zdEd0ayopPiA+OjpfTV9pbnZva2Uoc3RkOjpfQW55X2RhdGEgY29uc3QmKSAoX19mdW5j
dG9yPS4uLikgYXQgL3Vzci9pbmNsdWRlL2MrKy81LjAuMC9mdW5jdGlvbmFsOjE4NzEKIzEyIDB4
MDAwMDdmYWRkZTkzZDk0YSBpbiBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+OjpvcGVyYXRvcigpKCkg
Y29uc3QgKHRoaXM9MHg3ZmZlY2Y5ZTIwZjgpIGF0IC91c3IvaW5jbHVkZS9jKysvNS4wLjAvZnVu
Y3Rpb25hbDoyMjcxCiMxMyAweDAwMDA3ZmFkZDk4ZjIyOGIgaW4gV1RGOjpHTWFpbkxvb3BTb3Vy
Y2U6OnZvaWRDYWxsYmFjaygpICh0aGlzPTB4N2ZhZGI1N2Y3OTIwKQogICAgYXQgLi4vLi4vU291
cmNlL1dURi93dGYvZ29iamVjdC9HTWFpbkxvb3BTb3VyY2UuY3BwOjM2NQogICAgICAgIGNvbnRl
eHQgPSAKICAgICAgICAgICAge3NvdXJjZSA9IHttX3B0ciA9IDB4MWNmNTU5MH0sIGNhbmNlbGxh
YmxlID0ge21fcHRyID0gMHgwfSwgc29ja2V0Q2FuY2VsbGFibGUgPSB7bV9wdHIgPSAweDB9LCB2
b2lkQ2FsbGJhY2sgPSB7PHN0ZDo6X01heWJlX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbjx2b2lk
Pj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9iYXNlPiA9IHtzdGF0aWMg
X01fbWF4X3NpemUgPSAxNiwgc3RhdGljIF9NX21heF9hbGlnbiA9IDgsIF9NX2Z1bmN0b3IgPSB7
X01fdW51c2VkID0ge19NX29iamVjdCA9IDB4MWQyZTE1MCwgX01fY29uc3Rfb2JqZWN0ID0gMHgx
ZDJlMTUwLCBfTV9mdW5jdGlvbl9wb2ludGVyID0gMHgxZDJlMTUwLCBfTV9tZW1iZXJfcG9pbnRl
ciA9ICh2b2lkIChzdGQ6Ol9VbmRlZmluZWRfY2xhc3M6OiopKHN0ZDo6X1VuZGVmaW5lZF9jbGFz
cyAqIGNvbnN0KSkgMHgxZDJlMTUwLCB0aGlzIGFkanVzdG1lbnQgMTQwMzg0MDI4MDE3MDI0fSwg
X01fcG9kX2RhdGEgPSAiUFwzNDFcMzIyXDAwMVwwMDBcMDAwXDAwMFwwMDBcMjAwQVwwMzdcMjY0
XDI1NVwxNzdcMDAwIn0sIF9NX21hbmFnZXIgPSAweDdmYWRkZWRiY2Q0YyA8c3RkOjpfRnVuY3Rp
b25fYmFzZTo6X0Jhc2VfbWFuYWdlcjxzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lkIChXZWJL
aXQ6OkxheWVyVHJlZUhvc3RHdGs6OiopKCk+IChXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGsqKT4g
Pjo6X01fbWFuYWdlcihzdGQ6Ol9BbnlfZGF0YSYsIHN0ZDo6X0FueV9kYXRhIGNvbnN0Jiwgc3Rk
OjpfTWFuYWdlcl9vcGVyYXRpb24pPn0sIF9NX2ludm9rZXIgPSAweDdmYWRkZWRiY2QyOSA8c3Rk
OjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkICgpLCBzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lk
IChXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdC0tLVR5cGUgPHJldHVybj4gdG8gY29udGludWUsIG9y
IHEgPHJldHVybj4gdG8gcXVpdC0tLQprOjoqKSgpPiAoV2ViS2l0OjpMYXllclRyZWVIb3N0R3Rr
Kik+ID46Ol9NX2ludm9rZShzdGQ6Ol9BbnlfZGF0YSBjb25zdCYpPn0sIGJvb2xDYWxsYmFjayA9
IHs8c3RkOjpfTWF5YmVfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uPGJvb2w+PiA9IHs8Tm8gZGF0
YSBmaWVsZHM+fSwgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U+ID0ge3N0YXRpYyBfTV9tYXhfc2l6ZSA9
IDE2LCBzdGF0aWMgX01fbWF4X2FsaWduID0gOCwgX01fZnVuY3RvciA9IHtfTV91bnVzZWQgPSB7
X01fb2JqZWN0ID0gMHg3ZmFkZGVkYmNkMWUgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U6Ol9CYXNlX21h
bmFnZXI8c3RkOjpfQmluZDxzdGQ6Ol9NZW1fZm48dm9pZCAoV2ViS2l0OjpMYXllclRyZWVIb3N0
R3RrOjoqKSgpPiAoV2ViS2l0OjpMYXllclRyZWVIb3N0R3RrKik+ID46Ol9NX2luaXRfZnVuY3Rv
cihzdGQ6Ol9BbnlfZGF0YSYsIHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZvaWQgKFdlYktpdDo6
TGF5ZXJUcmVlSG9zdEd0azo6KikoKT4gKFdlYktpdDo6TGF5ZXJUcmVlSG9zdEd0ayopPiYmKSs1
Mj4sIF9NX2NvbnN0X29iamVjdCA9IDB4N2ZhZGRlZGJjZDFlIDxzdGQ6Ol9GdW5jdGlvbl9iYXNl
OjpfQmFzZV9tYW5hZ2VyPHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZvaWQgKFdlYktpdDo6TGF5
ZXJUcmVlSG9zdEd0azo6KikoKT4gKFdlYktpdDo6TGF5ZXJUcmVlSG9zdEd0ayopPiA+OjpfTV9p
bml0X2Z1bmN0b3Ioc3RkOjpfQW55X2RhdGEmLCBzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lk
IChXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6OiopKCk+IChXZWJLaXQ6OkxheWVyVHJlZUhvc3RH
dGsqKT4mJikrNTI+LCBfTV9mdW5jdGlvbl9wb2ludGVyID0gMHg3ZmFkZGVkYmNkMWUgPHN0ZDo6
X0Z1bmN0aW9uX2Jhc2U6Ol9CYXNlX21hbmFnZXI8c3RkOjpfQmluZDxzdGQ6Ol9NZW1fZm48dm9p
ZCAoV2ViS2l0OjpMYXllclRyZWVIb3N0R3RrOjoqKSgpPiAoV2ViS2l0OjpMYXllclRyZWVIb3N0
R3RrKik+ID46Ol9NX2luaXRfZnVuY3RvcihzdGQ6Ol9BbnlfZGF0YSYsIHN0ZDo6X0JpbmQ8c3Rk
OjpfTWVtX2ZuPHZvaWQgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdEd0azo6KikoKT4gKFdlYktpdDo6
TGF5ZXJUcmVlSG9zdEd0ayopPiYmKSs1Mj4sIF9NX21lbWJlcl9wb2ludGVyID0gKHZvaWQgKHN0
ZDo6X1VuZGVmaW5lZF9jbGFzczo6Kikoc3RkOjpfVW5kZWZpbmVkX2NsYXNzICogY29uc3QpKSAw
eDdmYWRkZWRiY2QxZSA8c3RkOjpfRnVuY3Rpb25fYmFzZTo6X0Jhc2VfbWFuYWdlcjxzdGQ6Ol9C
aW5kPHN0ZDo6X01lbV9mbjx2b2lkIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6OiopKCk+IChX
ZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGsqKT4gPjo6X01faW5pdF9mdW5jdG9yKHN0ZDo6X0FueV9k
YXRhJiwgc3RkOjpfQmluZDxzdGQ6Ol9NZW1fZm48dm9pZCAoV2ViS2l0OjpMYXllclRyZWVIb3N0
R3RrOjoqKSgpPiAoV2ViS2l0OjpMYXllclRyZWVIb3N0R3RrKik+JiYpKzUyPiwgdGhpcyBhZGp1
c3RtZW50IDE0MDM4NDA1ODkyMzI2NH0sIF9NX3BvZF9kYXRhID0gIlwwMzZcMzE1XDMzM96tXDE3
N1wwMDBcMDAwXDAwMFwzMzFcMzY2XDI2NVwyNTVcMTc3XDAwMCJ9LCBfTV9tYW5hZ2VyID0gMHgw
fSwgX01faW52b2tlciA9IDB4N2ZmZWNmOWUwZTgwfSwgc29ja2V0Q2FsbGJhY2sgPSB7PHN0ZDo6
X01heWJlX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbjxib29sLCBHSU9Db25kaXRpb24+PiA9IHs8
c3RkOjp1bmFyeV9mdW5jdGlvbjxHSU9Db25kaXRpb24sIGJvb2w+PiA9IHs8Tm8gZGF0YSBmaWVs
ZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9iYXNlPiA9IHtzdGF0aWMg
X01fbWF4X3NpemUgPSAxNiwgc3RhdGljIF9NX21heF9hbGlnbiA9IDgsIF9NX2Z1bmN0b3IgPSB7
X01fdW51c2VkID0ge19NX29iamVjdCA9IDB4N2ZmZWNmOWUwZTYwLCBfTV9jb25zdF9vYmplY3Qg
PSAweDdmZmVjZjllMGU2MCwgX01fZnVuY3Rpb25fcG9pbnRlciA9IDB4N2ZmZWNmOWUwZTYwLCBf
TV9tZW1iZXJfcG9pbnRlciA9ICh2b2lkIChzdGQ6Ol9VbmRlZmluZWRfY2xhc3M6OiopKHN0ZDo6
X1VuZGVmaW5lZF9jbGFzcyAqIGNvbnN0KSkgMHg3ZmZlY2Y5ZTBlNjAsIHRoaXMgYWRqdXN0bWVu
dCAxNDA3MzIzODE2NjI4MTZ9LCBfTV9wb2RfZGF0YSA9ICJgXDAxNlwyMzZcMzE3XDM3NlwxNzdc
MDAwXDAwMGBcMDE2XDIzNlwzMTdcMzc2XDE3N1wwMDAifSwgX01fbWFuYWdlciA9IDB4MH0sIF9N
X2ludm9rZXIgPSAweDdmZmVjZjllMGU2MH0sIGRlc3Ryb3lDYWxsYmFjayA9IHs8c3RkOjpfTWF5
YmVfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uPHZvaWQ+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwg
PHN0ZDo6X0Z1bmN0aW9uX2Jhc2U+ID0ge3N0YXRpYyBfTV9tYXhfc2l6ZSA9IDE2LCBzdGF0aWMg
X01fbWF4X2FsaWduID0gOCwgX01fZnVuY3RvciA9IHtfTV91bnVzZWQgPSB7X01fb2JqZWN0ID0g
MHg3ZmFkZGVjNGU3MTAgPFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjphdHRhY2hSb290R3JhcGhp
Y3NMYXllcihXZWJDb3JlOjpGcmFtZSosIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKT4sIF9NX2Nv
bnN0X29iamVjdCA9IDB4N2ZhZGRlYzRlNzEwIDxXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6YXR0
YWNoUm9vdEdyYXBoaWNzTGF5ZXIoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHcmFwaGljc0xh
eWVyKik+LCBfTV9mdW5jdGlvbl9wb2ludGVyID0gMHg3ZmFkZGVjNGU3MTAgPFdlYktpdDo6V2Vi
Q2hyb21lQ2xpZW50OjphdHRhY2hSb290R3JhcGhpY3NMYXllcihXZWJDb3JlOjpGcmFtZSosIFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXIqKT4sIF9NX21lbWJlcl9wb2ludGVyID0gKHZvaWQgKHN0ZDo6
X1VuZGVmaW5lZF9jbGFzczo6Kikoc3RkOjpfVW5kZWZpbmVkX2NsYXNzICogY29uc3QpKSAweDdm
YWRkZWM0ZTcxMCA8V2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmF0dGFjaFJvb3RHcmFwaGljc0xh
eWVyKFdlYkNvcmU6OkZyYW1lKiwgV2ViQ29yZTo6R3JhcGhpY3NMYXllciopPiwgdGhpcyBhZGp1
c3RtZW50IDE0MDM4NDgzMjk0OTcxMn0sIF9NX3BvZF9kYXRhID0gIlwwMjBcMzQ3XDMwNN6tXDE3
N1wwMDBcMDAw0I1cMDMxXDM0NFwyNTVcMTc3XDAwMCJ9LCBfTV9tYW5hZ2VyID0gMHgwfSwgX01f
aW52b2tlciA9IDB4N2ZhZGRlZGJkMTY2IDxXVEY6OlR5cGVDYXN0VHJhaXRzPFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyIGNvbnN0LCBXZWJDb3JlOjpHcmFwaGljc0xheWVyIGNv
bnN0LCBmYWxzZT46OmlzVHlwZShXZWJDb3JlOjpHcmFwaGljc0xheWVyIGNvbnN0JikrMzc+fX0K
IzE0IDB4MDAwMDdmYWRkOThmMjk4OSBpbiBXVEY6OkdNYWluTG9vcFNvdXJjZTo6dm9pZFNvdXJj
ZUNhbGxiYWNrKFdURjo6R01haW5Mb29wU291cmNlKikgKHNvdXJjZT0weDdmYWRiNTdmNzkyMCkK
ICAgIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dvYmplY3QvR01haW5Mb29wU291cmNlLmNwcDo0
NTYKIzE1IDB4MDAwMDdmYWRkNWEwYTIzYSBpbiBnX21haW5fY29udGV4dF9kaXNwYXRjaCAoY29u
dGV4dD0weDE3ZGE1MTApIGF0IGdtYWluLmM6MzEyMgogICAgICAgIGRpc3BhdGNoID0gMHg3ZmFk
ZDVhMDZjZTAgPGdfaWRsZV9kaXNwYXRjaD4KICAgICAgICBwcmV2X3NvdXJjZSA9IDB4MAogICAg
ICAgIHdhc19pbl9jYWxsID0gMAogICAgICAgIHVzZXJfZGF0YSA9IDB4N2ZhZGI1N2Y3OTIwCiAg
ICAgICAgY2FsbGJhY2sgPSAweDdmYWRkOThmMjk2NiA8V1RGOjpHTWFpbkxvb3BTb3VyY2U6OnZv
aWRTb3VyY2VDYWxsYmFjayhXVEY6OkdNYWluTG9vcFNvdXJjZSopPgogICAgICAgIGNiX2Z1bmNz
ID0gMHg3ZmFkZDVjZjg4YTAgPGdfc291cmNlX2NhbGxiYWNrX2Z1bmNzPgogICAgICAgIGNiX2Rh
dGEgPSAweDFjZjU2MzAKICAgICAgICBuZWVkX2Rlc3Ryb3kgPSA8b3B0aW1pemVkIG91dD4KICAg
ICAgICBzb3VyY2UgPSAweDFjZjU1OTAKICAgICAgICBjdXJyZW50ID0gMHgxN2M1NDAwCiAgICAg
ICAgaSA9IDAKIzE2IDB4MDAwMDdmYWRkNWEwYTIzYSBpbiBnX21haW5fY29udGV4dF9kaXNwYXRj
aCAoY29udGV4dD1jb250ZXh0QGVudHJ5PTB4MTdkYTUxMCkgYXQgZ21haW4uYzozNzM3CiMxNyAw
eDAwMDA3ZmFkZDVhMGE1ZDAgaW4gZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD0weDE3
ZGE1MTAsIGJsb2NrPWJsb2NrQGVudHJ5PTEsIGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5PTEsIHNl
bGY9PG9wdGltaXplZCBvdXQ+KSBhdCBnbWFpbi5jOjM4MDgKICAgICAgICBtYXhfcHJpb3JpdHkg
PSAxMTkKICAgICAgICB0aW1lb3V0ID0gMAogICAgICAgIHNvbWVfcmVhZHkgPSAxCiAgICAgICAg
bmZkcyA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGFsbG9jYXRlZF9uZmRzID0gOQogICAgICAg
IGZkcyA9IDB4MWQ4Nzk2MAojMTggMHgwMDAwN2ZhZGQ1YTBhOGYyIGluIGdfbWFpbl9sb29wX3J1
biAobG9vcD0weDFiYjIzODApIGF0IGdtYWluLmM6NDAwMgogICAgICAgIF9fZnVuY19fID0gImdf
bWFpbl9sb29wX3J1biIKIzE5IDB4MDAwMDdmYWRlMDhjNmM3YyBpbiBXVEY6OlJ1bkxvb3A6OnJ1
bigpICgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2d0ay9SdW5Mb29wR3RrLmNwcDo1OQogICAg
ICAgIG1haW5SdW5Mb29wID0gCiAgICAgICAgICAgICAgICBAMHg3ZmFkYjVmZjkwMDA6IHs8V1RG
OjpGdW5jdGlvbkRpc3BhdGNoZXI+ID0gezxXVEY6OlRocmVhZFNhZmVSZWZDb3VudGVkPFdURjo6
RnVuY3Rpb25EaXNwYXRjaGVyPj4gPSB7PFdURjo6VGhyZWFkU2FmZVJlZkNvdW50ZWRCYXNlPiA9
IHttX3JlZkNvdW50ID0gezxzdGQ6Ol9fYXRvbWljX2Jhc2U8aW50Pj4gPSB7X01faSA9IDF9LCA8
Tm8gZGF0YSBmaWVsZHM+fX0sIDxObyBkYXRhIGZpZWxkcz59LCBfdnB0ci5GdW5jdGlvbkRpc3Bh
dGNoZXIgPSAweDdmYWRlNDE2ZTYyOCA8dnRhYmxlIGZvciBXVEY6OlJ1bkxvb3ArMTY+fSwgbV9m
dW5jdGlvblF1ZXVlTG9jayA9IHttX211dGV4ID0ge19fZGF0YSA9IHtfX2xvY2sgPSAwLCBfX2Nv
dW50ID0gMCwgX19vd25lciA9IDAsIF9fbnVzZXJzID0gMCwgX19raW5kID0gNTEyLCBfX3NwaW5z
ID0gMCwgX19lbGlzaW9uID0gMCwgX19saXN0ID0ge19fcHJldiA9IDB4MCwgX19uZXh0ID0gMHgw
fX0sIF9fc2l6ZSA9ICdcMDAwJyA8cmVwZWF0cyAxNyB0aW1lcz4sICJcMDAyIiwgJ1wwMDAnIDxy
ZXBlYXRzIDIxIHRpbWVzPiwgX19hbGlnbiA9IDB9fSwgbV9mdW5jdGlvblF1ZXVlID0ge21fc3Rh
cnQgPSAyLCBtX2VuZCA9IDIsIG1fYnVmZmVyID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8c3Rk
OjpmdW5jdGlvbjx2b2lkKCk+ID4+ID0ge21fYnVmZmVyID0gMHg3ZmFkYjU3ZjkwMDAsIG1fY2Fw
YWNpdHkgPSAxNiwgbV9zaXplID0gMH0sIDxObyBkYXRhIGZpZWxkcz59LCBtX2l0ZXJhdG9ycyA9
IDB4MH0sIG1fcnVuTG9vcENvbnRleHQgPSB7bV9wdHIgPSAweDE3ZGE1MTB9LCBtX3J1bkxvb3BN
YWluTG9vcHMgPSB7PFdURjo6VmVjdG9yQnVmZmVyPFdURjo6R1JlZlB0cjxfR01haW5Mb29wPiwg
MHVsPj4gPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFzZTxXVEY6OkdSZWZQdHI8X0dNYWluTG9vcD4g
Pj4gPSB7bV9idWZmZXIgPSAweDdmYWRiNWZmYzE4MCwgbV9jYXBhY2l0eSA9IDE2LCBtX3NpemUg
PSAxfSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59fQogICAgICAgIGlubmVy
bW9zdExvb3AgPSAweDFiYjIzODAKICAgICAgICBuZXN0ZWRNYWluTG9vcCA9IDB4N2ZhZGQwMTVl
YjI4IDxtYWluX2FyZW5hKzg+CiMyMCAweDAwMDA3ZmFkZGVkYjg1YjEgaW4gV2ViS2l0OjpDaGls
ZFByb2Nlc3NNYWluPFdlYktpdDo6V2ViUHJvY2VzcywgV2ViS2l0OjpXZWJQcm9jZXNzTWFpbj4o
aW50LCBjaGFyKiopIChhcmdjPTIsIGFyZ3Y9MHg3ZmZlY2Y5ZTI0YTgpIGF0IC4uLy4uL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC91bml4L0NoaWxkUHJvY2Vzc01haW4uaDo2MQogICAgICAgIGNoaWxk
TWFpbiA9IAogICAgICAgICAgICAgICAgICB7PFdlYktpdDo6Q2hpbGRQcm9jZXNzTWFpbkJhc2U+
ID0ge192cHRyLkNoaWxkUHJvY2Vzc01haW5CYXNlID0gMHg3ZmFkZTNmZGJkYTggPHZ0YWJsZSBm
b3IgV2ViS2l0OjpXZWJQcm9jZXNzTWFpbisxNj4sIG1fcGFyYW1ldGVycyA9IHt1aVByb2Nlc3NO
YW1lID0ge21faW1wbCA9IHttX3B0ciA9IDB4MH19LCBjbGllbnRJZGVudGlmaWVyID0ge21faW1w
bCA9IHttX3B0ciA9IDB4MH19LCBjb25uZWN0aW9uSWRlbnRpZmllciA9IDE3LCBleHRyYUluaXRp
YWxpemF0aW9uRGF0YSA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9IDxvcHRpbWl6ZWQg
b3V0Piwgc3RhdGljIG1fbWluTG9hZCA9IDxvcHRpbWl6ZWQgb3V0PiwgbV90YWJsZSA9IDB4MCwg
bV90YWJsZVNpemUgPSAwLCBtX3RhYmxlU2l6ZU1hc2sgPSAwLCBtX2tleUNvdW50ID0gMCwgbV9k
ZWxldGVkQ291bnQgPSAwLCBtX2l0ZXJhdG9ycyA9IDB4MCwgbV9tdXRleCA9IHN0ZDo6dW5pcXVl
X3B0cjxzdGQ6Om11dGV4PiBjb250YWluaW5nIDB4MTdiNDU3MH19fX0sIDxObyBkYXRhIGZpZWxk
cz59CiMyMSAweDAwMDA3ZmFkZGVkYjg0MTcgaW4gV2ViS2l0OjpXZWJQcm9jZXNzTWFpblVuaXgo
aW50LCBjaGFyKiopIChhcmdjPTIsIGFyZ3Y9MHg3ZmZlY2Y5ZTI0YTgpCiAgICBhdCAuLi8uLi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHA6NzcKIzIy
IDB4MDAwMDAwMDAwMDQwMGJkYSBpbiBtYWluKGludCwgY2hhcioqKSAoYXJnYz0yLCBhcmd2PTB4
N2ZmZWNmOWUyNGE4KQogICAgYXQgLi4vLi4vU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9FbnRy
eVBvaW50L3VuaXgvV2ViUHJvY2Vzc01haW4uY3BwOjQ0CihnZGIpIAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250129</attachid>
            <date>2015-04-04 09:55:28 -0700</date>
            <delta_ts>2015-04-04 09:55:28 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-142333-20150404095803.patch</filename>
            <type>text/plain</type>
            <size>1853</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MjM0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE1LTA0LTA0ICBaYW4gRG9i
ZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBXZWJDb3JlOjpU
cmFuc2Zvcm1hdGlvbk1hdHJpeDo6bXVsdGlwbHkgc2VnZmF1bHRzIHdoZW4gbG9hZGluZyBsYXN0
LmZtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDIz
MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaDogVXNlIGFs
aWduYXMoMTYpIHRvCisgICAgICAgIHByb3Blcmx5IGFsaWduIHRoZSBNYXRyaXg0IG1lbWJlciBv
ZiBUcmFuc2Zvcm1hdGlvbk1hdHJpeC4KKwogMjAxNS0wNC0wMyAgWmFuIERvYmVyc2VrICA8emRv
YmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgTWVkaWFEZXZpY2VzIHBvc3Nlc3NlcyBhIHZ0
YWJsZSBkZXNwaXRlIHVzaW5nIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUgSURMIGF0dHJpYnV0
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFu
c2Zvcm1hdGlvbk1hdHJpeC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAkocmV2aXNpb24gMTgy
MzQzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFu
c2Zvcm1hdGlvbk1hdHJpeC5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCwxNiArNjQsNyBAQCBjbGFz
cyBGbG9hdFF1YWQ7CiBjbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0KLSNpZiBDUFUoQVBQTEVfQVJNVjdTKSB8fCBkZWZp
bmVkKFRSQU5TRk9STUFUSU9OX01BVFJJWF9VU0VfWDg2XzY0X1NTRTIpCi0jaWYgQ09NUElMRVIo
TVNWQykKLSAgICBfX2RlY2xzcGVjKGFsaWduKDE2KSkgdHlwZWRlZiBkb3VibGUgTWF0cml4NFs0
XVs0XTsKLSNlbHNlCi0gICAgdHlwZWRlZiBkb3VibGUgTWF0cml4NFs0XVs0XSBfX2F0dHJpYnV0
ZV9fKChhbGlnbmVkICgxNikpKTsKLSNlbmRpZgotI2Vsc2UKLSAgICB0eXBlZGVmIGRvdWJsZSBN
YXRyaXg0WzRdWzRdOwotI2VuZGlmCisgICAgdXNpbmcgTWF0cml4NCA9IGRvdWJsZVs0XVs0XTsK
IAogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4KCkgeyBtYWtlSWRlbnRpdHkoKTsgfQogICAgIFRy
YW5zZm9ybWF0aW9uTWF0cml4KGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdCk7CkBAIC00MTAsNyAr
NDAxLDEwIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtZW1jcHkobV9tYXRyaXgsIG0sIHNpemVv
ZihNYXRyaXg0KSk7CiAgICAgfQogCi0gICAgTWF0cml4NCBtX21hdHJpeDsKKyNpZiBDUFUoQVBQ
TEVfQVJNVjdTKSB8fCBkZWZpbmVkKFRSQU5TRk9STUFUSU9OX01BVFJJWF9VU0VfWDg2XzY0X1NT
RTIpCisgICAgYWxpZ25hcygxNikKKyNlbmRpZgorICAgICAgICBNYXRyaXg0IG1fbWF0cml4Owog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>