<?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>112369</bug_id>
          
          <creation_ts>2013-03-14 11:22:01 -0700</creation_ts>
          <short_desc>Assertion failure !m_lastChunkBeforeScript in HTMLDocumentParser during inspector/debugger/pause-in-inline-script.html</short_desc>
          <delta_ts>2014-12-17 17:48:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>113765</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>inferno</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>pfeldman</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>855345</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-03-14 11:22:01 -0700</bug_when>
    <thetext>Layout test inspector/debugger/pause-in-inline-script.html is crashing on chromium.webkit debug bots (all OSs) with the following assertion failure:

crash log for DumpRenderTree (pid 1073):
STDOUT: &lt;empty&gt;
STDERR: ASSERTION FAILED: !m_lastChunkBeforeScript
STDERR: ../../third_party/WebKit/Source/WebCore/html/parser/HTMLDocumentParser.cpp(339) : void WebCore::HTMLDocumentParser::validateSpeculations(WTF::PassOwnPtr&lt;WebCore::HTMLDocumentParser::ParsedChunk&gt;)
STDERR: 1   0xe00051
STDERR: 2   0xe00c76
STDERR: 3   0xdfff20
STDERR: 4   0xe979d3
STDERR: 5   0xe9790d
STDERR: 6   0x46082e
STDERR: 7   0x460530
STDERR: 8   0x1863e94
STDERR: 9   0x1863dc4
STDERR: 10  0x1863bb3
STDERR: 11  0x208955f
STDERR: 12  0x2764993
STDERR: 13  0x2764aaa
STDERR: 14  0x2765311
STDERR: 15  0x27cfb72
STDERR: 16  0x27cfff4
STDERR: 17  0x276459b
STDERR: 18  0x2764456
STDERR: 19  0x278f80c
STDERR: 20  0x2763d8e
STDERR: 21  0x18605bb
STDERR: 22  0x42bc55
STDERR: 23  0x425e92
STDERR: 24  0x41f4d0
STDERR: 25  0x42007b
STDERR: 26  0x7f436588b76d __libc_start_main
STDERR: 27  0x41dbc9
STDERR: Received signal 11 SEGV_MAPERR 0000bbadbeef
STDERR:  [0x000002744c18] base::debug::StackTrace::StackTrace()
STDERR:  [0x00000274451f] base::debug::(anonymous namespace)::StackDumpSignalHandler()
STDERR:  [0x7f4366861cb0] &lt;unknown&gt;
STDERR:  [0x000000e0005b] WebCore::HTMLDocumentParser::validateSpeculations()
STDERR:  [0x000000e00c76] WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser()
STDERR:  [0x000000dfff20] WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser()
STDERR:  [0x000000e979d3] WTF::FunctionWrapper&lt;&gt;::operator()()
STDERR:  [0x000000e9790d] WTF::BoundFunctionImpl&lt;&gt;::operator()()
STDERR:  [0x00000046082e] WTF::Function&lt;&gt;::operator()()
STDERR:  [0x000000460530] WTF::callFunctionObject()
STDERR:  [0x000001863e94] base::internal::RunnableAdapter&lt;&gt;::Run()
STDERR:  [0x000001863dc4] base::internal::InvokeHelper&lt;&gt;::MakeItSo()
STDERR:  [0x000001863bb3] base::internal::Invoker&lt;&gt;::Run()
STDERR:  [0x00000208955f] base::Callback&lt;&gt;::Run()
STDERR:  [0x000002764993] MessageLoop::RunTask()
STDERR:  [0x000002764aaa] MessageLoop::DeferOrRunPendingTask()
STDERR:  [0x000002765311] MessageLoop::DoWork()
STDERR:  [0x0000027cfb72] base::MessagePumpGlib::RunWithDispatcher()
STDERR:  [0x0000027cfff4] base::MessagePumpGlib::Run()
STDERR:  [0x00000276459b] MessageLoop::RunInternal()
STDERR:  [0x000002764456] MessageLoop::RunHandler()
STDERR:  [0x00000278f80c] base::RunLoop::Run()
STDERR:  [0x000002763d8e] MessageLoop::Run()
STDERR:  [0x0000018605bb] webkit_support::RunMessageLoop()
STDERR:  [0x00000042bc55] TestShell::waitTestFinished()
STDERR:  [0x000000425e92] TestShell::runFileTest()
STDERR:  [0x00000041f4d0] runTest()
STDERR:  [0x00000042007b] main
STDERR:  [0x7f436588b76d] __libc_start_main
STDERR:  [0x00000041dbc9] &lt;unknown&gt;
STDERR:   r8: 00007f4369e5c980  r9: 00000000004002d0 r10: 0000000002a8146e r11: 0000000000000000
STDERR:  r12: 00007fffa4dead28 r13: 00007fffa4deb8c0 r14: 0000000000000000 r15: 0000000000000000
STDERR:   di: 0000000000000000  si: 00000000efcdab90  bp: 00007fffa4de9fc0  bx: 0000351bd5acf900
STDERR:   dx: 00007f4365c24aa0  ax: 00000000bbadbeef  cx: 00007f436595091d  sp: 00007fffa4de9f10
STDERR:   ip: 0000000000e0005b efl: 0000000000010246 cgf: 0000000000000033 erf: 0000000000000006
STDERR:  trp: 000000000000000e msk: 0000000000000000 cr2: 00000000bbadbeef


Example failures:
http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7%20%28dbg%29%282%29/builds/2395/steps/webkit_tests
http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20%28dbg%29/builds/7136/steps/webkit_tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856193</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-15 12:29:06 -0700</bug_when>
    <thetext>This is likely from Eric&apos;s recent patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856200</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-15 12:45:11 -0700</bug_when>
    <thetext>Thanks.  I&apos;ll make sure to fix this on Monday if not before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856237</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-15 13:23:50 -0700</bug_when>
    <thetext>I suspect this may also be that we were doing something wonky here before, and now we&apos;re just catching it with ASSERTs.
http://trac.webkit.org/browser/trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp#L331</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856684</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-17 00:09:17 -0700</bug_when>
    <thetext>Hmm...  I have not been able to repro this yet:

run-webkit-tests --debug --chromium inspector/debugger
Found 74 tests; running 74, skipping 0.
Running 1 DumpRenderTree.       

All 74 tests ran as expected.

On r146004.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858702</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-19 13:51:22 -0700</bug_when>
    <thetext>Have we seen this since?  I&apos;ve not had any other reports of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858902</commentid>
    <comment_count>6</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-03-19 17:33:59 -0700</bug_when>
    <thetext>Yes, it still seems to be crashing regularly:
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector%2Fdebugger%2Fpause-in-inline-script.html

I think you&apos;ll need to remove the Crash/Timeout suppression in LayoutTests/platform/chromium/TestExpectations in order to have DRT report the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859153</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-20 01:31:03 -0700</bug_when>
    <thetext>I&apos;m able to repro the ASSERT.

We&apos;re hitting the ASSERT when trying to set m_lastChunkBeforeScript when it&apos;s already set.  That means that we&apos;re handling this chunk on the main thread, before we were told that script execution was complete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859198</commentid>
    <comment_count>8</comment_count>
      <attachid>194006</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-20 02:31:40 -0700</bug_when>
    <thetext>Created attachment 194006
backtrace of the bug

Turns out the debugger can cause us to re-enter didReceiveParsedChunkFromBackgroundParser on the main thread. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859207</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-20 02:57:16 -0700</bug_when>
    <thetext>We&apos;re going to want to add some ASSERTs to catch reentrancy here, as we thought we had avoided any reentrancy possibly with the threaded parser design.  If we&apos;re hitting this in cases other than the inspector, we could be seeing badness.  As far as we know this test only ASSERTs in Debug.  I suspect the output changes slightly in Release, but there should be no crashes there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859585</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-20 11:41:54 -0700</bug_when>
    <thetext>Adam points out that window.showModalDialog also runs a nested event loop and likely could be used to trigger this condition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860380</commentid>
    <comment_count>11</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2013-03-21 08:42:13 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; We&apos;re going to want to add some ASSERTs to catch reentrancy here, as we thought we had avoided any reentrancy possibly with the threaded parser design.  If we&apos;re hitting this in cases other than the inspector, we could be seeing badness.  As far as we know this test only ASSERTs in Debug.  I suspect the output changes slightly in Release, but there should be no crashes there.

If you use our new ASSERT_WITH_SECURITY_IMPLICATION, we can catch that badness on our fuzzing bots with a reproducible testcase :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865858</commentid>
    <comment_count>12</comment_count>
      <attachid>195659</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-28 15:36:55 -0700</bug_when>
    <thetext>Created attachment 195659
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865863</commentid>
    <comment_count>13</comment_count>
      <attachid>195661</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-28 15:39:06 -0700</bug_when>
    <thetext>Created attachment 195661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865869</commentid>
    <comment_count>14</comment_count>
      <attachid>195662</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-28 15:44:06 -0700</bug_when>
    <thetext>Created attachment 195662
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865875</commentid>
    <comment_count>15</comment_count>
      <attachid>195664</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-28 15:53:47 -0700</bug_when>
    <thetext>Created attachment 195664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866630</commentid>
    <comment_count>16</comment_count>
      <attachid>195664</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-30 10:59:28 -0700</bug_when>
    <thetext>Comment on attachment 195664
Patch

I&apos;ve asked Eric to try another approach where we always push the current chunk onto the speculation queue and call pumpPendingSpeculations.l</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866925</commentid>
    <comment_count>17</comment_count>
      <attachid>195927</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-31 23:36:27 -0700</bug_when>
    <thetext>Created attachment 195927
Example patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866926</commentid>
    <comment_count>18</comment_count>
      <attachid>195927</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-31 23:37:20 -0700</bug_when>
    <thetext>Comment on attachment 195927
Example patch

This is the approach I had in mind.  I&apos;m not sure whether it works, however.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866928</commentid>
    <comment_count>19</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-31 23:39:00 -0700</bug_when>
    <thetext>Looks like it doesn&apos;t quite work because pumpPendingSpeculations takes the chunk out of m_speculations before processing it...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866929</commentid>
    <comment_count>20</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-31 23:44:00 -0700</bug_when>
    <thetext>i think you should review my original patch to fix the sec bug, then we should iterate :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866940</commentid>
    <comment_count>21</comment_count>
      <attachid>195664</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-31 23:53:10 -0700</bug_when>
    <thetext>Comment on attachment 195664
Patch

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

&gt; Source/WebCore/html/parser/HTMLDocumentParser.cpp:320
&gt; +    bool calledFromNestedEventLoop = (document()-&gt;activeParserCount() &gt; 0);

The problem with using activeParserCount is that you&apos;ll get cross-talk from other parsers associated with the current document.  Maybe that&apos;s ok because only the first parser can be a threaded parser (since all other parsers will be script-created)?

It seems better to use state that&apos;s associated with this this specific parser rather than using state associated wit the document.

&gt; Source/WebCore/html/parser/HTMLDocumentParser.cpp:346
&gt; +    if (!m_speculations.isEmpty() &amp;&amp; !isWaitingForScripts() &amp;&amp; !isStopped())
&gt; +        pumpPendingSpeculations();

This is just duplicating logic from pumpPendingSpeculations.  IMHO, we should call pumpPendingSpeculations instead of processParsedChunkFromBackgroundParser so that we measure the parserTimeLimit accurately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866947</commentid>
    <comment_count>22</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-03-31 23:58:20 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 195664 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=195664&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/parser/HTMLDocumentParser.cpp:320
&gt; &gt; +    bool calledFromNestedEventLoop = (document()-&gt;activeParserCount() &gt; 0);
&gt; 
&gt; The problem with using activeParserCount is that you&apos;ll get cross-talk from other parsers associated with the current document.  Maybe that&apos;s ok because only the first parser can be a threaded parser (since all other parsers will be script-created)?

correct.  the method which matters is always the bottom of the stack.

&gt; It seems better to use state that&apos;s associated with this this specific parser rather than using state associated wit the document.

that&apos;s fine too.

&gt; &gt; Source/WebCore/html/parser/HTMLDocumentParser.cpp:346
&gt; &gt; +    if (!m_speculations.isEmpty() &amp;&amp; !isWaitingForScripts() &amp;&amp; !isStopped())
&gt; &gt; +        pumpPendingSpeculations();
&gt; 
&gt; This is just duplicating logic from pumpPendingSpeculations.  IMHO, we should call pumpPendingSpeculations instead of processParsedChunkFromBackgroundParser so that we measure the parserTimeLimit accurately.

that&apos;s fine.  we can discuss tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867387</commentid>
    <comment_count>23</comment_count>
      <attachid>196029</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-04-01 15:24:46 -0700</bug_when>
    <thetext>Created attachment 196029
more work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867389</commentid>
    <comment_count>24</comment_count>
      <attachid>196030</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-04-01 15:48:20 -0700</bug_when>
    <thetext>Created attachment 196030
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867549</commentid>
    <comment_count>25</comment_count>
      <attachid>196030</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-01 22:33:01 -0700</bug_when>
    <thetext>Comment on attachment 196030
Patch

Clearing flags on attachment: 196030

Committed r147383: &lt;http://trac.webkit.org/changeset/147383&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867550</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-01 22:33:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867671</commentid>
    <comment_count>27</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-04-02 02:06:23 -0700</bug_when>
    <thetext>This patch is the prime candidate as a cause for regressions on a much limited set of builders:
http://build.webkit.org/builders/Apple%20MountainLion%20Debug%20WK1%20%28Tests%29/builds/6855
http://build.webkit.org/builders/Apple%20Lion%20Debug%20WK1%20%28Tests%29/builds/7837
http://build.webkit.org/builders/Apple%20Win%207%20Release%20%28Tests%29/builds/34376
http://build.webkit.org/builders/EFL%20Linux%2064-bit%20Release/builds/11411
http://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release/builds/36312

The minimal revision range consists of commits 147383 and 147384:
http://trac.webkit.org/log/?verbose=on&amp;rev=147384&amp;stop_rev=147383

I&apos;ll consult other port maintainers and try to delay the rollout until I can confirm what patch caused this, but will reland any potential rollout of this patch if it turns out it wasn&apos;t the one to blame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867676</commentid>
    <comment_count>28</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-04-02 02:11:41 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; http://build.webkit.org/builders/Apple%20Win%207%20Release%20%28Tests%29/builds/34376

Rather http://build.webkit.org/builders/Apple%20Win%207%20Release%20%28Tests%29/builds/34377</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867700</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-02 03:11:33 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 113765</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868045</commentid>
    <comment_count>30</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-04-02 11:02:04 -0700</bug_when>
    <thetext>The consensus is this was the correct patch to blame?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868084</commentid>
    <comment_count>31</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-04-02 11:18:15 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; The consensus is this was the correct patch to blame?

Yes, reverting this patch fixed these problems:
http://build.webkit.org/builders/Apple%20MountainLion%20Debug%20WK1%20%28Tests%29/builds/6865
http://build.webkit.org/builders/Apple%20MountainLion%20Debug%20WK1%20%28Tests%29/builds/6865
http://build.webkit.org/builders/Apple%20Win%207%20Release%20%28Tests%29/builds/34390
http://build.webkit.org/builders/EFL%20Linux%2064-bit%20Release/builds/11416</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056664</commentid>
    <comment_count>32</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-12-17 17:48:18 -0800</bug_when>
    <thetext>The related test(s) have been removed from trunk.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>194006</attachid>
            <date>2013-03-20 02:31:40 -0700</date>
            <delta_ts>2013-03-20 02:31:40 -0700</delta_ts>
            <desc>backtrace of the bug</desc>
            <filename>backtrace.txt</filename>
            <type>text/plain</type>
            <size>13078</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U1RBUlQgLSBkaWRSZWNlaXZlUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlciwgaXNXYWl0
aW5nRm9yU2NyaXB0czogMApwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcgpy
dW5TY3JpcHRzRm9yUGF1c2VkVHJlZUJ1aWxkZXIKdGFrZVNjcmlwdFRvUHJvY2VzcwpQcm9ncmFt
IHJlY2VpdmVkIHNpZ25hbCBFWENfQkFEX0FDQ0VTUywgQ291bGQgbm90IGFjY2VzcyBtZW1vcnku
ClJlYXNvbjogS0VSTl9JTlZBTElEX0FERFJFU1MgYXQgYWRkcmVzczogMHhiYmFkYmVlZgoweDAx
OTBlNWE3IGluIFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6ZGlkUmVjZWl2ZVBhcnNlZENo
dW5rRnJvbUJhY2tncm91bmRQYXJzZXIgKHRoaXM9MHhmYjBhYTAwLCBjaHVuaz1AMHhiZmZmOTZj
OCkgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2Vy
LmNwcDozMTcKMzE3CSAgICBBU1NFUlQocmVlbnRyYW5jeUNvdW50ID09IDEpOwooZ2RiKSBidAoj
MCAgMHgwMTkwZTVhNyBpbiBXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OmRpZFJlY2VpdmVQ
YXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5kUGFyc2VyICh0aGlzPTB4ZmIwYWEwMCwgY2h1bms9QDB4
YmZmZjk2YzgpIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5jcHA6MzE3CiMxICAweDAxOGY5NjQ3IGluIFdURjo6RnVuY3Rpb25XcmFwcGVyPHZv
aWQgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6KikoV1RGOjpQYXNzT3duUHRyPFdlYkNv
cmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6UGFyc2VkQ2h1bms+KT46Om9wZXJhdG9yKCkgKHRoaXM9
MHhlMjY4MGM4LCBjPUAweGUyNjgwZDAsIHAxPUAweGJmZmY5NzE4KSBhdCBGdW5jdGlvbmFsLmg6
MjU0CiMyICAweDAxOGY5NTRlIGluIFdURjo6Qm91bmRGdW5jdGlvbkltcGw8V1RGOjpGdW5jdGlv
bldyYXBwZXI8dm9pZCAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjoqKShXVEY6OlBhc3NP
d25QdHI8V2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpQYXJzZWRDaHVuaz4pPiwgdm9pZCAo
KShXVEY6OldlYWtQdHI8V2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyPiwgV1RGOjpQYXNzT3du
UHRyPFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6UGFyc2VkQ2h1bms+KT46Om9wZXJhdG9y
KCkgKHRoaXM9MHhlMjY4MGMwKSBhdCBGdW5jdGlvbmFsLmg6NTIyCiMzICAweDAxNjdjNDA0IGlu
IFdURjo6RnVuY3Rpb248dm9pZCAoKSgpPjo6b3BlcmF0b3IoKSAodGhpcz0weGUyYjVjNDApIGF0
IEZ1bmN0aW9uYWwuaDo3MDQKIzQgIDB4MDE2N2JlNzEgaW4gV1RGOjpjYWxsRnVuY3Rpb25PYmpl
Y3QgKGNvbnRleHQ9MHhlMmI1YzQwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9jaHJvbWl1bS9N
YWluVGhyZWFkQ2hyb21pdW0uY3BwOjYxCiM1ICAweDA0Y2E1MDYwIGluIGJhc2U6OmludGVybmFs
OjpSdW5uYWJsZUFkYXB0ZXI8dm9pZCAoKikodm9pZCopPjo6UnVuICh0aGlzPTB4YmZmZjk3ZjAs
IGExPUAweGUyNDU3YzApIGF0IGJpbmRfaW50ZXJuYWwuaDoxNzEKIzYgIDB4MDRjYTRmYTEgaW4g
YmFzZTo6aW50ZXJuYWw6Okludm9rZUhlbHBlcjxmYWxzZSwgdm9pZCwgYmFzZTo6aW50ZXJuYWw6
OlJ1bm5hYmxlQWRhcHRlcjx2b2lkICgqKSh2b2lkKik+LCB2b2lkICgpKHZvaWQqIGNvbnN0Jik+
OjpNYWtlSXRTbyAocnVubmFibGU9e2Z1bmN0aW9uXyA9IDB4MTY3YmU0MCA8V1RGOjpjYWxsRnVu
Y3Rpb25PYmplY3Qodm9pZCopPn0sIGExPUAweGUyNDU3YzApIGF0IGJpbmRfaW50ZXJuYWwuaDo4
NzEKIzcgIDB4MDRjYTRlZmYgaW4gYmFzZTo6aW50ZXJuYWw6Okludm9rZXI8MSwgYmFzZTo6aW50
ZXJuYWw6OkJpbmRTdGF0ZTxiYXNlOjppbnRlcm5hbDo6UnVubmFibGVBZGFwdGVyPHZvaWQgKCop
KHZvaWQqKT4sIHZvaWQgKCkodm9pZCopLCB2b2lkICgpKHZvaWQqKT4sIHZvaWQgKCkodm9pZCop
Pjo6UnVuIChiYXNlPTB4ZTI0NTdiMCkgYXQgYmluZF9pbnRlcm5hbC5oOjExNzMKIzggIDB4MDE0
MWNlOGIgaW4gYmFzZTo6Q2FsbGJhY2s8dm9pZCAoKSgpPjo6UnVuICh0aGlzPTB4YmZmZjlhNzQp
IGF0IGNhbGxiYWNrLmg6Mzk2CiM5ICAweDAxNDFhMjBhIGluIE1lc3NhZ2VMb29wOjpSdW5UYXNr
ICh0aGlzPTB4ZTIyNDE5MCwgcGVuZGluZ190YXNrPUAweGJmZmY5YTYwKSBhdCAuLi8uLi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL2Jhc2UvbWVzc2FnZV9sb29wLmNjOjQ3NgojMTAgMHgwMTQxYTY2
MiBpbiBNZXNzYWdlTG9vcDo6RGVmZXJPclJ1blBlbmRpbmdUYXNrICh0aGlzPTB4ZTIyNDE5MCwg
cGVuZGluZ190YXNrPUAweGJmZmY5YTYwKSBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L2Jhc2UvbWVzc2FnZV9sb29wLmNjOjQ4OAojMTEgMHgwMTQxYTg2MiBpbiBNZXNzYWdlTG9vcDo6
RG9Xb3JrICh0aGlzPTB4ZTIyNDE5MCkgYXQgLi4vLi4vU291cmNlL1dlYktpdC9jaHJvbWl1bS9i
YXNlL21lc3NhZ2VfbG9vcC5jYzo2NzEKIzEyIDB4MDEzNzhkM2IgaW4gYmFzZTo6TWVzc2FnZVB1
bXBDRlJ1bkxvb3BCYXNlOjpSdW5Xb3JrICh0aGlzPTB4ZTIxY2M4MCkgYXQgLi4vLi4vU291cmNl
L1dlYktpdC9jaHJvbWl1bS9iYXNlL21lc3NhZ2VfcHVtcF9tYWMubW06MjUyCiMxMyAweDAxMzc4
NGYyIGluIGJhc2U6Ok1lc3NhZ2VQdW1wQ0ZSdW5Mb29wQmFzZTo6UnVuV29ya1NvdXJjZSAoaW5m
bz0weGUyMWNjODApIGF0IC4uLy4uL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vYmFzZS9tZXNzYWdl
X3B1bXBfbWFjLm1tOjIzMAojMTQgMHg5MTFkNjA1ZiBpbiBfX0NGUlVOTE9PUF9JU19DQUxMSU5H
X09VVF9UT19BX1NPVVJDRTBfUEVSRk9STV9GVU5DVElPTl9fICgpCiMxNSAweDkxMWQ1YTg5IGlu
IF9fQ0ZSdW5Mb29wRG9Tb3VyY2VzMCAoKQojMTYgMHg5MTFmYjgzNiBpbiBfX0NGUnVuTG9vcFJ1
biAoKQojMTcgMHg5MTFmYjAyYSBpbiBDRlJ1bkxvb3BSdW5TcGVjaWZpYyAoKQojMTggMHg5MTFm
YWU5YiBpbiBDRlJ1bkxvb3BSdW5Jbk1vZGUgKCkKIzE5IDB4OTk5ODZmNWEgaW4gUnVuQ3VycmVu
dEV2ZW50TG9vcEluTW9kZSAoKQojMjAgMHg5OTk4NmJmNSBpbiBSZWNlaXZlTmV4dEV2ZW50Q29t
bW9uICgpCiMyMSAweDk5OTg2YjQ0IGluIEJsb2NrVW50aWxOZXh0RXZlbnRNYXRjaGluZ0xpc3RJ
bk1vZGUgKCkKIzIyIDB4OThjYjg5YWEgaW4gX0RQU05leHRFdmVudCAoKQojMjMgMHg5OGNiODFk
YyBpbiAtW05TQXBwbGljYXRpb24gbmV4dEV2ZW50TWF0Y2hpbmdNYXNrOnVudGlsRGF0ZTppbk1v
ZGU6ZGVxdWV1ZTpdICgpCiMyNCAweDAxMzc5ZDE1IGluIGJhc2U6Ok1lc3NhZ2VQdW1wTlNBcHBs
aWNhdGlvbjo6RG9SdW4gKHRoaXM9MHhlMjFjYzgwLCBkZWxlZ2F0ZT0weGUyMjQxOTApIGF0IC4u
Ly4uL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vYmFzZS9tZXNzYWdlX3B1bXBfbWFjLm1tOjU4NQoj
MjUgMHgwMTM3OGFhOCBpbiBiYXNlOjpNZXNzYWdlUHVtcENGUnVuTG9vcEJhc2U6OlJ1biAodGhp
cz0weGUyMWNjODAsIGRlbGVnYXRlPTB4ZTIyNDE5MCkgYXQgLi4vLi4vU291cmNlL1dlYktpdC9j
aHJvbWl1bS9iYXNlL21lc3NhZ2VfcHVtcF9tYWMubW06MTcxCiMyNiAweDAxNDE5YTcyIGluIE1l
c3NhZ2VMb29wOjpSdW5JbnRlcm5hbCAodGhpcz0weGUyMjQxOTApIGF0IC4uLy4uL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vYmFzZS9tZXNzYWdlX2xvb3AuY2M6NDMzCiMyNyAweDAxNDE5OTJiIGlu
IE1lc3NhZ2VMb29wOjpSdW5IYW5kbGVyICh0aGlzPTB4ZTIyNDE5MCkgYXQgLi4vLi4vU291cmNl
L1dlYktpdC9jaHJvbWl1bS9iYXNlL21lc3NhZ2VfbG9vcC5jYzo0MDYKIzI4IDB4MDE0N2U4Njgg
aW4gYmFzZTo6UnVuTG9vcDo6UnVuICh0aGlzPTB4YmZmZmIzNTApIGF0IC4uLy4uL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vYmFzZS9ydW5fbG9vcC5jYzo0NQojMjkgMHgwMTQxOGQyNyBpbiBNZXNz
YWdlTG9vcDo6UnVuICh0aGlzPTB4ZTIyNDE5MCkgYXQgLi4vLi4vU291cmNlL1dlYktpdC9jaHJv
bWl1bS9iYXNlL21lc3NhZ2VfbG9vcC5jYzozMTMKIzMwIDB4MDRjYTE4ZjcgaW4gKGFub255bW91
cyBuYW1lc3BhY2UpOjpXZWJLaXRDbGllbnRNZXNzYWdlTG9vcEltcGw6OnJ1biAodGhpcz0weGUw
N2JiYjApIGF0IC4uLy4uL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vd2Via2l0L3N1cHBvcnQvd2Vi
a2l0X3N1cHBvcnQuY2M6Mjk5CiMzMSAweDAxMjgzZmMwIGluIFdlYktpdDo6Q2xpZW50TWVzc2Fn
ZUxvb3BBZGFwdGVyOjpydW4gKHRoaXM9MHhlMDZkZDgwLCBwYWdlPTB4ZWFiODIwMCkgYXQgLi4v
Li4vU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwOjEz
OQojMzIgMHgwMjZmNDQ4NCBpbiBXZWJDb3JlOjpQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OnJ1bk1l
c3NhZ2VMb29wT25QYXVzZSAodGhpcz0weGUyMzEyYjAsIGNvbnRleHQ9e3ZhbF8gPSAweGZhYjk0
YTh9KSBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9QYWdlU2NyaXB0RGVidWdT
ZXJ2ZXIuY3BwOjE4MgojMzMgMHgwMjcxNDBlOCBpbiBXZWJDb3JlOjpTY3JpcHREZWJ1Z1NlcnZl
cjo6YnJlYWtQcm9ncmFtICh0aGlzPTB4ZTIzMTJiMCwgZXhlY3V0aW9uU3RhdGU9e3ZhbF8gPSAw
eGZhYjk0YTR9LCBleGNlcHRpb249e3ZhbF8gPSAweDB9KSBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5jcHA6NDMzCiMzNCAweDAyNzE1NTc1IGlu
IFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpoYW5kbGVWOERlYnVnRXZlbnQgKHRoaXM9MHhl
MjMxMmIwLCBldmVudERldGFpbHM9QDB4YmZmZmJjMTApIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmNwcDo1MDgKIzM1IDB4MDI3MTQxNzcgaW4g
V2ViQ29yZTo6U2NyaXB0RGVidWdTZXJ2ZXI6OnY4RGVidWdFdmVudENhbGxiYWNrIChldmVudERl
dGFpbHM9QDB4YmZmZmJjMTApIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdERlYnVnU2VydmVyLmNwcDo0NDAKIzM2IDB4MDRmMjZlMDMgaW4gdjg6OmludGVybmFsOjpE
ZWJ1Z2dlcjo6Q2FsbENFdmVudENhbGxiYWNrICh0aGlzPTB4ZDQyOTBiMCwgZXZlbnQ9djg6OkJy
ZWFrLCBleGVjX3N0YXRlPXtsb2NhdGlvbl8gPSAweGZhYjk0YTR9LCBldmVudF9kYXRhPXtsb2Nh
dGlvbl8gPSAweGZhYjk0ODB9LCBjbGllbnRfZGF0YT0weDApIGF0IC4uLy4uL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdjgvc3JjL2RlYnVnLmNjOjI5NDkKIzM3IDB4MDRmMjZhMzEgaW4gdjg6Omlu
dGVybmFsOjpEZWJ1Z2dlcjo6Q2FsbEV2ZW50Q2FsbGJhY2sgKHRoaXM9MHhkNDI5MGIwLCBldmVu
dD12ODo6QnJlYWssIGV4ZWNfc3RhdGU9e2xvY2F0aW9uXyA9IDB4ZmFiOTRhNH0sIGV2ZW50X2Rh
dGE9e2xvY2F0aW9uXyA9IDB4ZmFiOTQ4MH0sIGNsaWVudF9kYXRhPTB4MCkgYXQgLi4vLi4vU291
cmNlL1dlYktpdC9jaHJvbWl1bS92OC9zcmMvZGVidWcuY2M6MjkyOAojMzggMHgwNGYyNTMzNSBp
biB2ODo6aW50ZXJuYWw6OkRlYnVnZ2VyOjpQcm9jZXNzRGVidWdFdmVudCAodGhpcz0weGQ0Mjkw
YjAsIGV2ZW50PXY4OjpCcmVhaywgZXZlbnRfZGF0YT17bG9jYXRpb25fID0gMHhmYWI5NDgwfSwg
YXV0b19jb250aW51ZT1mYWxzZSkgYXQgLi4vLi4vU291cmNlL1dlYktpdC9jaHJvbWl1bS92OC9z
cmMvZGVidWcuY2M6MjkwNQojMzkgMHgwNGYxZmJlNyBpbiB2ODo6aW50ZXJuYWw6OkRlYnVnZ2Vy
OjpPbkRlYnVnQnJlYWsgKHRoaXM9MHhkNDI5MGIwLCBicmVha19wb2ludHNfaGl0PXtsb2NhdGlv
bl8gPSAweDExMmFjMjIwfSwgYXV0b19jb250aW51ZT1mYWxzZSkgYXQgLi4vLi4vU291cmNlL1dl
YktpdC9jaHJvbWl1bS92OC9zcmMvZGVidWcuY2M6Mjc0NQojNDAgMHgwNGY3MGIwYyBpbiB2ODo6
aW50ZXJuYWw6OkV4ZWN1dGlvbjo6UHJvY2Vzc0RlYnVnTWVzc2FnZXMgKGRlYnVnX2NvbW1hbmRf
b25seT1mYWxzZSkgYXQgLi4vLi4vU291cmNlL1dlYktpdC9jaHJvbWl1bS92OC9zcmMvZXhlY3V0
aW9uLmNjOjg2NAojNDEgMHgwNGY3MDk4MCBpbiB2ODo6aW50ZXJuYWw6OkV4ZWN1dGlvbjo6RGVi
dWdCcmVha0hlbHBlciAoKSBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Y4L3NyYy9l
eGVjdXRpb24uY2M6ODM5CiM0MiAweDA1MmU2NzY0IGluIHY4OjppbnRlcm5hbDo6UnVudGltZV9E
ZWJ1Z0JyZWFrIChhcmdzPXs8djg6OmludGVybmFsOjpFbWJlZGRlZD4gPSB7PE5vIGRhdGEgZmll
bGRzPn0sIGxlbmd0aF8gPSAwLCBhcmd1bWVudHNfID0gMHhiZmZmYzFlNH0sIGlzb2xhdGU9MHgx
MTJhYzIwMCkgYXQgLi4vLi4vU291cmNlL1dlYktpdC9jaHJvbWl1bS92OC9zcmMvcnVudGltZS5j
Yzo5OTYwCiM0MyAweDU4YjBhMjM2IGluID8/ICgpCiM0NCAweDJkOWE5YzNlIGluID8/ICgpCiM0
NSAweDJkOWE5YjlmIGluID8/ICgpCiM0NiAweDJkOWE5YWZmIGluID8/ICgpCiM0NyAweDJkOWE5
YTViIGluID8/ICgpCiM0OCAweDU4YjBmZmI5IGluID8/ICgpCiM0OSAweDU4YjBhMGFhIGluID8/
ICgpCiM1MCAweDA0ZjZkNDlmIGluIHY4OjppbnRlcm5hbDo6SW52b2tlIChpc19jb25zdHJ1Y3Q9
ZmFsc2UsIGZ1bmN0aW9uPXtsb2NhdGlvbl8gPSAweGZhYjk0Mjh9LCByZWNlaXZlcj17bG9jYXRp
b25fID0gMHhmYWI5NDJjfSwgYXJnYz0wLCBhcmdzPTB4MCwgaGFzX3BlbmRpbmdfZXhjZXB0aW9u
PTB4YmZmZmM0YmYpIGF0IC4uLy4uL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdjgvc3JjL2V4ZWN1
dGlvbi5jYzoxMTgKIzUxIDB4MDRmNmNkYTkgaW4gdjg6OmludGVybmFsOjpFeGVjdXRpb246OkNh
bGwgKGNhbGxhYmxlPXtsb2NhdGlvbl8gPSAweGZhYjk0Mjh9LCByZWNlaXZlcj17bG9jYXRpb25f
ID0gMHhmYWI5NDJjfSwgYXJnYz0wLCBhcmd2PTB4MCwgcGVuZGluZ19leGNlcHRpb249MHhiZmZm
YzRiZiwgY29udmVydF9yZWNlaXZlcj1mYWxzZSkgYXQgLi4vLi4vU291cmNlL1dlYktpdC9jaHJv
bWl1bS92OC9zcmMvZXhlY3V0aW9uLmNjOjE4MQojNTIgMHgwNGU0N2JhNSBpbiB2ODo6U2NyaXB0
OjpSdW4gKHRoaXM9MHhmYWI5NDFjKSBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Y4
L3NyYy9hcGkuY2M6MTgyMwojNTMgMHgwMjcyZWIyMSBpbiBXZWJDb3JlOjpTY3JpcHRSdW5uZXI6
OnJ1bkNvbXBpbGVkU2NyaXB0IChzY3JpcHQ9e3ZhbF8gPSAweGZhYjk0MWN9LCBjb250ZXh0PTB4
ZmFjODA1YykgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UnVubmVy
LmNwcDo1MgojNTQgMHgwMjZmY2Y0MyBpbiBXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpjb21w
aWxlQW5kUnVuU2NyaXB0ICh0aGlzPTB4ZWFjOWVjMCwgc291cmNlPUAweGJmZmZjOTcwKSBhdCAu
Li8uLi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcDoyODMK
IzU1IDB4MDI2ZmQyNTkgaW4gV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZXZhbHVhdGUgKHRo
aXM9MHhlYWM5ZWMwLCBzb3VyY2VDb2RlPUAweGJmZmZjOTcwKSBhdCAuLi8uLi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcDozMDcKIzU2IDB4MDM1MmI5NDgg
aW4gV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6ZXhlY3V0ZVNjcmlwdCAodGhpcz0weGUzNDk4ZWMs
IHNvdXJjZUNvZGU9QDB4YmZmZmM5NzApIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFbGVtZW50LmNwcDozMTIKIzU3IDB4MDM1MjllYzQgaW4gV2ViQ29yZTo6U2NyaXB0RWxlbWVu
dDo6cHJlcGFyZVNjcmlwdCAodGhpcz0weGUzNDk4ZWMsIHNjcmlwdFN0YXJ0UG9zaXRpb249QDB4
YmZmZmNjNTAsIHN1cHBvcnRMZWdhY3lUeXBlcz1XZWJDb3JlOjpTY3JpcHRFbGVtZW50OjpEaXNh
bGxvd0xlZ2FjeVR5cGVJblR5cGVBdHRyaWJ1dGUpIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFbGVtZW50LmNwcDoyNDMKIzU4IDB4MDE5NDk0ZGMgaW4gV2ViQ29yZTo6SFRNTFNj
cmlwdFJ1bm5lcjo6cnVuU2NyaXB0ICh0aGlzPTB4ZTA2YTllMCwgc2NyaXB0PTB4ZTM0OThiMCwg
c2NyaXB0U3RhcnRQb3NpdGlvbj1AMHhiZmZmY2M1MCkgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5jcHA6MzAyCiM1OSAweDAxOTQ5MjEzIGluIFdl
YkNvcmU6OkhUTUxTY3JpcHRSdW5uZXI6OmV4ZWN1dGUgKHRoaXM9MHhlMDZhOWUwLCBzY3JpcHRF
bGVtZW50PUAweGJmZmZjYzM4LCBzY3JpcHRTdGFydFBvc2l0aW9uPUAweGJmZmZjYzUwKSBhdCAu
Li8uLi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmNwcDoxNzQK
IzYwIDB4MDE5MGUyMzcgaW4gV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpydW5TY3JpcHRz
Rm9yUGF1c2VkVHJlZUJ1aWxkZXIgKHRoaXM9MHhmYjBhYTAwKSBhdCAuLi8uLi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOjI3MQojNjEgMHgwMTkwZWZh
YyBpbiBXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OnByb2Nlc3NQYXJzZWRDaHVua0Zyb21C
YWNrZ3JvdW5kUGFyc2VyICh0aGlzPTB4ZmIwYWEwMCwgcG9wQ2h1bms9QDB4YmZmZmNkYTgpIGF0
IC4uLy4uL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHA6
NDUwCiM2MiAweDAxOTBlNzlmIGluIFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6ZGlkUmVj
ZWl2ZVBhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIgKHRoaXM9MHhmYjBhYTAwLCBjaHVu
az1AMHhiZmZmY2UwOCkgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERv
Y3VtZW50UGFyc2VyLmNwcDozMzYKIzYzIDB4MDE4Zjk2NDcgaW4gV1RGOjpGdW5jdGlvbldyYXBw
ZXI8dm9pZCAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjoqKShXVEY6OlBhc3NPd25QdHI8
V2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpQYXJzZWRDaHVuaz4pPjo6b3BlcmF0b3IoKSAo
dGhpcz0weGUyYTIwMTgsIGM9QDB4ZTJhMjAyMCwgcDE9QDB4YmZmZmNlNTgpIGF0IEZ1bmN0aW9u
YWwuaDoyNTQKIzY0IDB4MDE4Zjk1NGUgaW4gV1RGOjpCb3VuZEZ1bmN0aW9uSW1wbDxXVEY6OkZ1
bmN0aW9uV3JhcHBlcjx2b2lkIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OiopKFdURjo6
UGFzc093blB0cjxXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OlBhcnNlZENodW5rPik+LCB2
b2lkICgpKFdURjo6V2Vha1B0cjxXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI+LCBXVEY6OlBh
c3NPd25QdHI8V2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpQYXJzZWRDaHVuaz4pPjo6b3Bl
cmF0b3IoKSAodGhpcz0weGUyYTIwMTApIGF0IEZ1bmN0aW9uYWwuaDo1MjIKIzY1IDB4MDE2N2M0
MDQgaW4gV1RGOjpGdW5jdGlvbjx2b2lkICgpKCk+OjpvcGVyYXRvcigpICh0aGlzPTB4ZTI2MDI3
MCkgYXQgRnVuY3Rpb25hbC5oOjcwNAojNjYgMHgwMTY3YmU3MSBpbiBXVEY6OmNhbGxGdW5jdGlv
bk9iamVjdCAoY29udGV4dD0weGUyNjAyNzApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2Nocm9t
aXVtL01haW5UaHJlYWRDaHJvbWl1bS5jcHA6NjEKIzY3IDB4MDRjYTUwNjAgaW4gYmFzZTo6aW50
ZXJuYWw6OlJ1bm5hYmxlQWRhcHRlcjx2b2lkICgqKSh2b2lkKik+OjpSdW4gKHRoaXM9MHhiZmZm
Y2YzMCwgYTE9QDB4ZTI3MWMyMCkgYXQgYmluZF9pbnRlcm5hbC5oOjE3MQojNjggMHgwNGNhNGZh
MSBpbiBiYXNlOjppbnRlcm5hbDo6SW52b2tlSGVscGVyPGZhbHNlLCB2b2lkLCBiYXNlOjppbnRl
cm5hbDo6UnVubmFibGVBZGFwdGVyPHZvaWQgKCopKHZvaWQqKT4sIHZvaWQgKCkodm9pZCogY29u
c3QmKT46Ok1ha2VJdFNvIChydW5uYWJsZT17ZnVuY3Rpb25fID0gMHgxNjdiZTQwIDxXVEY6OmNh
bGxGdW5jdGlvbk9iamVjdCh2b2lkKik+fSwgYTE9QDB4ZTI3MWMyMCkgYXQgYmluZF9pbnRlcm5h
bC5oOjg3MQojNjkgMHgwNGNhNGVmZiBpbiBiYXNlOjppbnRlcm5hbDo6SW52b2tlcjwxLCBiYXNl
OjppbnRlcm5hbDo6QmluZFN0YXRlPGJhc2U6OmludGVybmFsOjpSdW5uYWJsZUFkYXB0ZXI8dm9p
ZCAoKikodm9pZCopPiwgdm9pZCAoKSh2b2lkKiksIHZvaWQgKCkodm9pZCopPiwgdm9pZCAoKSh2
b2lkKik+OjpSdW4gKGJhc2U9MHhlMjcxYzEwKSBhdCBiaW5kX2ludGVybmFsLmg6MTE3MwojNzAg
MHgwMTQxY2U4YiBpbiBiYXNlOjpDYWxsYmFjazx2b2lkICgpKCk+OjpSdW4gKHRoaXM9MHhiZmZm
ZDFiNCkgYXQgY2FsbGJhY2suaDozOTYKIzcxIDB4MDE0MWEyMGEgaW4gTWVzc2FnZUxvb3A6OlJ1
blRhc2sgKHRoaXM9MHhlMjI0MTkwLCBwZW5kaW5nX3Rhc2s9QDB4YmZmZmQxYTApIGF0IC4uLy4u
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vYmFzZS9tZXNzYWdlX2xvb3AuY2M6NDc2CiM3MiAweDAx
NDFhNjYyIGluIE1lc3NhZ2VMb29wOjpEZWZlck9yUnVuUGVuZGluZ1Rhc2sgKHRoaXM9MHhlMjI0
MTkwLCBwZW5kaW5nX3Rhc2s9QDB4YmZmZmQxYTApIGF0IC4uLy4uL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vYmFzZS9tZXNzYWdlX2xvb3AuY2M6NDg4CiM3MyAweDAxNDFhODYyIGluIE1lc3NhZ2VM
b29wOjpEb1dvcmsgKHRoaXM9MHhlMjI0MTkwKSBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL2Jhc2UvbWVzc2FnZV9sb29wLmNjOjY3MQojNzQgMHgwMTM3OGQzYiBpbiBiYXNlOjpNZXNz
YWdlUHVtcENGUnVuTG9vcEJhc2U6OlJ1bldvcmsgKHRoaXM9MHhlMjFjYzgwKSBhdCAuLi8uLi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL2Jhc2UvbWVzc2FnZV9wdW1wX21hYy5tbToyNTIKIzc1IDB4
MDEzNzg0ZjIgaW4gYmFzZTo6TWVzc2FnZVB1bXBDRlJ1bkxvb3BCYXNlOjpSdW5Xb3JrU291cmNl
IChpbmZvPTB4ZTIxY2M4MCkgYXQgLi4vLi4vU291cmNlL1dlYktpdC9jaHJvbWl1bS9iYXNlL21l
c3NhZ2VfcHVtcF9tYWMubW06MjMwCiM3NiAweDkxMWQ2MDVmIGluIF9fQ0ZSVU5MT09QX0lTX0NB
TExJTkdfT1VUX1RPX0FfU09VUkNFMF9QRVJGT1JNX0ZVTkNUSU9OX18gKCkKIzc3IDB4OTExZDVh
ODkgaW4gX19DRlJ1bkxvb3BEb1NvdXJjZXMwICgpCiM3OCAweDkxMWZiODM2IGluIF9fQ0ZSdW5M
b29wUnVuICgpCiM3OSAweDkxMWZiMDJhIGluIENGUnVuTG9vcFJ1blNwZWNpZmljICgpCiM4MCAw
eDkxMWZhZTliIGluIENGUnVuTG9vcFJ1bkluTW9kZSAoKQojODEgMHg5OTk4NmY1YSBpbiBSdW5D
dXJyZW50RXZlbnRMb29wSW5Nb2RlICgpCiM4MiAweDk5OTg2Y2M5IGluIFJlY2VpdmVOZXh0RXZl
bnRDb21tb24gKCkKIzgzIDB4OTk5ODZiNDQgaW4gQmxvY2tVbnRpbE5leHRFdmVudE1hdGNoaW5n
TGlzdEluTW9kZSAoKQojODQgMHg5OGNiODlhYSBpbiBfRFBTTmV4dEV2ZW50ICgpCiM4NSAweDk4
Y2I4MWRjIGluIC1bTlNBcHBsaWNhdGlvbiBuZXh0RXZlbnRNYXRjaGluZ01hc2s6dW50aWxEYXRl
OmluTW9kZTpkZXF1ZXVlOl0gKCkKIzg2IDB4OThjYWU2M2MgaW4gLVtOU0FwcGxpY2F0aW9uIHJ1
bl0gKCkKIzg3IDB4MDEzNzljNWUgaW4gYmFzZTo6TWVzc2FnZVB1bXBOU0FwcGxpY2F0aW9uOjpE
b1J1biAodGhpcz0weGUyMWNjODAsIGRlbGVnYXRlPTB4ZTIyNDE5MCkgYXQgLi4vLi4vU291cmNl
L1dlYktpdC9jaHJvbWl1bS9iYXNlL21lc3NhZ2VfcHVtcF9tYWMubW06NTc2CiM4OCAweDAxMzc4
YWE4IGluIGJhc2U6Ok1lc3NhZ2VQdW1wQ0ZSdW5Mb29wQmFzZTo6UnVuICh0aGlzPTB4ZTIxY2M4
MCwgZGVsZWdhdGU9MHhlMjI0MTkwKSBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2Jh
c2UvbWVzc2FnZV9wdW1wX21hYy5tbToxNzEKIzg5IDB4MDE0MTlhNzIgaW4gTWVzc2FnZUxvb3A6
OlJ1bkludGVybmFsICh0aGlzPTB4ZTIyNDE5MCkgYXQgLi4vLi4vU291cmNlL1dlYktpdC9jaHJv
bWl1bS9iYXNlL21lc3NhZ2VfbG9vcC5jYzo0MzMKIzkwIDB4MDE0MTk5MmIgaW4gTWVzc2FnZUxv
b3A6OlJ1bkhhbmRsZXIgKHRoaXM9MHhlMjI0MTkwKSBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL2Jhc2UvbWVzc2FnZV9sb29wLmNjOjQwNgojOTEgMHgwMTQ3ZTg2OCBpbiBiYXNlOjpS
dW5Mb29wOjpSdW4gKHRoaXM9MHhiZmZmZWI2MCkgYXQgLi4vLi4vU291cmNlL1dlYktpdC9jaHJv
bWl1bS9iYXNlL3J1bl9sb29wLmNjOjQ1CiM5MiAweDAxNDE4ZDI3IGluIE1lc3NhZ2VMb29wOjpS
dW4gKHRoaXM9MHhlMjI0MTkwKSBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2Jhc2Uv
bWVzc2FnZV9sb29wLmNjOjMxMwojOTMgMHgwNGM5ZjU4NyBpbiB3ZWJraXRfc3VwcG9ydDo6UnVu
TWVzc2FnZUxvb3AgKCkgYXQgLi4vLi4vU291cmNlL1dlYktpdC9jaHJvbWl1bS93ZWJraXQvc3Vw
cG9ydC93ZWJraXRfc3VwcG9ydC5jYzo1NzMKIzk0IDB4MDAwMjFlMDkgaW4gVGVzdFNoZWxsOjp3
YWl0VGVzdEZpbmlzaGVkICh0aGlzPTB4YmZmZmY1ZTApIGF0IC4uLy4uL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbE1hYy5tbToxMTkKIzk1IDB4MDAwMTMzNTYgaW4gVGVz
dFNoZWxsOjpydW5GaWxlVGVzdCAodGhpcz0weGJmZmZmNWUwLCBwYXJhbXM9QDB4YmZmZmY3OTAs
IHNob3VsZER1bXBQaXhlbHM9ZmFsc2UpIGF0IC4uLy4uL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3RTaGVsbC5jcHA6MjU3CiM5NiAweDAwMDA2ODk4IGluIHJ1blRlc3QgKHNoZWxs
PUAweGJmZmZmNWUwLCBwYXJhbXM9QDB4YmZmZmY3OTAsIGlucHV0TGluZT1AMHgxMDM2YWJlMCwg
Zm9yY2VEdW1wUGl4ZWxzPWZhbHNlKSBhdCAuLi8uLi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9EdW1wUmVuZGVyVHJlZS5jcHA6MTE3CiM5NyAweDAwMDA2NDhiIGluIG1haW4gKGFyZ2M9
MiwgYXJndj0weGJmZmZmODMwKSBhdCAuLi8uLi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9EdW1wUmVuZGVyVHJlZS5jcHA6MjY3Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195659</attachid>
            <date>2013-03-28 15:36:55 -0700</date>
            <delta_ts>2013-03-28 15:39:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112369-20130328153652.patch</filename>
            <type>text/plain</type>
            <size>8396</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjljZDI0MTkxODkyYzIy
MGQ3ZmI5NTU4N2YyMmZiMGI2NjYyNTU4Zi4uZWE5NzkwODY3ZDg1YjUyMzg5MzMzNzI5ZTQ3ODhi
MTAwOTI5MDdiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAzLTI4ICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBBc3NlcnRpb24gZmFpbHVyZSAh
bV9sYXN0Q2h1bmtCZWZvcmVTY3JpcHQgaW4gSFRNTERvY3VtZW50UGFyc2VyIGR1cmluZyBpbnNw
ZWN0b3IvZGVidWdnZXIvcGF1c2UtaW4taW5saW5lLXNjcmlwdC5odG1sCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzNjkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbmZvcnR1bmF0ZWx5IGl0IHR1cm5z
IG91dCB0aGF0IGl0IGlzIHBvc3NpYmxlIHRvIHJlLWVudGVyIHRoZQorICAgICAgICB0aHJlYWRl
ZCBwYXJzZXIncyBtYWluLXRocmVhZCBjYWxsYmFja3MgdXNpbmcgYSBuZXN0ZWQgZXZlbnQgbG9v
cC4KKyAgICAgICAgYWxlcnQsIHJ1bk1vZGFsRGlhbG9nIGFuZCB0aGUgSlMgRGVidWdnZXIgY2Fu
IGFsbCBjYXVzZSBuZXN0ZWQKKyAgICAgICAgZXZlbnQgbG9vcHMsIHRodXMgd2UgbmVlZCB0byBk
ZXRlY3QgdGhpcyByZWVudHJhbmN5IGFuZAorICAgICAgICBzYXZlIG9mZiB0aGUgc3BlY3VsYXRp
dmUgY2h1bmtzLiBXaGVuZXZlciB3ZSdyZSBkb25lIHdpdGggYSBjaHVuaworICAgICAgICB3ZSBh
bHNvIG5lZWQgdG8gY2hlY2sgZm9yIGFueSBzcGVjdWxhdGlvbnMgd2hpY2ggd2UgY291bGQgaGF2
ZQorICAgICAgICBhZGRlZCBkdXJpbmcgYSBuZXN0ZWQgZXZlbnQgbG9vcCBkdXJpbmcgdGhhdCBj
aHVuay4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6aGFzQWN0aXZlUGFyc2VyKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAg
ICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphY3RpdmVQYXJz
ZXJDb3VudCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6ZGlkUmVjZWl2ZVBhcnNlZENo
dW5rRnJvbUJhY2tncm91bmRQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50
UGFyc2VyOjpwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcik6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OnB1bXBQZW5kaW5nU3BlY3VsYXRpb25zKToK
KwogMjAxMy0wMy0yOCAgQXJuYXVkIFJlbmV2aWVyICA8YS5yZW5ldmllckBzaXNhLnNhbXN1bmcu
Y29tPgogCiAgICAgICAgIGV4Y2VwdGlvbnMgYXJlIG5vdCBjaGVja2VkIGFmdGVyIHRvSW50MzIg
Y2FsbHMgaW4gYmluZGluZ3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA3ZjA1MjQxN2M0
MTU4ZmE5MWQzZmUwOTAxMjFmZjFjNzYzNjk1Y2IzLi4xNjAxNTVhN2E2ZTQ1ZDk0MTAxMGI3YWU0
Y2I1OTgwZTExZjRhYzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTU4ODQsNyArNTg4
NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OmFkanVzdEZsb2F0UmVjdEZvclNjcm9sbEFuZEFic29sdXRl
Wm9vbUFuZEZyYW1lU2NhbGUoRmxvYXRSZWN0JiByCiAgICAgICAgIHJlY3Quc2NhbGUoaW52ZXJz
ZUZyYW1lU2NhbGUpOwogfQogCi1ib29sIERvY3VtZW50OjpoYXNBY3RpdmVQYXJzZXIoKQorYm9v
bCBEb2N1bWVudDo6aGFzQWN0aXZlUGFyc2VyKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9hY3Rp
dmVQYXJzZXJDb3VudCB8fCAobV9wYXJzZXIgJiYgbV9wYXJzZXItPnByb2Nlc3NpbmdEYXRhKCkp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBmODAwOTJiMjUzOGVhYjQ0ZWQ2MGYyY2Y5MzE3
NzEwNWFmZWVkMGYxLi5jYzZiYjMxNzYxMzk5YzVmZWM0MDlkMGRkZjUxZjYyYWVlZGZiMmUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTE3NSw3ICsxMTc1LDggQEAgcHVibGljOgogICAgIHZv
aWQgYWRqdXN0RmxvYXRRdWFkc0ZvclNjcm9sbEFuZEFic29sdXRlWm9vbUFuZEZyYW1lU2NhbGUo
VmVjdG9yPEZsb2F0UXVhZD4mLCBSZW5kZXJPYmplY3QqKTsKICAgICB2b2lkIGFkanVzdEZsb2F0
UmVjdEZvclNjcm9sbEFuZEFic29sdXRlWm9vbUFuZEZyYW1lU2NhbGUoRmxvYXRSZWN0JiwgUmVu
ZGVyT2JqZWN0Kik7CiAKLSAgICBib29sIGhhc0FjdGl2ZVBhcnNlcigpOworICAgIGJvb2wgaGFz
QWN0aXZlUGFyc2VyKCkgY29uc3Q7CisgICAgdW5zaWduZWQgYWN0aXZlUGFyc2VyQ291bnQoKSBj
b25zdCB7IHJldHVybiBtX2FjdGl2ZVBhcnNlckNvdW50OyB9CiAgICAgdm9pZCBpbmNyZW1lbnRB
Y3RpdmVQYXJzZXJDb3VudCgpIHsgKyttX2FjdGl2ZVBhcnNlckNvdW50OyB9CiAgICAgdm9pZCBk
ZWNyZW1lbnRBY3RpdmVQYXJzZXJDb3VudCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAppbmRleCA4ZTkxOWQwMTJlYTMyNjZjZmNh
NjRiYzRjYTMxODE5YWQxMTY2ZTYzLi42NGNlMGM4MjQyOWJkMDA0NDc5OGI1MjQ0Zjk2NTVhNWRh
YzgyZGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1l
bnRQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5jcHAKQEAgLTMxMSw3ICszMTEsMTMgQEAgYm9vbCBIVE1MRG9jdW1lbnRQYXJzZXI6
OmNhblRha2VOZXh0VG9rZW4oU3luY2hyb25vdXNNb2RlIG1vZGUsIFB1bXBTZXNzaW9uJiBzZXMK
IAogdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OmRpZFJlY2VpdmVQYXJzZWRDaHVua0Zyb21CYWNr
Z3JvdW5kUGFyc2VyKFBhc3NPd25QdHI8UGFyc2VkQ2h1bms+IGNodW5rKQogewotICAgIGlmIChp
c1dhaXRpbmdGb3JTY3JpcHRzKCkgfHwgIW1fc3BlY3VsYXRpb25zLmlzRW1wdHkoKSkgeworICAg
IC8vIGFsZXJ0KCksIHJ1bk1vZGFsRGlhbG9nLCBhbmQgdGhlIEphdmFTY3JpcHQgRGVidWdnZXIg
YWxsIHJ1biBuZXN0ZWQgZXZlbnQgbG9vcHMKKyAgICAvLyB3aGljaCBjYW4gY2F1c2UgdGhpcyBt
ZXRob2QgdG8gYmUgcmUtZW50ZXJlZC4gV2UgbmVlZCB0byBkZXRlY3QgdGhpcywgc2F2ZQorICAg
IC8vIHRoZSBjaHVuayBhcyBhIHNwZWN1bGF0aW9uLCBhbmQgcmV0dXJuLgorICAgIGJvb2wgY2Fs
bGVkRnJvbU5lc3RlZEV2ZW50TG9vcCA9IChkb2N1bWVudCgpLT5hY3RpdmVQYXJzZXJDb3VudCgp
ID4gMCk7CisgICAgLy8gSXQgc2hvdWxkIG5vdCBiZSBwb3NzaWJsZSB0byByZS1lbnRlciB0aGlz
IGZ1bmN0aW9uIG1vcmUgdGhhbiBvbmNlLgorICAgIEFTU0VSVCghY2FsbGVkRnJvbU5lc3RlZEV2
ZW50TG9vcCB8fCBkb2N1bWVudCgpLT5hY3RpdmVQYXJzZXJDb3VudCgpID09IDEpOworICAgIGlm
IChjYWxsZWRGcm9tTmVzdGVkRXZlbnRMb29wIHx8IGlzV2FpdGluZ0ZvclNjcmlwdHMoKSB8fCAh
bV9zcGVjdWxhdGlvbnMuaXNFbXB0eSgpKSB7CiAgICAgICAgIG1fcHJlbG9hZGVyLT50YWtlQW5k
UHJlbG9hZChjaHVuay0+cHJlbG9hZHMpOwogICAgICAgICBtX3NwZWN1bGF0aW9ucy5hcHBlbmQo
Y2h1bmspOwogICAgICAgICByZXR1cm47CkBAIC0zMjgsNiArMzM0LDEzIEBAIHZvaWQgSFRNTERv
Y3VtZW50UGFyc2VyOjpkaWRSZWNlaXZlUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihQ
YXNzT3duUHRyPFBhCiAgICAgcHJvY2Vzc1BhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIo
Y2h1bmspOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhUTUwoY29v
a2llLCBsaW5lTnVtYmVyKCkuemVyb0Jhc2VkSW50KCkpOworCisgICAgLy8gQSBuZXN0ZWQgZXZl
bnQgbG9vcCBjYXVzZWQgY2h1bmtzIHRvIGJlIGRlbGl2ZXJlZCB0byB0aGUgbWFpbiB0aHJlYWQK
KyAgICAvLyBkdXJpbmcgZXhlY3V0aW9uIG9mIHByb2Nlc3NQYXJzZWRDaHVua0Zyb21CYWNrZ3Jv
dW5kUGFyc2VyLgorICAgIC8vIElmIHdlJ3JlIG5vdCBhbHJlYWR5IHNldCB0byB3YWl0IGZvciBT
Y3JpcHRzLCB0aGVuIHdlIG5lZWQKKyAgICAvLyB0byBwcm9jZXNzIHRoZSBzcGVjdWxhdGlvbnMg
bm93LCBvciB0aGV5IGNvdWxkIHdpbGwgYmUgbG9zdC4KKyAgICBpZiAoIW1fc3BlY3VsYXRpb25z
LmlzRW1wdHkoKSAmJiAhaXNXYWl0aW5nRm9yU2NyaXB0cygpICYmICFpc1N0b3BwZWQoKSkKKyAg
ICAgICAgcHVtcFBlbmRpbmdTcGVjdWxhdGlvbnMoKTsKIH0KIAogdm9pZCBIVE1MRG9jdW1lbnRQ
YXJzZXI6OnZhbGlkYXRlU3BlY3VsYXRpb25zKFBhc3NPd25QdHI8UGFyc2VkQ2h1bms+IGNodW5r
KQpAQCAtMzkwLDYgKzQwMywxMSBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6ZGlzY2FyZFNw
ZWN1bGF0aW9uc0FuZFJlc3VtZUZyb20oUGFzc093blB0cjxQYXJzZWRDaHVuawogCiB2b2lkIEhU
TUxEb2N1bWVudFBhcnNlcjo6cHJvY2Vzc1BhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIo
UGFzc093blB0cjxQYXJzZWRDaHVuaz4gcG9wQ2h1bmspCiB7CisgICAgLy8gQ2FsbGVycyBtdXN0
IGd1YXJkIHRoaXMgbWV0aG9kIGZyb20gcmVlbnRyYW5jeS4KKyAgICBBU1NFUlQoIWRvY3VtZW50
KCktPmFjdGl2ZVBhcnNlckNvdW50KCkpOworICAgIEFTU0VSVCghaXNQYXJzaW5nRnJhZ21lbnQo
KSk7CisgICAgQVNTRVJUKCFpc1dhaXRpbmdGb3JTY3JpcHRzKCkpOworICAgIEFTU0VSVCghaXNT
dG9wcGVkKCkpOwogICAgIC8vIEFTU0VSVCB0aGF0IHRoaXMgb2JqZWN0IGlzIGJvdGggYXR0YWNo
ZWQgdG8gdGhlIERvY3VtZW50IGFuZCBwcm90ZWN0ZWQuCiAgICAgQVNTRVJUKHJlZkNvdW50KCkg
Pj0gMik7CiAgICAgQVNTRVJUKHNob3VsZFVzZVRocmVhZGluZygpKTsKQEAgLTQyNiw3ICs0NDQs
NyBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6cHJvY2Vzc1BhcnNlZENodW5rRnJvbUJhY2tn
cm91bmRQYXJzZXIoUGFzc093blB0cjxQYXJzZQogICAgICAgICAgICAgLy8gVG8gbWF0Y2ggbWFp
bi10aHJlYWQgcGFyc2VyIGJlaGF2aW9yICh3aGljaCBuZXZlciBjaGVja3MgbG9jYXRpb25DaGFu
Z2VQZW5kaW5nIG9uIHRoZSBFT0YgcGF0aCkKICAgICAgICAgICAgIC8vIHdlIHBlZWsgdG8gc2Vl
IGlmIHRoaXMgY2h1bmsgaGFzIGFuIEVPRiBhbmQgcHJvY2VzcyBpdCBhbnl3YXkuCiAgICAgICAg
ICAgICBpZiAodG9rZW5zLT5sYXN0KCkudHlwZSgpID09IEhUTUxUb2tlbjo6RW5kT2ZGaWxlKSB7
Ci0gICAgICAgICAgICAgICAgQVNTRVJUKG1fc3BlY3VsYXRpb25zLmlzRW1wdHkoKSk7CisgICAg
ICAgICAgICAgICAgQVNTRVJUKG1fc3BlY3VsYXRpb25zLmlzRW1wdHkoKSk7IC8vIFRoZXJlIHNo
b3VsZCBuZXZlciBiZSBhbnkgY2h1bmtzIGFmdGVyIHRoZSBFT0YuCiAgICAgICAgICAgICAgICAg
cHJlcGFyZVRvU3RvcFBhcnNpbmcoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFr
OwpAQCAtNDQxLDcgKzQ1OSw3IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpwcm9jZXNzUGFy
c2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihQYXNzT3duUHRyPFBhcnNlCiAKICAgICAgICAg
aWYgKGl0LT50eXBlKCkgPT0gSFRNTFRva2VuOjpFbmRPZkZpbGUpIHsKICAgICAgICAgICAgIEFT
U0VSVChpdCArIDEgPT0gdG9rZW5zLT5lbmQoKSk7IC8vIFRoZSBFT0YgaXMgYXNzdW1lZCB0byBi
ZSB0aGUgbGFzdCB0b2tlbiBvZiB0aGlzIGJ1bmNoLgotICAgICAgICAgICAgQVNTRVJUKG1fc3Bl
Y3VsYXRpb25zLmlzRW1wdHkoKSk7CisgICAgICAgICAgICBBU1NFUlQobV9zcGVjdWxhdGlvbnMu
aXNFbXB0eSgpKTsgLy8gVGhlcmUgc2hvdWxkIG5ldmVyIGJlIGFueSBjaHVua3MgYWZ0ZXIgdGhl
IEVPRi4KICAgICAgICAgICAgIHByZXBhcmVUb1N0b3BQYXJzaW5nKCk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQpAQCAtNDYzLDYgKzQ4MSw4IEBAIHZvaWQgSFRNTERvY3VtZW50UGFy
c2VyOjpwdW1wUGVuZGluZ1NwZWN1bGF0aW9ucygpCiAgICAgQVNTRVJUKCFtX3Rva2VuaXplcik7
CiAgICAgQVNTRVJUKCFtX3Rva2VuKTsKICAgICBBU1NFUlQoIW1fbGFzdENodW5rQmVmb3JlU2Ny
aXB0KTsKKyAgICBBU1NFUlQoIWlzV2FpdGluZ0ZvclNjcmlwdHMoKSk7CisgICAgQVNTRVJUKCFp
c1N0b3BwZWQoKSk7CiAKICAgICAvLyBGSVhNRTogUGFzcyBpbiBjdXJyZW50IGlucHV0IGxlbmd0
aC4KICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0gSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp3aWxsV3JpdGVIVE1MKGRvY3VtZW50KCksIGxpbmVOdW1iZXIoKS56
ZXJvQmFzZWRJbnQoKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTQ0NTEzOTg3OGZlNDE2ODc4NzhlNWRhMTk3Yzg0MGFi
YjVjMjU3Ni4uMGJkODAwNGMzN2EyNGViY2VlOGRhZDQ1NzdlZTk5NDhkNjdjNzE5ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEyIEBACisyMDEzLTAzLTI4ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9y
Zz4KKworICAgICAgICBBc3NlcnRpb24gZmFpbHVyZSAhbV9sYXN0Q2h1bmtCZWZvcmVTY3JpcHQg
aW4gSFRNTERvY3VtZW50UGFyc2VyIGR1cmluZyBpbnNwZWN0b3IvZGVidWdnZXIvcGF1c2UtaW4t
aW5saW5lLXNjcmlwdC5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTIzNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTMt
MDMtMjggIEFsb2sgUHJpeWFkYXJzaGkgIDxhbG9rcEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
VW5yZXZpZXdlZCByZWJhc2VsaW5lLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYzFiMDhiNjc1OGI1NGI1OTI0MGI0ZmI4ZTNjNDk4MzBi
MjZiYTk4Mi4uZTEzMmMyOTljNWM4MWJiYmRjOWUzYTBlOWZmYzMxNTY4MmMzYjY4ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNzYw
LDkgKzM3NjAsNiBAQCB3ZWJraXQub3JnL2IvMTEyMjE5IFsgV2luIE1hYyBMaW51eCBdIGZhc3Qv
bGF5ZXJzL25vLWNsaXBwaW5nLW92ZXJmbG93LWhpZGRlbi1hZAogIyBGZWF0dXJlIG5vdCBpbXBs
ZW1lbnRlZAogd2Via2l0Lm9yZy9iLzkxNjExIG1lZGlhL21lZGlhLWhpZ2hlci1wcmlvLWF1ZGlv
LXN0cmVhbS5odG1sIFsgU2tpcCBdCiAKLSMgRmxha3kgYXNzZXJ0aW9uIGZhaWx1cmVzIG9uIGRl
YnVnIGJvdHMKLXdlYmtpdC5vcmcvYi8xMTIzNjkgWyBEZWJ1ZyBdIGluc3BlY3Rvci9kZWJ1Z2dl
ci9wYXVzZS1pbi1pbmxpbmUtc2NyaXB0Lmh0bWwgWyBQYXNzIENyYXNoIFRpbWVvdXQgXQotCiAj
IEZsYWt5IHRlc3RzCiB3ZWJraXQub3JnL2IvMTEyNTk4IFsgV2luIE1hYyBMaW51eCBdIGh0dHAv
dGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWF1ZGlvLXZpZGVvLWluLW1haW4t
ZnJhbWUuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiB3ZWJraXQub3JnL2IvMTEyNjAxIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXBvcnQtZXhwbGljaXQtZG9tYWluLmh0bWwg
WyBGYWlsdXJlIFBhc3MgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195661</attachid>
            <date>2013-03-28 15:39:06 -0700</date>
            <delta_ts>2013-03-28 15:44:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112369-20130328153904.patch</filename>
            <type>text/plain</type>
            <size>8457</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjljZDI0MTkxODkyYzIy
MGQ3ZmI5NTU4N2YyMmZiMGI2NjYyNTU4Zi4uZWE5NzkwODY3ZDg1YjUyMzg5MzMzNzI5ZTQ3ODhi
MTAwOTI5MDdiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAzLTI4ICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBBc3NlcnRpb24gZmFpbHVyZSAh
bV9sYXN0Q2h1bmtCZWZvcmVTY3JpcHQgaW4gSFRNTERvY3VtZW50UGFyc2VyIGR1cmluZyBpbnNw
ZWN0b3IvZGVidWdnZXIvcGF1c2UtaW4taW5saW5lLXNjcmlwdC5odG1sCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzNjkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbmZvcnR1bmF0ZWx5IGl0IHR1cm5z
IG91dCB0aGF0IGl0IGlzIHBvc3NpYmxlIHRvIHJlLWVudGVyIHRoZQorICAgICAgICB0aHJlYWRl
ZCBwYXJzZXIncyBtYWluLXRocmVhZCBjYWxsYmFja3MgdXNpbmcgYSBuZXN0ZWQgZXZlbnQgbG9v
cC4KKyAgICAgICAgYWxlcnQsIHJ1bk1vZGFsRGlhbG9nIGFuZCB0aGUgSlMgRGVidWdnZXIgY2Fu
IGFsbCBjYXVzZSBuZXN0ZWQKKyAgICAgICAgZXZlbnQgbG9vcHMsIHRodXMgd2UgbmVlZCB0byBk
ZXRlY3QgdGhpcyByZWVudHJhbmN5IGFuZAorICAgICAgICBzYXZlIG9mZiB0aGUgc3BlY3VsYXRp
dmUgY2h1bmtzLiBXaGVuZXZlciB3ZSdyZSBkb25lIHdpdGggYSBjaHVuaworICAgICAgICB3ZSBh
bHNvIG5lZWQgdG8gY2hlY2sgZm9yIGFueSBzcGVjdWxhdGlvbnMgd2hpY2ggd2UgY291bGQgaGF2
ZQorICAgICAgICBhZGRlZCBkdXJpbmcgYSBuZXN0ZWQgZXZlbnQgbG9vcCBkdXJpbmcgdGhhdCBj
aHVuay4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6aGFzQWN0aXZlUGFyc2VyKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAg
ICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphY3RpdmVQYXJz
ZXJDb3VudCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6ZGlkUmVjZWl2ZVBhcnNlZENo
dW5rRnJvbUJhY2tncm91bmRQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50
UGFyc2VyOjpwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcik6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OnB1bXBQZW5kaW5nU3BlY3VsYXRpb25zKToK
KwogMjAxMy0wMy0yOCAgQXJuYXVkIFJlbmV2aWVyICA8YS5yZW5ldmllckBzaXNhLnNhbXN1bmcu
Y29tPgogCiAgICAgICAgIGV4Y2VwdGlvbnMgYXJlIG5vdCBjaGVja2VkIGFmdGVyIHRvSW50MzIg
Y2FsbHMgaW4gYmluZGluZ3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA3ZjA1MjQxN2M0
MTU4ZmE5MWQzZmUwOTAxMjFmZjFjNzYzNjk1Y2IzLi4xNjAxNTVhN2E2ZTQ1ZDk0MTAxMGI3YWU0
Y2I1OTgwZTExZjRhYzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTU4ODQsNyArNTg4
NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OmFkanVzdEZsb2F0UmVjdEZvclNjcm9sbEFuZEFic29sdXRl
Wm9vbUFuZEZyYW1lU2NhbGUoRmxvYXRSZWN0JiByCiAgICAgICAgIHJlY3Quc2NhbGUoaW52ZXJz
ZUZyYW1lU2NhbGUpOwogfQogCi1ib29sIERvY3VtZW50OjpoYXNBY3RpdmVQYXJzZXIoKQorYm9v
bCBEb2N1bWVudDo6aGFzQWN0aXZlUGFyc2VyKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9hY3Rp
dmVQYXJzZXJDb3VudCB8fCAobV9wYXJzZXIgJiYgbV9wYXJzZXItPnByb2Nlc3NpbmdEYXRhKCkp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBmODAwOTJiMjUzOGVhYjQ0ZWQ2MGYyY2Y5MzE3
NzEwNWFmZWVkMGYxLi5jYzZiYjMxNzYxMzk5YzVmZWM0MDlkMGRkZjUxZjYyYWVlZGZiMmUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTE3NSw3ICsxMTc1LDggQEAgcHVibGljOgogICAgIHZv
aWQgYWRqdXN0RmxvYXRRdWFkc0ZvclNjcm9sbEFuZEFic29sdXRlWm9vbUFuZEZyYW1lU2NhbGUo
VmVjdG9yPEZsb2F0UXVhZD4mLCBSZW5kZXJPYmplY3QqKTsKICAgICB2b2lkIGFkanVzdEZsb2F0
UmVjdEZvclNjcm9sbEFuZEFic29sdXRlWm9vbUFuZEZyYW1lU2NhbGUoRmxvYXRSZWN0JiwgUmVu
ZGVyT2JqZWN0Kik7CiAKLSAgICBib29sIGhhc0FjdGl2ZVBhcnNlcigpOworICAgIGJvb2wgaGFz
QWN0aXZlUGFyc2VyKCkgY29uc3Q7CisgICAgdW5zaWduZWQgYWN0aXZlUGFyc2VyQ291bnQoKSBj
b25zdCB7IHJldHVybiBtX2FjdGl2ZVBhcnNlckNvdW50OyB9CiAgICAgdm9pZCBpbmNyZW1lbnRB
Y3RpdmVQYXJzZXJDb3VudCgpIHsgKyttX2FjdGl2ZVBhcnNlckNvdW50OyB9CiAgICAgdm9pZCBk
ZWNyZW1lbnRBY3RpdmVQYXJzZXJDb3VudCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAppbmRleCA4ZTkxOWQwMTJlYTMyNjZjZmNh
NjRiYzRjYTMxODE5YWQxMTY2ZTYzLi5lYjViOTE4ODM2ZmNhMjJmY2I1ZmU1MjQyN2U3OGM1NTA4
MDc3N2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1l
bnRQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5jcHAKQEAgLTMxMSw3ICszMTEsMTMgQEAgYm9vbCBIVE1MRG9jdW1lbnRQYXJzZXI6
OmNhblRha2VOZXh0VG9rZW4oU3luY2hyb25vdXNNb2RlIG1vZGUsIFB1bXBTZXNzaW9uJiBzZXMK
IAogdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OmRpZFJlY2VpdmVQYXJzZWRDaHVua0Zyb21CYWNr
Z3JvdW5kUGFyc2VyKFBhc3NPd25QdHI8UGFyc2VkQ2h1bms+IGNodW5rKQogewotICAgIGlmIChp
c1dhaXRpbmdGb3JTY3JpcHRzKCkgfHwgIW1fc3BlY3VsYXRpb25zLmlzRW1wdHkoKSkgeworICAg
IC8vIGFsZXJ0KCksIHJ1bk1vZGFsRGlhbG9nLCBhbmQgdGhlIEphdmFTY3JpcHQgRGVidWdnZXIg
YWxsIHJ1biBuZXN0ZWQgZXZlbnQgbG9vcHMKKyAgICAvLyB3aGljaCBjYW4gY2F1c2UgdGhpcyBt
ZXRob2QgdG8gYmUgcmUtZW50ZXJlZC4gV2UgbmVlZCB0byBkZXRlY3QgdGhpcywgc2F2ZQorICAg
IC8vIHRoZSBjaHVuayBhcyBhIHNwZWN1bGF0aW9uLCBhbmQgcmV0dXJuLgorICAgIGJvb2wgY2Fs
bGVkRnJvbU5lc3RlZEV2ZW50TG9vcCA9IChkb2N1bWVudCgpLT5hY3RpdmVQYXJzZXJDb3VudCgp
ID4gMCk7CisgICAgLy8gSXQgc2hvdWxkIG5vdCBiZSBwb3NzaWJsZSB0byByZS1lbnRlciB0aGlz
IGZ1bmN0aW9uIG1vcmUgdGhhbiBvbmNlLgorICAgIEFTU0VSVCghY2FsbGVkRnJvbU5lc3RlZEV2
ZW50TG9vcCB8fCBkb2N1bWVudCgpLT5hY3RpdmVQYXJzZXJDb3VudCgpID09IDEpOworICAgIGlm
IChjYWxsZWRGcm9tTmVzdGVkRXZlbnRMb29wIHx8IGlzV2FpdGluZ0ZvclNjcmlwdHMoKSB8fCAh
bV9zcGVjdWxhdGlvbnMuaXNFbXB0eSgpKSB7CiAgICAgICAgIG1fcHJlbG9hZGVyLT50YWtlQW5k
UHJlbG9hZChjaHVuay0+cHJlbG9hZHMpOwogICAgICAgICBtX3NwZWN1bGF0aW9ucy5hcHBlbmQo
Y2h1bmspOwogICAgICAgICByZXR1cm47CkBAIC0zMjgsNiArMzM0LDEzIEBAIHZvaWQgSFRNTERv
Y3VtZW50UGFyc2VyOjpkaWRSZWNlaXZlUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihQ
YXNzT3duUHRyPFBhCiAgICAgcHJvY2Vzc1BhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIo
Y2h1bmspOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhUTUwoY29v
a2llLCBsaW5lTnVtYmVyKCkuemVyb0Jhc2VkSW50KCkpOworCisgICAgLy8gQSBuZXN0ZWQgZXZl
bnQgbG9vcCBjYXVzZWQgY2h1bmtzIHRvIGJlIGRlbGl2ZXJlZCB0byB0aGUgbWFpbiB0aHJlYWQK
KyAgICAvLyBkdXJpbmcgZXhlY3V0aW9uIG9mIHByb2Nlc3NQYXJzZWRDaHVua0Zyb21CYWNrZ3Jv
dW5kUGFyc2VyLgorICAgIC8vIElmIHdlJ3JlIG5vdCBhbHJlYWR5IHNldCB0byB3YWl0IGZvciBT
Y3JpcHRzLCB0aGVuIHdlIG5lZWQKKyAgICAvLyB0byBwcm9jZXNzIHRoZSBzcGVjdWxhdGlvbnMg
bm93LCBvciB0aGV5IGNvdWxkIHdpbGwgYmUgbG9zdC4KKyAgICBpZiAoIW1fc3BlY3VsYXRpb25z
LmlzRW1wdHkoKSAmJiAhaXNXYWl0aW5nRm9yU2NyaXB0cygpICYmICFpc1N0b3BwZWQoKSkKKyAg
ICAgICAgcHVtcFBlbmRpbmdTcGVjdWxhdGlvbnMoKTsKIH0KIAogdm9pZCBIVE1MRG9jdW1lbnRQ
YXJzZXI6OnZhbGlkYXRlU3BlY3VsYXRpb25zKFBhc3NPd25QdHI8UGFyc2VkQ2h1bms+IGNodW5r
KQpAQCAtMzkwLDYgKzQwMywxMSBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6ZGlzY2FyZFNw
ZWN1bGF0aW9uc0FuZFJlc3VtZUZyb20oUGFzc093blB0cjxQYXJzZWRDaHVuawogCiB2b2lkIEhU
TUxEb2N1bWVudFBhcnNlcjo6cHJvY2Vzc1BhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIo
UGFzc093blB0cjxQYXJzZWRDaHVuaz4gcG9wQ2h1bmspCiB7CisgICAgLy8gQ2FsbGVycyBtdXN0
IGd1YXJkIHRoaXMgbWV0aG9kIGZyb20gcmVlbnRyYW5jeSwgYWxsIHNvcnRzIG9mIGNhbiBoYXBw
ZW4gb3RoZXJ3aXNlLgorICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFkb2N1
bWVudCgpLT5hY3RpdmVQYXJzZXJDb3VudCgpKTsKKyAgICBBU1NFUlQoIWlzUGFyc2luZ0ZyYWdt
ZW50KCkpOworICAgIEFTU0VSVCghaXNXYWl0aW5nRm9yU2NyaXB0cygpKTsKKyAgICBBU1NFUlQo
IWlzU3RvcHBlZCgpKTsKICAgICAvLyBBU1NFUlQgdGhhdCB0aGlzIG9iamVjdCBpcyBib3RoIGF0
dGFjaGVkIHRvIHRoZSBEb2N1bWVudCBhbmQgcHJvdGVjdGVkLgogICAgIEFTU0VSVChyZWZDb3Vu
dCgpID49IDIpOwogICAgIEFTU0VSVChzaG91bGRVc2VUaHJlYWRpbmcoKSk7CkBAIC00MjYsNyAr
NDQ0LDcgQEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnByb2Nlc3NQYXJzZWRDaHVua0Zyb21C
YWNrZ3JvdW5kUGFyc2VyKFBhc3NPd25QdHI8UGFyc2UKICAgICAgICAgICAgIC8vIFRvIG1hdGNo
IG1haW4tdGhyZWFkIHBhcnNlciBiZWhhdmlvciAod2hpY2ggbmV2ZXIgY2hlY2tzIGxvY2F0aW9u
Q2hhbmdlUGVuZGluZyBvbiB0aGUgRU9GIHBhdGgpCiAgICAgICAgICAgICAvLyB3ZSBwZWVrIHRv
IHNlZSBpZiB0aGlzIGNodW5rIGhhcyBhbiBFT0YgYW5kIHByb2Nlc3MgaXQgYW55d2F5LgogICAg
ICAgICAgICAgaWYgKHRva2Vucy0+bGFzdCgpLnR5cGUoKSA9PSBIVE1MVG9rZW46OkVuZE9mRmls
ZSkgewotICAgICAgICAgICAgICAgIEFTU0VSVChtX3NwZWN1bGF0aW9ucy5pc0VtcHR5KCkpOwor
ICAgICAgICAgICAgICAgIEFTU0VSVChtX3NwZWN1bGF0aW9ucy5pc0VtcHR5KCkpOyAvLyBUaGVy
ZSBzaG91bGQgbmV2ZXIgYmUgYW55IGNodW5rcyBhZnRlciB0aGUgRU9GLgogICAgICAgICAgICAg
ICAgIHByZXBhcmVUb1N0b3BQYXJzaW5nKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBi
cmVhazsKQEAgLTQ0MSw3ICs0NTksNyBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6cHJvY2Vz
c1BhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIoUGFzc093blB0cjxQYXJzZQogCiAgICAg
ICAgIGlmIChpdC0+dHlwZSgpID09IEhUTUxUb2tlbjo6RW5kT2ZGaWxlKSB7CiAgICAgICAgICAg
ICBBU1NFUlQoaXQgKyAxID09IHRva2Vucy0+ZW5kKCkpOyAvLyBUaGUgRU9GIGlzIGFzc3VtZWQg
dG8gYmUgdGhlIGxhc3QgdG9rZW4gb2YgdGhpcyBidW5jaC4KLSAgICAgICAgICAgIEFTU0VSVCht
X3NwZWN1bGF0aW9ucy5pc0VtcHR5KCkpOworICAgICAgICAgICAgQVNTRVJUKG1fc3BlY3VsYXRp
b25zLmlzRW1wdHkoKSk7IC8vIFRoZXJlIHNob3VsZCBuZXZlciBiZSBhbnkgY2h1bmtzIGFmdGVy
IHRoZSBFT0YuCiAgICAgICAgICAgICBwcmVwYXJlVG9TdG9wUGFyc2luZygpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTQ2Myw2ICs0ODEsOCBAQCB2b2lkIEhUTUxEb2N1bWVu
dFBhcnNlcjo6cHVtcFBlbmRpbmdTcGVjdWxhdGlvbnMoKQogICAgIEFTU0VSVCghbV90b2tlbml6
ZXIpOwogICAgIEFTU0VSVCghbV90b2tlbik7CiAgICAgQVNTRVJUKCFtX2xhc3RDaHVua0JlZm9y
ZVNjcmlwdCk7CisgICAgQVNTRVJUKCFpc1dhaXRpbmdGb3JTY3JpcHRzKCkpOworICAgIEFTU0VS
VCghaXNTdG9wcGVkKCkpOwogCiAgICAgLy8gRklYTUU6IFBhc3MgaW4gY3VycmVudCBpbnB1dCBs
ZW5ndGguCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFdyaXRlSFRNTChkb2N1bWVudCgpLCBsaW5lTnVtYmVy
KCkuemVyb0Jhc2VkSW50KCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU0NDUxMzk4NzhmZTQxNjg3ODc4ZTVkYTE5N2M4
NDBhYmI1YzI1NzYuLjBiZDgwMDRjMzdhMjRlYmNlZThkYWQ0NTc3ZWU5OTQ4ZDY3YzcxOWUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wMy0yOCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgIW1fbGFzdENodW5rQmVmb3JlU2Ny
aXB0IGluIEhUTUxEb2N1bWVudFBhcnNlciBkdXJpbmcgaW5zcGVjdG9yL2RlYnVnZ2VyL3BhdXNl
LWluLWlubGluZS1zY3JpcHQuaHRtbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTEyMzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgorCiAy
MDEzLTAzLTI4ICBBbG9rIFByaXlhZGFyc2hpICA8YWxva3BAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQgcmViYXNlbGluZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGMxYjA4YjY3NThiNTRiNTkyNDBiNGZiOGUzYzQ5
ODMwYjI2YmE5ODIuLmUxMzJjMjk5YzVjODFiYmJkYzllM2EwZTlmZmMzMTU2ODJjM2I2OGQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAt
Mzc2MCw5ICszNzYwLDYgQEAgd2Via2l0Lm9yZy9iLzExMjIxOSBbIFdpbiBNYWMgTGludXggXSBm
YXN0L2xheWVycy9uby1jbGlwcGluZy1vdmVyZmxvdy1oaWRkZW4tYWQKICMgRmVhdHVyZSBub3Qg
aW1wbGVtZW50ZWQKIHdlYmtpdC5vcmcvYi85MTYxMSBtZWRpYS9tZWRpYS1oaWdoZXItcHJpby1h
dWRpby1zdHJlYW0uaHRtbCBbIFNraXAgXQogCi0jIEZsYWt5IGFzc2VydGlvbiBmYWlsdXJlcyBv
biBkZWJ1ZyBib3RzCi13ZWJraXQub3JnL2IvMTEyMzY5IFsgRGVidWcgXSBpbnNwZWN0b3IvZGVi
dWdnZXIvcGF1c2UtaW4taW5saW5lLXNjcmlwdC5odG1sIFsgUGFzcyBDcmFzaCBUaW1lb3V0IF0K
LQogIyBGbGFreSB0ZXN0cwogd2Via2l0Lm9yZy9iLzExMjU5OCBbIFdpbiBNYWMgTGludXggXSBo
dHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1hdWRpby12aWRlby1pbi1t
YWluLWZyYW1lLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogd2Via2l0Lm9yZy9iLzExMjYwMSBodHRw
L3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wb3J0LWV4cGxpY2l0LWRvbWFpbi5o
dG1sIFsgRmFpbHVyZSBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195662</attachid>
            <date>2013-03-28 15:44:06 -0700</date>
            <delta_ts>2013-03-28 15:53:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112369-20130328154404.patch</filename>
            <type>text/plain</type>
            <size>9115</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjljZDI0MTkxODkyYzIy
MGQ3ZmI5NTU4N2YyMmZiMGI2NjYyNTU4Zi4uZWE5NzkwODY3ZDg1YjUyMzg5MzMzNzI5ZTQ3ODhi
MTAwOTI5MDdiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAzLTI4ICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBBc3NlcnRpb24gZmFpbHVyZSAh
bV9sYXN0Q2h1bmtCZWZvcmVTY3JpcHQgaW4gSFRNTERvY3VtZW50UGFyc2VyIGR1cmluZyBpbnNw
ZWN0b3IvZGVidWdnZXIvcGF1c2UtaW4taW5saW5lLXNjcmlwdC5odG1sCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzNjkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbmZvcnR1bmF0ZWx5IGl0IHR1cm5z
IG91dCB0aGF0IGl0IGlzIHBvc3NpYmxlIHRvIHJlLWVudGVyIHRoZQorICAgICAgICB0aHJlYWRl
ZCBwYXJzZXIncyBtYWluLXRocmVhZCBjYWxsYmFja3MgdXNpbmcgYSBuZXN0ZWQgZXZlbnQgbG9v
cC4KKyAgICAgICAgYWxlcnQsIHJ1bk1vZGFsRGlhbG9nIGFuZCB0aGUgSlMgRGVidWdnZXIgY2Fu
IGFsbCBjYXVzZSBuZXN0ZWQKKyAgICAgICAgZXZlbnQgbG9vcHMsIHRodXMgd2UgbmVlZCB0byBk
ZXRlY3QgdGhpcyByZWVudHJhbmN5IGFuZAorICAgICAgICBzYXZlIG9mZiB0aGUgc3BlY3VsYXRp
dmUgY2h1bmtzLiBXaGVuZXZlciB3ZSdyZSBkb25lIHdpdGggYSBjaHVuaworICAgICAgICB3ZSBh
bHNvIG5lZWQgdG8gY2hlY2sgZm9yIGFueSBzcGVjdWxhdGlvbnMgd2hpY2ggd2UgY291bGQgaGF2
ZQorICAgICAgICBhZGRlZCBkdXJpbmcgYSBuZXN0ZWQgZXZlbnQgbG9vcCBkdXJpbmcgdGhhdCBj
aHVuay4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6aGFzQWN0aXZlUGFyc2VyKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAg
ICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphY3RpdmVQYXJz
ZXJDb3VudCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6ZGlkUmVjZWl2ZVBhcnNlZENo
dW5rRnJvbUJhY2tncm91bmRQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50
UGFyc2VyOjpwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcik6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OnB1bXBQZW5kaW5nU3BlY3VsYXRpb25zKToK
KwogMjAxMy0wMy0yOCAgQXJuYXVkIFJlbmV2aWVyICA8YS5yZW5ldmllckBzaXNhLnNhbXN1bmcu
Y29tPgogCiAgICAgICAgIGV4Y2VwdGlvbnMgYXJlIG5vdCBjaGVja2VkIGFmdGVyIHRvSW50MzIg
Y2FsbHMgaW4gYmluZGluZ3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA3ZjA1MjQxN2M0
MTU4ZmE5MWQzZmUwOTAxMjFmZjFjNzYzNjk1Y2IzLi4xNjAxNTVhN2E2ZTQ1ZDk0MTAxMGI3YWU0
Y2I1OTgwZTExZjRhYzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTU4ODQsNyArNTg4
NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OmFkanVzdEZsb2F0UmVjdEZvclNjcm9sbEFuZEFic29sdXRl
Wm9vbUFuZEZyYW1lU2NhbGUoRmxvYXRSZWN0JiByCiAgICAgICAgIHJlY3Quc2NhbGUoaW52ZXJz
ZUZyYW1lU2NhbGUpOwogfQogCi1ib29sIERvY3VtZW50OjpoYXNBY3RpdmVQYXJzZXIoKQorYm9v
bCBEb2N1bWVudDo6aGFzQWN0aXZlUGFyc2VyKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9hY3Rp
dmVQYXJzZXJDb3VudCB8fCAobV9wYXJzZXIgJiYgbV9wYXJzZXItPnByb2Nlc3NpbmdEYXRhKCkp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBmODAwOTJiMjUzOGVhYjQ0ZWQ2MGYyY2Y5MzE3
NzEwNWFmZWVkMGYxLi5jYzZiYjMxNzYxMzk5YzVmZWM0MDlkMGRkZjUxZjYyYWVlZGZiMmUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTE3NSw3ICsxMTc1LDggQEAgcHVibGljOgogICAgIHZv
aWQgYWRqdXN0RmxvYXRRdWFkc0ZvclNjcm9sbEFuZEFic29sdXRlWm9vbUFuZEZyYW1lU2NhbGUo
VmVjdG9yPEZsb2F0UXVhZD4mLCBSZW5kZXJPYmplY3QqKTsKICAgICB2b2lkIGFkanVzdEZsb2F0
UmVjdEZvclNjcm9sbEFuZEFic29sdXRlWm9vbUFuZEZyYW1lU2NhbGUoRmxvYXRSZWN0JiwgUmVu
ZGVyT2JqZWN0Kik7CiAKLSAgICBib29sIGhhc0FjdGl2ZVBhcnNlcigpOworICAgIGJvb2wgaGFz
QWN0aXZlUGFyc2VyKCkgY29uc3Q7CisgICAgdW5zaWduZWQgYWN0aXZlUGFyc2VyQ291bnQoKSBj
b25zdCB7IHJldHVybiBtX2FjdGl2ZVBhcnNlckNvdW50OyB9CiAgICAgdm9pZCBpbmNyZW1lbnRB
Y3RpdmVQYXJzZXJDb3VudCgpIHsgKyttX2FjdGl2ZVBhcnNlckNvdW50OyB9CiAgICAgdm9pZCBk
ZWNyZW1lbnRBY3RpdmVQYXJzZXJDb3VudCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAppbmRleCA4ZTkxOWQwMTJlYTMyNjZjZmNh
NjRiYzRjYTMxODE5YWQxMTY2ZTYzLi45NTgzNzgzZmVkNGEzZmNiOGRlMmIxOTkxZjEyZjdkMmQ1
MDlmODc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1l
bnRQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5jcHAKQEAgLTEyNyw2ICsxMjcsNyBAQCBIVE1MRG9jdW1lbnRQYXJzZXI6On5IVE1M
RG9jdW1lbnRQYXJzZXIoKQogICAgIEFTU0VSVCghbV9wcmVsb2FkU2Nhbm5lcik7CiAgICAgQVNT
RVJUKCFtX2luc2VydGlvblByZWxvYWRTY2FubmVyKTsKICAgICBBU1NFUlQoIW1faGF2ZUJhY2tn
cm91bmRQYXJzZXIpOworICAgIC8vIEZJWE1FOiBXZSBjb3VsZCBBU1NFUlQgbV9zcGVjdWxhdGlv
bnMgaXMgZW1wdHkgaWYgd2UgY2xlYXIgaXQgaW4gc3RvcCgpLgogfQogCiAjaWYgRU5BQkxFKFRI
UkVBREVEX0hUTUxfUEFSU0VSKQpAQCAtMTY4LDYgKzE2OSw4IEBAIHZvaWQgSFRNTERvY3VtZW50
UGFyc2VyOjpzdG9wUGFyc2luZygpCiAgICAgaWYgKG1faGF2ZUJhY2tncm91bmRQYXJzZXIpCiAg
ICAgICAgIHN0b3BCYWNrZ3JvdW5kUGFyc2VyKCk7CiAjZW5kaWYKKyAgICAvLyBGSVhNRTogU2hv
dWxkIHdlIGNsZWFyIG1fc3BlY3VsYXRpb25zPyBJdCdzIHBvc3NpYmxlIGNhbGxiYWNrcyBhcmUg
YWxyZWFkeQorICAgIC8vIHF1ZXVlZCBpbiB0aGUgbWFpbiB0aHJlYWQgbWVzc2FnZSBxdWV1ZSB0
byB0byBhZGQgc3BlY3VsYXRpdmUgY2h1bmtzLgogfQogCiAvLyBUaGlzIGtpY2tzIG9mZiAiT25j
ZSB0aGUgdXNlciBhZ2VudCBzdG9wcyBwYXJzaW5nIiBhcyBkZXNjcmliZWQgYnk6CkBAIC0zMTEs
NyArMzE0LDEzIEBAIGJvb2wgSFRNTERvY3VtZW50UGFyc2VyOjpjYW5UYWtlTmV4dFRva2VuKFN5
bmNocm9ub3VzTW9kZSBtb2RlLCBQdW1wU2Vzc2lvbiYgc2VzCiAKIHZvaWQgSFRNTERvY3VtZW50
UGFyc2VyOjpkaWRSZWNlaXZlUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihQYXNzT3du
UHRyPFBhcnNlZENodW5rPiBjaHVuaykKIHsKLSAgICBpZiAoaXNXYWl0aW5nRm9yU2NyaXB0cygp
IHx8ICFtX3NwZWN1bGF0aW9ucy5pc0VtcHR5KCkpIHsKKyAgICAvLyBhbGVydCgpLCBydW5Nb2Rh
bERpYWxvZywgYW5kIHRoZSBKYXZhU2NyaXB0IERlYnVnZ2VyIGFsbCBydW4gbmVzdGVkIGV2ZW50
IGxvb3BzCisgICAgLy8gd2hpY2ggY2FuIGNhdXNlIHRoaXMgbWV0aG9kIHRvIGJlIHJlLWVudGVy
ZWQuIFdlIG5lZWQgdG8gZGV0ZWN0IHRoaXMsIHNhdmUKKyAgICAvLyB0aGUgY2h1bmsgYXMgYSBz
cGVjdWxhdGlvbiwgYW5kIHJldHVybi4KKyAgICBib29sIGNhbGxlZEZyb21OZXN0ZWRFdmVudExv
b3AgPSAoZG9jdW1lbnQoKS0+YWN0aXZlUGFyc2VyQ291bnQoKSA+IDApOworICAgIC8vIEl0IHNo
b3VsZCBub3QgYmUgcG9zc2libGUgdG8gcmUtZW50ZXIgdGhpcyBmdW5jdGlvbiBtb3JlIHRoYW4g
b25jZS4KKyAgICBBU1NFUlQoIWNhbGxlZEZyb21OZXN0ZWRFdmVudExvb3AgfHwgZG9jdW1lbnQo
KS0+YWN0aXZlUGFyc2VyQ291bnQoKSA9PSAxKTsKKyAgICBpZiAoY2FsbGVkRnJvbU5lc3RlZEV2
ZW50TG9vcCB8fCBpc1dhaXRpbmdGb3JTY3JpcHRzKCkgfHwgIW1fc3BlY3VsYXRpb25zLmlzRW1w
dHkoKSkgewogICAgICAgICBtX3ByZWxvYWRlci0+dGFrZUFuZFByZWxvYWQoY2h1bmstPnByZWxv
YWRzKTsKICAgICAgICAgbV9zcGVjdWxhdGlvbnMuYXBwZW5kKGNodW5rKTsKICAgICAgICAgcmV0
dXJuOwpAQCAtMzI4LDYgKzMzNywxMyBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6ZGlkUmVj
ZWl2ZVBhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIoUGFzc093blB0cjxQYQogICAgIHBy
b2Nlc3NQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5kUGFyc2VyKGNodW5rKTsKIAogICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkV3JpdGVIVE1MKGNvb2tpZSwgbGluZU51bWJlcigpLnpl
cm9CYXNlZEludCgpKTsKKworICAgIC8vIEEgbmVzdGVkIGV2ZW50IGxvb3AgY2F1c2VkIGNodW5r
cyB0byBiZSBkZWxpdmVyZWQgdG8gdGhlIG1haW4gdGhyZWFkCisgICAgLy8gZHVyaW5nIGV4ZWN1
dGlvbiBvZiBwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlci4KKyAgICAvLyBJ
ZiB3ZSdyZSBub3QgYWxyZWFkeSBzZXQgdG8gd2FpdCBmb3Igc2NyaXB0cywgdGhlbiB3ZSBuZWVk
CisgICAgLy8gdG8gcHJvY2VzcyB0aGUgc3BlY3VsYXRpb25zIG5vdywgb3IgdGhleSB3aWxsIGJl
IGxvc3QuCisgICAgaWYgKCFtX3NwZWN1bGF0aW9ucy5pc0VtcHR5KCkgJiYgIWlzV2FpdGluZ0Zv
clNjcmlwdHMoKSAmJiAhaXNTdG9wcGVkKCkpCisgICAgICAgIHB1bXBQZW5kaW5nU3BlY3VsYXRp
b25zKCk7CiB9CiAKIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjp2YWxpZGF0ZVNwZWN1bGF0aW9u
cyhQYXNzT3duUHRyPFBhcnNlZENodW5rPiBjaHVuaykKQEAgLTM5MCw2ICs0MDYsMTEgQEAgdm9p
ZCBIVE1MRG9jdW1lbnRQYXJzZXI6OmRpc2NhcmRTcGVjdWxhdGlvbnNBbmRSZXN1bWVGcm9tKFBh
c3NPd25QdHI8UGFyc2VkQ2h1bmsKIAogdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnByb2Nlc3NQ
YXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5kUGFyc2VyKFBhc3NPd25QdHI8UGFyc2VkQ2h1bms+IHBv
cENodW5rKQogeworICAgIC8vIENhbGxlcnMgbXVzdCBndWFyZCB0aGlzIG1ldGhvZCBmcm9tIHJl
ZW50cmFuY3ksIGFsbCBzb3J0cyBvZiBjYW4gaGFwcGVuIG90aGVyd2lzZS4KKyAgICBBU1NFUlRf
V0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighZG9jdW1lbnQoKS0+YWN0aXZlUGFyc2VyQ291bnQo
KSk7CisgICAgQVNTRVJUKCFpc1BhcnNpbmdGcmFnbWVudCgpKTsKKyAgICBBU1NFUlQoIWlzV2Fp
dGluZ0ZvclNjcmlwdHMoKSk7CisgICAgQVNTRVJUKCFpc1N0b3BwZWQoKSk7CiAgICAgLy8gQVNT
RVJUIHRoYXQgdGhpcyBvYmplY3QgaXMgYm90aCBhdHRhY2hlZCB0byB0aGUgRG9jdW1lbnQgYW5k
IHByb3RlY3RlZC4KICAgICBBU1NFUlQocmVmQ291bnQoKSA+PSAyKTsKICAgICBBU1NFUlQoc2hv
dWxkVXNlVGhyZWFkaW5nKCkpOwpAQCAtNDI2LDcgKzQ0Nyw3IEBAIHZvaWQgSFRNTERvY3VtZW50
UGFyc2VyOjpwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihQYXNzT3duUHRy
PFBhcnNlCiAgICAgICAgICAgICAvLyBUbyBtYXRjaCBtYWluLXRocmVhZCBwYXJzZXIgYmVoYXZp
b3IgKHdoaWNoIG5ldmVyIGNoZWNrcyBsb2NhdGlvbkNoYW5nZVBlbmRpbmcgb24gdGhlIEVPRiBw
YXRoKQogICAgICAgICAgICAgLy8gd2UgcGVlayB0byBzZWUgaWYgdGhpcyBjaHVuayBoYXMgYW4g
RU9GIGFuZCBwcm9jZXNzIGl0IGFueXdheS4KICAgICAgICAgICAgIGlmICh0b2tlbnMtPmxhc3Qo
KS50eXBlKCkgPT0gSFRNTFRva2VuOjpFbmRPZkZpbGUpIHsKLSAgICAgICAgICAgICAgICBBU1NF
UlQobV9zcGVjdWxhdGlvbnMuaXNFbXB0eSgpKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQobV9z
cGVjdWxhdGlvbnMuaXNFbXB0eSgpKTsgLy8gVGhlcmUgc2hvdWxkIG5ldmVyIGJlIGFueSBjaHVu
a3MgYWZ0ZXIgdGhlIEVPRi4KICAgICAgICAgICAgICAgICBwcmVwYXJlVG9TdG9wUGFyc2luZygp
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CkBAIC00NDEsNyArNDYyLDcgQEAg
dm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnByb2Nlc3NQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5k
UGFyc2VyKFBhc3NPd25QdHI8UGFyc2UKIAogICAgICAgICBpZiAoaXQtPnR5cGUoKSA9PSBIVE1M
VG9rZW46OkVuZE9mRmlsZSkgewogICAgICAgICAgICAgQVNTRVJUKGl0ICsgMSA9PSB0b2tlbnMt
PmVuZCgpKTsgLy8gVGhlIEVPRiBpcyBhc3N1bWVkIHRvIGJlIHRoZSBsYXN0IHRva2VuIG9mIHRo
aXMgYnVuY2guCi0gICAgICAgICAgICBBU1NFUlQobV9zcGVjdWxhdGlvbnMuaXNFbXB0eSgpKTsK
KyAgICAgICAgICAgIEFTU0VSVChtX3NwZWN1bGF0aW9ucy5pc0VtcHR5KCkpOyAvLyBUaGVyZSBz
aG91bGQgbmV2ZXIgYmUgYW55IGNodW5rcyBhZnRlciB0aGUgRU9GLgogICAgICAgICAgICAgcHJl
cGFyZVRvU3RvcFBhcnNpbmcoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC00
NjMsNiArNDg0LDggQEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnB1bXBQZW5kaW5nU3BlY3Vs
YXRpb25zKCkKICAgICBBU1NFUlQoIW1fdG9rZW5pemVyKTsKICAgICBBU1NFUlQoIW1fdG9rZW4p
OwogICAgIEFTU0VSVCghbV9sYXN0Q2h1bmtCZWZvcmVTY3JpcHQpOworICAgIEFTU0VSVCghaXNX
YWl0aW5nRm9yU2NyaXB0cygpKTsKKyAgICBBU1NFUlQoIWlzU3RvcHBlZCgpKTsKIAogICAgIC8v
IEZJWE1FOiBQYXNzIGluIGN1cnJlbnQgaW5wdXQgbGVuZ3RoLgogICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxX
cml0ZUhUTUwoZG9jdW1lbnQoKSwgbGluZU51bWJlcigpLnplcm9CYXNlZEludCgpKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBlNDQ1MTM5ODc4ZmU0MTY4Nzg3OGU1ZGExOTdjODQwYWJiNWMyNTc2Li4wYmQ4MDA0YzM3YTI0
ZWJjZWU4ZGFkNDU3N2VlOTk0OGQ2N2M3MTllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMt
MDMtMjggIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIEFzc2VydGlv
biBmYWlsdXJlICFtX2xhc3RDaHVua0JlZm9yZVNjcmlwdCBpbiBIVE1MRG9jdW1lbnRQYXJzZXIg
ZHVyaW5nIGluc3BlY3Rvci9kZWJ1Z2dlci9wYXVzZS1pbi1pbmxpbmUtc2NyaXB0Lmh0bWwKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjM2OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wMy0yOCAgQWxvayBQcml5YWRhcnNo
aSAgPGFsb2twQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIHJlYmFzZWxpbmUu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCBjMWIwOGI2NzU4YjU0YjU5MjQwYjRmYjhlM2M0OTgzMGIyNmJhOTgyLi5lMTMyYzI5OWM1Yzgx
YmJiZGM5ZTNhMGU5ZmZjMzE1NjgyYzNiNjhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM3NjAsOSArMzc2MCw2IEBAIHdlYmtpdC5v
cmcvYi8xMTIyMTkgWyBXaW4gTWFjIExpbnV4IF0gZmFzdC9sYXllcnMvbm8tY2xpcHBpbmctb3Zl
cmZsb3ctaGlkZGVuLWFkCiAjIEZlYXR1cmUgbm90IGltcGxlbWVudGVkCiB3ZWJraXQub3JnL2Iv
OTE2MTEgbWVkaWEvbWVkaWEtaGlnaGVyLXByaW8tYXVkaW8tc3RyZWFtLmh0bWwgWyBTa2lwIF0K
IAotIyBGbGFreSBhc3NlcnRpb24gZmFpbHVyZXMgb24gZGVidWcgYm90cwotd2Via2l0Lm9yZy9i
LzExMjM2OSBbIERlYnVnIF0gaW5zcGVjdG9yL2RlYnVnZ2VyL3BhdXNlLWluLWlubGluZS1zY3Jp
cHQuaHRtbCBbIFBhc3MgQ3Jhc2ggVGltZW91dCBdCi0KICMgRmxha3kgdGVzdHMKIHdlYmtpdC5v
cmcvYi8xMTI1OTggWyBXaW4gTWFjIExpbnV4IF0gaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQvaW5zZWN1cmUtYXVkaW8tdmlkZW8taW4tbWFpbi1mcmFtZS5odG1sIFsgRmFpbHVyZSBQ
YXNzIF0KIHdlYmtpdC5vcmcvYi8xMTI2MDEgaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFt
ZS1hY2Nlc3MtcG9ydC1leHBsaWNpdC1kb21haW4uaHRtbCBbIEZhaWx1cmUgUGFzcyBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195664</attachid>
            <date>2013-03-28 15:53:47 -0700</date>
            <delta_ts>2013-03-31 23:53:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112369-20130328155344.patch</filename>
            <type>text/plain</type>
            <size>9032</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmU4MjBhOWIzY2I1NjU1
ODIwM2UxZTBjNjJlYmNlMzk5MGMxODIyMy4uYzI1ZjlhN2MxODVlOGQyODgyZjBkZGIxZmZmYzVj
NmJmMTM1MTgzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAzLTI4ICBFcmlj
IFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBBc3NlcnRpb24gZmFpbHVyZSAh
bV9sYXN0Q2h1bmtCZWZvcmVTY3JpcHQgaW4gSFRNTERvY3VtZW50UGFyc2VyIGR1cmluZyBpbnNw
ZWN0b3IvZGVidWdnZXIvcGF1c2UtaW4taW5saW5lLXNjcmlwdC5odG1sCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzNjkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbmZvcnR1bmF0ZWx5IGl0IHR1cm5z
IG91dCB0aGF0IGl0IGlzIHBvc3NpYmxlIHRvIHJlLWVudGVyIHRoZQorICAgICAgICB0aHJlYWRl
ZCBwYXJzZXIncyBtYWluLXRocmVhZCBjYWxsYmFja3MgdXNpbmcgYSBuZXN0ZWQgZXZlbnQgbG9v
cC4KKyAgICAgICAgYWxlcnQsIHJ1bk1vZGFsRGlhbG9nIGFuZCB0aGUgSlMgRGVidWdnZXIgY2Fu
IGFsbCBjYXVzZSBuZXN0ZWQKKyAgICAgICAgZXZlbnQgbG9vcHMsIHRodXMgd2UgbmVlZCB0byBk
ZXRlY3QgdGhpcyByZWVudHJhbmN5IGFuZAorICAgICAgICBzYXZlIG9mZiB0aGUgc3BlY3VsYXRp
dmUgY2h1bmtzLiBXaGVuZXZlciB3ZSdyZSBkb25lIHdpdGggYSBjaHVuaworICAgICAgICB3ZSBh
bHNvIG5lZWQgdG8gY2hlY2sgZm9yIGFueSBzcGVjdWxhdGlvbnMgd2hpY2ggd2UgY291bGQgaGF2
ZQorICAgICAgICBhZGRlZCBkdXJpbmcgYSBuZXN0ZWQgZXZlbnQgbG9vcCBkdXJpbmcgdGhhdCBj
aHVuay4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6aGFzQWN0aXZlUGFyc2VyKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAg
ICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjphY3RpdmVQYXJz
ZXJDb3VudCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6ZGlkUmVjZWl2ZVBhcnNlZENo
dW5rRnJvbUJhY2tncm91bmRQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50
UGFyc2VyOjpwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcik6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OnB1bXBQZW5kaW5nU3BlY3VsYXRpb25zKToK
KwogMjAxMy0wMy0yOCAgQXJuYXVkIFJlbmV2aWVyICA8YS5yZW5ldmllckBzaXNhLnNhbXN1bmcu
Y29tPgogCiAgICAgICAgIHVzZSBYTUxIdHRwUmVxdWVzdFJlc3BvbnNlVHlwZSBlbnVtZXJhdGlv
biBpbiBYTUxIdHRwUmVxdWVzdC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDdmMDUy
NDE3YzQxNThmYTkxZDNmZTA5MDEyMWZmMWM3NjM2OTVjYjMuLjE2MDE1NWE3YTZlNDVkOTQxMDEw
YjdhZTRjYjU5ODBlMTFmNGFjNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNTg4NCw3
ICs1ODg0LDcgQEAgdm9pZCBEb2N1bWVudDo6YWRqdXN0RmxvYXRSZWN0Rm9yU2Nyb2xsQW5kQWJz
b2x1dGVab29tQW5kRnJhbWVTY2FsZShGbG9hdFJlY3QmIHIKICAgICAgICAgcmVjdC5zY2FsZShp
bnZlcnNlRnJhbWVTY2FsZSk7CiB9CiAKLWJvb2wgRG9jdW1lbnQ6Omhhc0FjdGl2ZVBhcnNlcigp
Citib29sIERvY3VtZW50OjpoYXNBY3RpdmVQYXJzZXIoKSBjb25zdAogewogICAgIHJldHVybiBt
X2FjdGl2ZVBhcnNlckNvdW50IHx8IChtX3BhcnNlciAmJiBtX3BhcnNlci0+cHJvY2Vzc2luZ0Rh
dGEoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGY4MDA5MmIyNTM4ZWFiNDRlZDYwZjJj
ZjkzMTc3MTA1YWZlZWQwZjEuLmNjNmJiMzE3NjEzOTljNWZlYzQwOWQwZGRmNTFmNjJhZWVkZmIy
ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTc1LDcgKzExNzUsOCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBhZGp1c3RGbG9hdFF1YWRzRm9yU2Nyb2xsQW5kQWJzb2x1dGVab29tQW5kRnJhbWVT
Y2FsZShWZWN0b3I8RmxvYXRRdWFkPiYsIFJlbmRlck9iamVjdCopOwogICAgIHZvaWQgYWRqdXN0
RmxvYXRSZWN0Rm9yU2Nyb2xsQW5kQWJzb2x1dGVab29tQW5kRnJhbWVTY2FsZShGbG9hdFJlY3Qm
LCBSZW5kZXJPYmplY3QqKTsKIAotICAgIGJvb2wgaGFzQWN0aXZlUGFyc2VyKCk7CisgICAgYm9v
bCBoYXNBY3RpdmVQYXJzZXIoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBhY3RpdmVQYXJzZXJDb3Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fYWN0aXZlUGFyc2VyQ291bnQ7IH0KICAgICB2b2lkIGluY3Jl
bWVudEFjdGl2ZVBhcnNlckNvdW50KCkgeyArK21fYWN0aXZlUGFyc2VyQ291bnQ7IH0KICAgICB2
b2lkIGRlY3JlbWVudEFjdGl2ZVBhcnNlckNvdW50KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCmluZGV4IDhlOTE5ZDAxMmVhMzI2
NmNmY2E2NGJjNGNhMzE4MTlhZDExNjZlNjMuLjk1ODM3ODNmZWQ0YTNmY2I4ZGUyYjE5OTFmMTJm
N2QyZDUwOWY4NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxE
b2N1bWVudFBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERv
Y3VtZW50UGFyc2VyLmNwcApAQCAtMTI3LDYgKzEyNyw3IEBAIEhUTUxEb2N1bWVudFBhcnNlcjo6
fkhUTUxEb2N1bWVudFBhcnNlcigpCiAgICAgQVNTRVJUKCFtX3ByZWxvYWRTY2FubmVyKTsKICAg
ICBBU1NFUlQoIW1faW5zZXJ0aW9uUHJlbG9hZFNjYW5uZXIpOwogICAgIEFTU0VSVCghbV9oYXZl
QmFja2dyb3VuZFBhcnNlcik7CisgICAgLy8gRklYTUU6IFdlIGNvdWxkIEFTU0VSVCBtX3NwZWN1
bGF0aW9ucyBpcyBlbXB0eSBpZiB3ZSBjbGVhciBpdCBpbiBzdG9wKCkuCiB9CiAKICNpZiBFTkFC
TEUoVEhSRUFERURfSFRNTF9QQVJTRVIpCkBAIC0xNjgsNiArMTY5LDggQEAgdm9pZCBIVE1MRG9j
dW1lbnRQYXJzZXI6OnN0b3BQYXJzaW5nKCkKICAgICBpZiAobV9oYXZlQmFja2dyb3VuZFBhcnNl
cikKICAgICAgICAgc3RvcEJhY2tncm91bmRQYXJzZXIoKTsKICNlbmRpZgorICAgIC8vIEZJWE1F
OiBTaG91bGQgd2UgY2xlYXIgbV9zcGVjdWxhdGlvbnM/IEl0J3MgcG9zc2libGUgY2FsbGJhY2tz
IGFyZSBhbHJlYWR5CisgICAgLy8gcXVldWVkIGluIHRoZSBtYWluIHRocmVhZCBtZXNzYWdlIHF1
ZXVlIHRvIHRvIGFkZCBzcGVjdWxhdGl2ZSBjaHVua3MuCiB9CiAKIC8vIFRoaXMga2lja3Mgb2Zm
ICJPbmNlIHRoZSB1c2VyIGFnZW50IHN0b3BzIHBhcnNpbmciIGFzIGRlc2NyaWJlZCBieToKQEAg
LTMxMSw3ICszMTQsMTMgQEAgYm9vbCBIVE1MRG9jdW1lbnRQYXJzZXI6OmNhblRha2VOZXh0VG9r
ZW4oU3luY2hyb25vdXNNb2RlIG1vZGUsIFB1bXBTZXNzaW9uJiBzZXMKIAogdm9pZCBIVE1MRG9j
dW1lbnRQYXJzZXI6OmRpZFJlY2VpdmVQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5kUGFyc2VyKFBh
c3NPd25QdHI8UGFyc2VkQ2h1bms+IGNodW5rKQogewotICAgIGlmIChpc1dhaXRpbmdGb3JTY3Jp
cHRzKCkgfHwgIW1fc3BlY3VsYXRpb25zLmlzRW1wdHkoKSkgeworICAgIC8vIGFsZXJ0KCksIHJ1
bk1vZGFsRGlhbG9nLCBhbmQgdGhlIEphdmFTY3JpcHQgRGVidWdnZXIgYWxsIHJ1biBuZXN0ZWQg
ZXZlbnQgbG9vcHMKKyAgICAvLyB3aGljaCBjYW4gY2F1c2UgdGhpcyBtZXRob2QgdG8gYmUgcmUt
ZW50ZXJlZC4gV2UgbmVlZCB0byBkZXRlY3QgdGhpcywgc2F2ZQorICAgIC8vIHRoZSBjaHVuayBh
cyBhIHNwZWN1bGF0aW9uLCBhbmQgcmV0dXJuLgorICAgIGJvb2wgY2FsbGVkRnJvbU5lc3RlZEV2
ZW50TG9vcCA9IChkb2N1bWVudCgpLT5hY3RpdmVQYXJzZXJDb3VudCgpID4gMCk7CisgICAgLy8g
SXQgc2hvdWxkIG5vdCBiZSBwb3NzaWJsZSB0byByZS1lbnRlciB0aGlzIGZ1bmN0aW9uIG1vcmUg
dGhhbiBvbmNlLgorICAgIEFTU0VSVCghY2FsbGVkRnJvbU5lc3RlZEV2ZW50TG9vcCB8fCBkb2N1
bWVudCgpLT5hY3RpdmVQYXJzZXJDb3VudCgpID09IDEpOworICAgIGlmIChjYWxsZWRGcm9tTmVz
dGVkRXZlbnRMb29wIHx8IGlzV2FpdGluZ0ZvclNjcmlwdHMoKSB8fCAhbV9zcGVjdWxhdGlvbnMu
aXNFbXB0eSgpKSB7CiAgICAgICAgIG1fcHJlbG9hZGVyLT50YWtlQW5kUHJlbG9hZChjaHVuay0+
cHJlbG9hZHMpOwogICAgICAgICBtX3NwZWN1bGF0aW9ucy5hcHBlbmQoY2h1bmspOwogICAgICAg
ICByZXR1cm47CkBAIC0zMjgsNiArMzM3LDEzIEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpk
aWRSZWNlaXZlUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihQYXNzT3duUHRyPFBhCiAg
ICAgcHJvY2Vzc1BhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIoY2h1bmspOwogCiAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhUTUwoY29va2llLCBsaW5lTnVtYmVy
KCkuemVyb0Jhc2VkSW50KCkpOworCisgICAgLy8gQSBuZXN0ZWQgZXZlbnQgbG9vcCBjYXVzZWQg
Y2h1bmtzIHRvIGJlIGRlbGl2ZXJlZCB0byB0aGUgbWFpbiB0aHJlYWQKKyAgICAvLyBkdXJpbmcg
ZXhlY3V0aW9uIG9mIHByb2Nlc3NQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5kUGFyc2VyLgorICAg
IC8vIElmIHdlJ3JlIG5vdCBhbHJlYWR5IHNldCB0byB3YWl0IGZvciBzY3JpcHRzLCB0aGVuIHdl
IG5lZWQKKyAgICAvLyB0byBwcm9jZXNzIHRoZSBzcGVjdWxhdGlvbnMgbm93LCBvciB0aGV5IHdp
bGwgYmUgbG9zdC4KKyAgICBpZiAoIW1fc3BlY3VsYXRpb25zLmlzRW1wdHkoKSAmJiAhaXNXYWl0
aW5nRm9yU2NyaXB0cygpICYmICFpc1N0b3BwZWQoKSkKKyAgICAgICAgcHVtcFBlbmRpbmdTcGVj
dWxhdGlvbnMoKTsKIH0KIAogdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnZhbGlkYXRlU3BlY3Vs
YXRpb25zKFBhc3NPd25QdHI8UGFyc2VkQ2h1bms+IGNodW5rKQpAQCAtMzkwLDYgKzQwNiwxMSBA
QCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6ZGlzY2FyZFNwZWN1bGF0aW9uc0FuZFJlc3VtZUZy
b20oUGFzc093blB0cjxQYXJzZWRDaHVuawogCiB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6cHJv
Y2Vzc1BhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIoUGFzc093blB0cjxQYXJzZWRDaHVu
az4gcG9wQ2h1bmspCiB7CisgICAgLy8gQ2FsbGVycyBtdXN0IGd1YXJkIHRoaXMgbWV0aG9kIGZy
b20gcmVlbnRyYW5jeSwgYWxsIHNvcnRzIG9mIGNhbiBoYXBwZW4gb3RoZXJ3aXNlLgorICAgIEFT
U0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFkb2N1bWVudCgpLT5hY3RpdmVQYXJzZXJD
b3VudCgpKTsKKyAgICBBU1NFUlQoIWlzUGFyc2luZ0ZyYWdtZW50KCkpOworICAgIEFTU0VSVCgh
aXNXYWl0aW5nRm9yU2NyaXB0cygpKTsKKyAgICBBU1NFUlQoIWlzU3RvcHBlZCgpKTsKICAgICAv
LyBBU1NFUlQgdGhhdCB0aGlzIG9iamVjdCBpcyBib3RoIGF0dGFjaGVkIHRvIHRoZSBEb2N1bWVu
dCBhbmQgcHJvdGVjdGVkLgogICAgIEFTU0VSVChyZWZDb3VudCgpID49IDIpOwogICAgIEFTU0VS
VChzaG91bGRVc2VUaHJlYWRpbmcoKSk7CkBAIC00MjYsNyArNDQ3LDcgQEAgdm9pZCBIVE1MRG9j
dW1lbnRQYXJzZXI6OnByb2Nlc3NQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5kUGFyc2VyKFBhc3NP
d25QdHI8UGFyc2UKICAgICAgICAgICAgIC8vIFRvIG1hdGNoIG1haW4tdGhyZWFkIHBhcnNlciBi
ZWhhdmlvciAod2hpY2ggbmV2ZXIgY2hlY2tzIGxvY2F0aW9uQ2hhbmdlUGVuZGluZyBvbiB0aGUg
RU9GIHBhdGgpCiAgICAgICAgICAgICAvLyB3ZSBwZWVrIHRvIHNlZSBpZiB0aGlzIGNodW5rIGhh
cyBhbiBFT0YgYW5kIHByb2Nlc3MgaXQgYW55d2F5LgogICAgICAgICAgICAgaWYgKHRva2Vucy0+
bGFzdCgpLnR5cGUoKSA9PSBIVE1MVG9rZW46OkVuZE9mRmlsZSkgewotICAgICAgICAgICAgICAg
IEFTU0VSVChtX3NwZWN1bGF0aW9ucy5pc0VtcHR5KCkpOworICAgICAgICAgICAgICAgIEFTU0VS
VChtX3NwZWN1bGF0aW9ucy5pc0VtcHR5KCkpOyAvLyBUaGVyZSBzaG91bGQgbmV2ZXIgYmUgYW55
IGNodW5rcyBhZnRlciB0aGUgRU9GLgogICAgICAgICAgICAgICAgIHByZXBhcmVUb1N0b3BQYXJz
aW5nKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKQEAgLTQ0MSw3ICs0NjIs
NyBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6cHJvY2Vzc1BhcnNlZENodW5rRnJvbUJhY2tn
cm91bmRQYXJzZXIoUGFzc093blB0cjxQYXJzZQogCiAgICAgICAgIGlmIChpdC0+dHlwZSgpID09
IEhUTUxUb2tlbjo6RW5kT2ZGaWxlKSB7CiAgICAgICAgICAgICBBU1NFUlQoaXQgKyAxID09IHRv
a2Vucy0+ZW5kKCkpOyAvLyBUaGUgRU9GIGlzIGFzc3VtZWQgdG8gYmUgdGhlIGxhc3QgdG9rZW4g
b2YgdGhpcyBidW5jaC4KLSAgICAgICAgICAgIEFTU0VSVChtX3NwZWN1bGF0aW9ucy5pc0VtcHR5
KCkpOworICAgICAgICAgICAgQVNTRVJUKG1fc3BlY3VsYXRpb25zLmlzRW1wdHkoKSk7IC8vIFRo
ZXJlIHNob3VsZCBuZXZlciBiZSBhbnkgY2h1bmtzIGFmdGVyIHRoZSBFT0YuCiAgICAgICAgICAg
ICBwcmVwYXJlVG9TdG9wUGFyc2luZygpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
QEAgLTQ2Myw2ICs0ODQsOCBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6cHVtcFBlbmRpbmdT
cGVjdWxhdGlvbnMoKQogICAgIEFTU0VSVCghbV90b2tlbml6ZXIpOwogICAgIEFTU0VSVCghbV90
b2tlbik7CiAgICAgQVNTRVJUKCFtX2xhc3RDaHVua0JlZm9yZVNjcmlwdCk7CisgICAgQVNTRVJU
KCFpc1dhaXRpbmdGb3JTY3JpcHRzKCkpOworICAgIEFTU0VSVCghaXNTdG9wcGVkKCkpOwogCiAg
ICAgLy8gRklYTUU6IFBhc3MgaW4gY3VycmVudCBpbnB1dCBsZW5ndGguCiAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
d2lsbFdyaXRlSFRNTChkb2N1bWVudCgpLCBsaW5lTnVtYmVyKCkuemVyb0Jhc2VkSW50KCkpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGZjMjIzMzdjYWFlMGYwNWQwYTA1NDY0OTE5ZWFhYTljZTY5ZjA4MjcuLjM5NzM4NWM5
MTVlOTc2YTc4Njg0YWYxMTI1ZGMyMGE3YzQ4MDkyMTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAxMy0wMy0yOCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQXNz
ZXJ0aW9uIGZhaWx1cmUgIW1fbGFzdENodW5rQmVmb3JlU2NyaXB0IGluIEhUTUxEb2N1bWVudFBh
cnNlciBkdXJpbmcgaW5zcGVjdG9yL2RlYnVnZ2VyL3BhdXNlLWluLWlubGluZS1zY3JpcHQuaHRt
bAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMzY5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDEzLTAzLTI4ICBBcm5hdWQgUmVu
ZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CiAKICAgICAgICAgdXNlIFhNTEh0
dHBSZXF1ZXN0UmVzcG9uc2VUeXBlIGVudW1lcmF0aW9uIGluIFhNTEh0dHBSZXF1ZXN0LmlkbApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
N2ZlOTBlOGU5ZTBkY2M2ODU4MjgzMmMyNWNmOTg0ZGMxMGE0NDc0Zi4uYzRhYmE5YTcyZjMzODZk
MDVmNDkyZGM5MDc3NmI1YTU3NDAwMDNkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNzYwLDkgKzM3NjAsNiBAQCB3ZWJraXQub3Jn
L2IvMTEyMjE5IFsgV2luIE1hYyBMaW51eCBdIGZhc3QvbGF5ZXJzL25vLWNsaXBwaW5nLW92ZXJm
bG93LWhpZGRlbi1hZAogIyBGZWF0dXJlIG5vdCBpbXBsZW1lbnRlZAogd2Via2l0Lm9yZy9iLzkx
NjExIG1lZGlhL21lZGlhLWhpZ2hlci1wcmlvLWF1ZGlvLXN0cmVhbS5odG1sIFsgU2tpcCBdCiAK
LSMgRmxha3kgYXNzZXJ0aW9uIGZhaWx1cmVzIG9uIGRlYnVnIGJvdHMKLXdlYmtpdC5vcmcvYi8x
MTIzNjkgWyBEZWJ1ZyBdIGluc3BlY3Rvci9kZWJ1Z2dlci9wYXVzZS1pbi1pbmxpbmUtc2NyaXB0
Lmh0bWwgWyBQYXNzIENyYXNoIFRpbWVvdXQgXQotCiAjIE5lZWRzIHJlYmFzZWxpbmUgb24gYWxs
IHBsYXRmb3JtcwogQnVnKGxldml3KSBmYXN0L3RleHQvc2hhcGluZy9zaGFwaW5nLXNlbGVjdGlv
bi1yZWN0Lmh0bWwgWyBGYWlsdXJlIF0KIAo=
</data>
<flag name="review"
          id="217901"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195927</attachid>
            <date>2013-03-31 23:36:27 -0700</date>
            <delta_ts>2013-04-01 15:24:43 -0700</delta_ts>
            <desc>Example patch</desc>
            <filename>bug-112369-20130331233620.patch</filename>
            <type>text/plain</type>
            <size>1378</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAppbmRleCA4ZTkxOWQwMTJlYTMyNjZjZmNhNjRi
YzRjYTMxODE5YWQxMTY2ZTYzLi5hYWNkMGYyZGU5ZjFkNjZhN2MwMGZjNTM0N2Y4M2Y1MGRhYmQy
ZjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBh
cnNlci5jcHAKQEAgLTMxNywxNyArMzE3LDE0IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpk
aWRSZWNlaXZlUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihQYXNzT3duUHRyPFBhCiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFj
a2dyb3VuZFBhcnNlciBjYW4gY2F1c2UgdGhpcyBwYXJzZXIgdG8gYmUgZGV0YWNoZWQgZnJvbSB0
aGUgRG9jdW1lbnQsCi0gICAgLy8gYnV0IHdlIG5lZWQgdG8gZW5zdXJlIGl0IGlzbid0IGRlbGV0
ZWQgeWV0LgorICAgIC8vIHB1bXBQZW5kaW5nU3BlY3VsYXRpb25zIGNhbiBjYXVzZSB0aGlzIHBh
cnNlciB0byBiZSBkZXRhY2hlZCBmcm9tIHRoZQorICAgIC8vIERvY3VtZW50LCBidXQgd2UgbmVl
ZCB0byBlbnN1cmUgaXQgaXNuJ3QgZGVsZXRlZCB5ZXQuCiAgICAgUmVmUHRyPEhUTUxEb2N1bWVu
dFBhcnNlcj4gcHJvdGVjdCh0aGlzKTsKIAotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxXcml0ZUhUTUwoZG9j
dW1lbnQoKSwgbGluZU51bWJlcigpLnplcm9CYXNlZEludCgpKTsKLQogICAgIEFTU0VSVChtX3Nw
ZWN1bGF0aW9ucy5pc0VtcHR5KCkpOwogICAgIGNodW5rLT5wcmVsb2Fkcy5jbGVhcigpOyAvLyBX
ZSBkb24ndCBuZWVkIHRvIHByZWxvYWQgYmVjYXVzZSB3ZSdyZSBnb2luZyB0byBwYXJzZSBpbW1l
ZGlhdGVseS4KLSAgICBwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihjaHVu
ayk7Ci0KLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFdyaXRlSFRNTChjb29raWUs
IGxpbmVOdW1iZXIoKS56ZXJvQmFzZWRJbnQoKSk7CisgICAgbV9zcGVjdWxhdGlvbnMuYXBwZW5k
KGNodW5rKTsKKyAgICBwdW1wUGVuZGluZ1NwZWN1bGF0aW9ucygpOwogfQogCiB2b2lkIEhUTUxE
b2N1bWVudFBhcnNlcjo6dmFsaWRhdGVTcGVjdWxhdGlvbnMoUGFzc093blB0cjxQYXJzZWRDaHVu
az4gY2h1bmspCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196029</attachid>
            <date>2013-04-01 15:24:46 -0700</date>
            <delta_ts>2013-04-01 15:48:18 -0700</delta_ts>
            <desc>more work in progress</desc>
            <filename>bug-112369-20130401152438.patch</filename>
            <type>text/plain</type>
            <size>5739</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAppbmRleCA4ZTkxOWQwMTJlYTMyNjZjZmNhNjRi
YzRjYTMxODE5YWQxMTY2ZTYzLi42MThlNjE1Y2QxMDMyZWVjN2I3ZGE1YzM0NDliMjU4ZDRjNmZm
NTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBh
cnNlci5jcHAKQEAgLTEyNyw2ICsxMjcsOSBAQCBIVE1MRG9jdW1lbnRQYXJzZXI6On5IVE1MRG9j
dW1lbnRQYXJzZXIoKQogICAgIEFTU0VSVCghbV9wcmVsb2FkU2Nhbm5lcik7CiAgICAgQVNTRVJU
KCFtX2luc2VydGlvblByZWxvYWRTY2FubmVyKTsKICAgICBBU1NFUlQoIW1faGF2ZUJhY2tncm91
bmRQYXJzZXIpOworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYmUgYWJsZSB0byBBU1NFUlQobV9z
cGVjdWxhdGlvbnMuaXNFbXB0eSgpKSwKKyAgICAvLyBidXQgdGhlcmUgYXJlIGNhc2VzIHdoZXJl
IHRoYXQncyBub3QgdHJ1ZSBjdXJyZW50bHkuIEZvciBleGFtcGxlLAorICAgIC8vIHdlIHdlJ3Jl
IHRvbGQgdG8gc3RvcCBwYXJzaW5nIGJlZm9yZSB3ZSd2ZSBjb25zdW1lZCBhbGwgdGhlIGlucHV0
LgogfQogCiAjaWYgRU5BQkxFKFRIUkVBREVEX0hUTUxfUEFSU0VSKQpAQCAtMzExLDcgKzMxNCwx
MCBAQCBib29sIEhUTUxEb2N1bWVudFBhcnNlcjo6Y2FuVGFrZU5leHRUb2tlbihTeW5jaHJvbm91
c01vZGUgbW9kZSwgUHVtcFNlc3Npb24mIHNlcwogCiB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6
ZGlkUmVjZWl2ZVBhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIoUGFzc093blB0cjxQYXJz
ZWRDaHVuaz4gY2h1bmspCiB7Ci0gICAgaWYgKGlzV2FpdGluZ0ZvclNjcmlwdHMoKSB8fCAhbV9z
cGVjdWxhdGlvbnMuaXNFbXB0eSgpKSB7CisgICAgLy8gYWxlcnQoKSwgcnVuTW9kYWxEaWFsb2cs
IGFuZCB0aGUgSmF2YVNjcmlwdCBEZWJ1Z2dlciBhbGwgcnVuIG5lc3RlZCBldmVudCBsb29wcwor
ICAgIC8vIHdoaWNoIGNhbiBjYXVzZSB0aGlzIG1ldGhvZCB0byBiZSByZS1lbnRlcmVkLiBXZSBk
ZXRlY3QgcmUtZW50cnkgdXNpbmcKKyAgICAvLyBpblB1bXBTZXNzaW9uKCksIHNhdmUgdGhlIGNo
dW5rIGFzIGEgc3BlY3VsYXRpb24sIGFuZCByZXR1cm4uCisgICAgaWYgKGlzV2FpdGluZ0ZvclNj
cmlwdHMoKSB8fCAhbV9zcGVjdWxhdGlvbnMuaXNFbXB0eSgpIHx8IGluUHVtcFNlc3Npb24oKSkg
ewogICAgICAgICBtX3ByZWxvYWRlci0+dGFrZUFuZFByZWxvYWQoY2h1bmstPnByZWxvYWRzKTsK
ICAgICAgICAgbV9zcGVjdWxhdGlvbnMuYXBwZW5kKGNodW5rKTsKICAgICAgICAgcmV0dXJuOwpA
QCAtMzIxLDEzICszMjcsMTAgQEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OmRpZFJlY2VpdmVQ
YXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5kUGFyc2VyKFBhc3NPd25QdHI8UGEKICAgICAvLyBidXQg
d2UgbmVlZCB0byBlbnN1cmUgaXQgaXNuJ3QgZGVsZXRlZCB5ZXQuCiAgICAgUmVmUHRyPEhUTUxE
b2N1bWVudFBhcnNlcj4gcHJvdGVjdCh0aGlzKTsKIAotICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxXcml0ZUhU
TUwoZG9jdW1lbnQoKSwgbGluZU51bWJlcigpLnplcm9CYXNlZEludCgpKTsKLQogICAgIEFTU0VS
VChtX3NwZWN1bGF0aW9ucy5pc0VtcHR5KCkpOwogICAgIGNodW5rLT5wcmVsb2Fkcy5jbGVhcigp
OyAvLyBXZSBkb24ndCBuZWVkIHRvIHByZWxvYWQgYmVjYXVzZSB3ZSdyZSBnb2luZyB0byBwYXJz
ZSBpbW1lZGlhdGVseS4KLSAgICBwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNl
cihjaHVuayk7Ci0KLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFdyaXRlSFRNTChj
b29raWUsIGxpbmVOdW1iZXIoKS56ZXJvQmFzZWRJbnQoKSk7CisgICAgbV9zcGVjdWxhdGlvbnMu
YXBwZW5kKGNodW5rKTsKKyAgICBwdW1wUGVuZGluZ1NwZWN1bGF0aW9ucygpOwogfQogCiB2b2lk
IEhUTUxEb2N1bWVudFBhcnNlcjo6dmFsaWRhdGVTcGVjdWxhdGlvbnMoUGFzc093blB0cjxQYXJz
ZWRDaHVuaz4gY2h1bmspCkBAIC0zOTAsNiArMzkzLDEwIEBAIHZvaWQgSFRNTERvY3VtZW50UGFy
c2VyOjpkaXNjYXJkU3BlY3VsYXRpb25zQW5kUmVzdW1lRnJvbShQYXNzT3duUHRyPFBhcnNlZENo
dW5rCiAKIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFj
a2dyb3VuZFBhcnNlcihQYXNzT3duUHRyPFBhcnNlZENodW5rPiBwb3BDaHVuaykKIHsKKyAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighaW5QdW1wU2Vzc2lvbigpKTsKKyAgICBB
U1NFUlQoIWlzUGFyc2luZ0ZyYWdtZW50KCkpOworICAgIEFTU0VSVCghaXNXYWl0aW5nRm9yU2Ny
aXB0cygpKTsKKyAgICBBU1NFUlQoIWlzU3RvcHBlZCgpKTsKICAgICAvLyBBU1NFUlQgdGhhdCB0
aGlzIG9iamVjdCBpcyBib3RoIGF0dGFjaGVkIHRvIHRoZSBEb2N1bWVudCBhbmQgcHJvdGVjdGVk
LgogICAgIEFTU0VSVChyZWZDb3VudCgpID49IDIpOwogICAgIEFTU0VSVChzaG91bGRVc2VUaHJl
YWRpbmcoKSk7CkBAIC0zOTcsNyArNDA0LDggQEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnBy
b2Nlc3NQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5kUGFyc2VyKFBhc3NPd25QdHI8UGFyc2UKICAg
ICBBU1NFUlQoIW1fdG9rZW4pOwogICAgIEFTU0VSVCghbV9sYXN0Q2h1bmtCZWZvcmVTY3JpcHQp
OwogCi0gICAgQWN0aXZlUGFyc2VyU2Vzc2lvbiBzZXNzaW9uKGNvbnRleHRGb3JQYXJzaW5nU2Vz
c2lvbigpKTsKKyAgICBQdW1wU2Vzc2lvbiBzZXNzaW9uKG1fcHVtcFNlc3Npb25OZXN0aW5nTGV2
ZWwsIGNvbnRleHRGb3JQYXJzaW5nU2Vzc2lvbigpKTsKKwogICAgIE93blB0cjxQYXJzZWRDaHVu
az4gY2h1bmsocG9wQ2h1bmspOwogICAgIE93blB0cjxDb21wYWN0SFRNTFRva2VuU3RyZWFtPiB0
b2tlbnMgPSBjaHVuay0+dG9rZW5zLnJlbGVhc2UoKTsKIApAQCAtNDI2LDcgKzQzNCw3IEBAIHZv
aWQgSFRNTERvY3VtZW50UGFyc2VyOjpwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBh
cnNlcihQYXNzT3duUHRyPFBhcnNlCiAgICAgICAgICAgICAvLyBUbyBtYXRjaCBtYWluLXRocmVh
ZCBwYXJzZXIgYmVoYXZpb3IgKHdoaWNoIG5ldmVyIGNoZWNrcyBsb2NhdGlvbkNoYW5nZVBlbmRp
bmcgb24gdGhlIEVPRiBwYXRoKQogICAgICAgICAgICAgLy8gd2UgcGVlayB0byBzZWUgaWYgdGhp
cyBjaHVuayBoYXMgYW4gRU9GIGFuZCBwcm9jZXNzIGl0IGFueXdheS4KICAgICAgICAgICAgIGlm
ICh0b2tlbnMtPmxhc3QoKS50eXBlKCkgPT0gSFRNTFRva2VuOjpFbmRPZkZpbGUpIHsKLSAgICAg
ICAgICAgICAgICBBU1NFUlQobV9zcGVjdWxhdGlvbnMuaXNFbXB0eSgpKTsKKyAgICAgICAgICAg
ICAgICBBU1NFUlQobV9zcGVjdWxhdGlvbnMuaXNFbXB0eSgpKTsgLy8gVGhlcmUgc2hvdWxkIG5l
dmVyIGJlIGFueSBjaHVua3MgYWZ0ZXIgdGhlIEVPRi4KICAgICAgICAgICAgICAgICBwcmVwYXJl
VG9TdG9wUGFyc2luZygpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CkBAIC00
NDEsNyArNDQ5LDcgQEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnByb2Nlc3NQYXJzZWRDaHVu
a0Zyb21CYWNrZ3JvdW5kUGFyc2VyKFBhc3NPd25QdHI8UGFyc2UKIAogICAgICAgICBpZiAoaXQt
PnR5cGUoKSA9PSBIVE1MVG9rZW46OkVuZE9mRmlsZSkgewogICAgICAgICAgICAgQVNTRVJUKGl0
ICsgMSA9PSB0b2tlbnMtPmVuZCgpKTsgLy8gVGhlIEVPRiBpcyBhc3N1bWVkIHRvIGJlIHRoZSBs
YXN0IHRva2VuIG9mIHRoaXMgYnVuY2guCi0gICAgICAgICAgICBBU1NFUlQobV9zcGVjdWxhdGlv
bnMuaXNFbXB0eSgpKTsKKyAgICAgICAgICAgIEFTU0VSVChtX3NwZWN1bGF0aW9ucy5pc0VtcHR5
KCkpOyAvLyBUaGVyZSBzaG91bGQgbmV2ZXIgYmUgYW55IGNodW5rcyBhZnRlciB0aGUgRU9GLgog
ICAgICAgICAgICAgcHJlcGFyZVRvU3RvcFBhcnNpbmcoKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CkBAIC00NjMsNiArNDcxLDggQEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnB1
bXBQZW5kaW5nU3BlY3VsYXRpb25zKCkKICAgICBBU1NFUlQoIW1fdG9rZW5pemVyKTsKICAgICBB
U1NFUlQoIW1fdG9rZW4pOwogICAgIEFTU0VSVCghbV9sYXN0Q2h1bmtCZWZvcmVTY3JpcHQpOwor
ICAgIEFTU0VSVCghaXNXYWl0aW5nRm9yU2NyaXB0cygpKTsKKyAgICBBU1NFUlQoIWlzU3RvcHBl
ZCgpKTsKIAogICAgIC8vIEZJWE1FOiBQYXNzIGluIGN1cnJlbnQgaW5wdXQgbGVuZ3RoLgogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OndpbGxXcml0ZUhUTUwoZG9jdW1lbnQoKSwgbGluZU51bWJlcigpLnplcm9CYXNl
ZEludCgpKTsKQEAgLTYyOSw3ICs2MzksNiBAQCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6aW5z
ZXJ0KGNvbnN0IFNlZ21lbnRlZFN0cmluZyYgc291cmNlKQogCiAjaWYgRU5BQkxFKFRIUkVBREVE
X0hUTUxfUEFSU0VSKQogICAgIGlmICghbV90b2tlbml6ZXIpIHsKLSAgICAgICAgQVNTRVJUKCFp
blB1bXBTZXNzaW9uKCkpOwogICAgICAgICBBU1NFUlQobV9oYXZlQmFja2dyb3VuZFBhcnNlciB8
fCB3YXNDcmVhdGVkQnlTY3JpcHQoKSk7CiAgICAgICAgIG1fdG9rZW4gPSBhZG9wdFB0cihuZXcg
SFRNTFRva2VuKTsKICAgICAgICAgbV90b2tlbml6ZXIgPSBIVE1MVG9rZW5pemVyOjpjcmVhdGUo
bV9vcHRpb25zKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IGQ1OWMwOTRmMTFkMjJiODE3OTc2NGFmMjNiZDgyMDE1YjhhNDQ0NTIuLmI4
MzNjN2Q2Nzk1NDk4NDkzOGQxNTAyYzA1MDI0N2E4ZGMxOGU5YTQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzc3MCw5ICszNzcwLDYg
QEAgd2Via2l0Lm9yZy9iLzExMjIxOSBbIFdpbiBNYWMgTGludXggXSBmYXN0L2xheWVycy9uby1j
bGlwcGluZy1vdmVyZmxvdy1oaWRkZW4tYWQKICMgRmVhdHVyZSBub3QgaW1wbGVtZW50ZWQKIHdl
YmtpdC5vcmcvYi85MTYxMSBtZWRpYS9tZWRpYS1oaWdoZXItcHJpby1hdWRpby1zdHJlYW0uaHRt
bCBbIFNraXAgXQogCi0jIEZsYWt5IGFzc2VydGlvbiBmYWlsdXJlcyBvbiBkZWJ1ZyBib3RzCi13
ZWJraXQub3JnL2IvMTEyMzY5IFsgRGVidWcgXSBpbnNwZWN0b3IvZGVidWdnZXIvcGF1c2UtaW4t
aW5saW5lLXNjcmlwdC5odG1sIFsgUGFzcyBDcmFzaCBUaW1lb3V0IF0KLQogIyBOZWVkcyByZWJh
c2VsaW5lIG9uIGFsbCBwbGF0Zm9ybXMKIEJ1ZyhsZXZpdykgZmFzdC90ZXh0L3NoYXBpbmcvc2hh
cGluZy1zZWxlY3Rpb24tcmVjdC5odG1sIFsgRmFpbHVyZSBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196030</attachid>
            <date>2013-04-01 15:48:20 -0700</date>
            <delta_ts>2013-04-01 22:33:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112369-20130401154813.patch</filename>
            <type>text/plain</type>
            <size>9751</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE4YWI2MWIyNmJmYjg1
ODAxOWM3N2YyODMzYWJlNTg2YTVlYjNmYy4uMWIwMDE1NzljMzg0MjFkNzI5Zjg2NDE4ZjkxNDJl
ZmI3YWYyMWY1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTA0LTAxICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUg
IW1fbGFzdENodW5rQmVmb3JlU2NyaXB0IGluIEhUTUxEb2N1bWVudFBhcnNlciBkdXJpbmcgaW5z
cGVjdG9yL2RlYnVnZ2VyL3BhdXNlLWluLWlubGluZS1zY3JpcHQuaHRtbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMzY5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHRocmVhZGVkIEhUTUwgcGFy
c2VyIHdhc24ndCBjb3JyZWN0bHkgaGFuZGxpbmcgdGhlIG5lc3RlZCBldmVudAorICAgICAgICBs
b29wcyB0aGF0IGNhbiBhcmlzZSBmcm9tIHRoZSBKYXZhU2NyaXB0IGRlYnVnZ2VyIGFuZCBmcm9t
CisgICAgICAgIHNob3dNb2RhbERpYWxvZy4gV2hlbiB0aGUgcGFyc2VyIHJlY2VpdmVkIGEgY2h1
bmsgZnJvbSB0aGUgYmFja2dyb3VuZAorICAgICAgICBwYXJzZXIsIGl0IHdhcyBhbHdheXMgcHJv
Y2Vzc2luZyBpdCBpbW1lZGlhdGVseSwgd2hpY2ggbGVhZCB0bworICAgICAgICByZS1lbnRyYW5j
eS4gTm93LCB3ZSdsbCBxdWV1ZSB0aGUgY2h1bmsgaW4gdGhlIHNwZWN1bGF0aW9uIGJ1ZmZlciBh
bmQKKyAgICAgICAgcHJvY2VzcyBpdCBvbmNlIHRoZSBzdGFjayB1bndpbmRzLgorCisgICAgICAg
ICogaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxEb2N1bWVudFBhcnNlcjo6fkhUTUxEb2N1bWVudFBhcnNlcik6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OmRpZFJlY2VpdmVQYXJzZWRDaHVua0Zyb21CYWNrZ3Jv
dW5kUGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6cHJvY2Vz
c1BhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TERvY3VtZW50UGFyc2VyOjpwdW1wUGVuZGluZ1NwZWN1bGF0aW9ucyk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6Omluc2VydCk6CisgICAgICAgICogaHRtbC9wYXJzZXIv
SFRNTFBhcnNlclNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQdW1wU2Vzc2lvbjo6
UHVtcFNlc3Npb24pOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIu
aDoKKwogMjAxMy0wNC0wMSAgUGhpbGlwIFJvZ2VycyAgPHBkckBnb29nbGUuY29tPgogCiAgICAg
ICAgIFtTVkcyXSBBZGQgc3VwcG9ydCBmb3IgdGhlIGJ1ZmZlcmVkLXJlbmRlcmluZyBoaW50CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcApp
bmRleCA4ZTkxOWQwMTJlYTMyNjZjZmNhNjRiYzRjYTMxODE5YWQxMTY2ZTYzLi42MThlNjE1Y2Qx
MDMyZWVjN2I3ZGE1YzM0NDliMjU4ZDRjNmZmNTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAKQEAgLTEyNyw2ICsxMjcsOSBAQCBI
VE1MRG9jdW1lbnRQYXJzZXI6On5IVE1MRG9jdW1lbnRQYXJzZXIoKQogICAgIEFTU0VSVCghbV9w
cmVsb2FkU2Nhbm5lcik7CiAgICAgQVNTRVJUKCFtX2luc2VydGlvblByZWxvYWRTY2FubmVyKTsK
ICAgICBBU1NFUlQoIW1faGF2ZUJhY2tncm91bmRQYXJzZXIpOworICAgIC8vIEZJWE1FOiBXZSBz
aG91bGQgYmUgYWJsZSB0byBBU1NFUlQobV9zcGVjdWxhdGlvbnMuaXNFbXB0eSgpKSwKKyAgICAv
LyBidXQgdGhlcmUgYXJlIGNhc2VzIHdoZXJlIHRoYXQncyBub3QgdHJ1ZSBjdXJyZW50bHkuIEZv
ciBleGFtcGxlLAorICAgIC8vIHdlIHdlJ3JlIHRvbGQgdG8gc3RvcCBwYXJzaW5nIGJlZm9yZSB3
ZSd2ZSBjb25zdW1lZCBhbGwgdGhlIGlucHV0LgogfQogCiAjaWYgRU5BQkxFKFRIUkVBREVEX0hU
TUxfUEFSU0VSKQpAQCAtMzExLDcgKzMxNCwxMCBAQCBib29sIEhUTUxEb2N1bWVudFBhcnNlcjo6
Y2FuVGFrZU5leHRUb2tlbihTeW5jaHJvbm91c01vZGUgbW9kZSwgUHVtcFNlc3Npb24mIHNlcwog
CiB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6ZGlkUmVjZWl2ZVBhcnNlZENodW5rRnJvbUJhY2tn
cm91bmRQYXJzZXIoUGFzc093blB0cjxQYXJzZWRDaHVuaz4gY2h1bmspCiB7Ci0gICAgaWYgKGlz
V2FpdGluZ0ZvclNjcmlwdHMoKSB8fCAhbV9zcGVjdWxhdGlvbnMuaXNFbXB0eSgpKSB7CisgICAg
Ly8gYWxlcnQoKSwgcnVuTW9kYWxEaWFsb2csIGFuZCB0aGUgSmF2YVNjcmlwdCBEZWJ1Z2dlciBh
bGwgcnVuIG5lc3RlZCBldmVudCBsb29wcworICAgIC8vIHdoaWNoIGNhbiBjYXVzZSB0aGlzIG1l
dGhvZCB0byBiZSByZS1lbnRlcmVkLiBXZSBkZXRlY3QgcmUtZW50cnkgdXNpbmcKKyAgICAvLyBp
blB1bXBTZXNzaW9uKCksIHNhdmUgdGhlIGNodW5rIGFzIGEgc3BlY3VsYXRpb24sIGFuZCByZXR1
cm4uCisgICAgaWYgKGlzV2FpdGluZ0ZvclNjcmlwdHMoKSB8fCAhbV9zcGVjdWxhdGlvbnMuaXNF
bXB0eSgpIHx8IGluUHVtcFNlc3Npb24oKSkgewogICAgICAgICBtX3ByZWxvYWRlci0+dGFrZUFu
ZFByZWxvYWQoY2h1bmstPnByZWxvYWRzKTsKICAgICAgICAgbV9zcGVjdWxhdGlvbnMuYXBwZW5k
KGNodW5rKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMzIxLDEzICszMjcsMTAgQEAgdm9pZCBIVE1M
RG9jdW1lbnRQYXJzZXI6OmRpZFJlY2VpdmVQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5kUGFyc2Vy
KFBhc3NPd25QdHI8UGEKICAgICAvLyBidXQgd2UgbmVlZCB0byBlbnN1cmUgaXQgaXNuJ3QgZGVs
ZXRlZCB5ZXQuCiAgICAgUmVmUHRyPEhUTUxEb2N1bWVudFBhcnNlcj4gcHJvdGVjdCh0aGlzKTsK
IAotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OndpbGxXcml0ZUhUTUwoZG9jdW1lbnQoKSwgbGluZU51bWJlcigpLnpl
cm9CYXNlZEludCgpKTsKLQogICAgIEFTU0VSVChtX3NwZWN1bGF0aW9ucy5pc0VtcHR5KCkpOwog
ICAgIGNodW5rLT5wcmVsb2Fkcy5jbGVhcigpOyAvLyBXZSBkb24ndCBuZWVkIHRvIHByZWxvYWQg
YmVjYXVzZSB3ZSdyZSBnb2luZyB0byBwYXJzZSBpbW1lZGlhdGVseS4KLSAgICBwcm9jZXNzUGFy
c2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihjaHVuayk7Ci0KLSAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZFdyaXRlSFRNTChjb29raWUsIGxpbmVOdW1iZXIoKS56ZXJvQmFzZWRJ
bnQoKSk7CisgICAgbV9zcGVjdWxhdGlvbnMuYXBwZW5kKGNodW5rKTsKKyAgICBwdW1wUGVuZGlu
Z1NwZWN1bGF0aW9ucygpOwogfQogCiB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6dmFsaWRhdGVT
cGVjdWxhdGlvbnMoUGFzc093blB0cjxQYXJzZWRDaHVuaz4gY2h1bmspCkBAIC0zOTAsNiArMzkz
LDEwIEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpkaXNjYXJkU3BlY3VsYXRpb25zQW5kUmVz
dW1lRnJvbShQYXNzT3duUHRyPFBhcnNlZENodW5rCiAKIHZvaWQgSFRNTERvY3VtZW50UGFyc2Vy
Ojpwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihQYXNzT3duUHRyPFBhcnNl
ZENodW5rPiBwb3BDaHVuaykKIHsKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElP
TighaW5QdW1wU2Vzc2lvbigpKTsKKyAgICBBU1NFUlQoIWlzUGFyc2luZ0ZyYWdtZW50KCkpOwor
ICAgIEFTU0VSVCghaXNXYWl0aW5nRm9yU2NyaXB0cygpKTsKKyAgICBBU1NFUlQoIWlzU3RvcHBl
ZCgpKTsKICAgICAvLyBBU1NFUlQgdGhhdCB0aGlzIG9iamVjdCBpcyBib3RoIGF0dGFjaGVkIHRv
IHRoZSBEb2N1bWVudCBhbmQgcHJvdGVjdGVkLgogICAgIEFTU0VSVChyZWZDb3VudCgpID49IDIp
OwogICAgIEFTU0VSVChzaG91bGRVc2VUaHJlYWRpbmcoKSk7CkBAIC0zOTcsNyArNDA0LDggQEAg
dm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnByb2Nlc3NQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5k
UGFyc2VyKFBhc3NPd25QdHI8UGFyc2UKICAgICBBU1NFUlQoIW1fdG9rZW4pOwogICAgIEFTU0VS
VCghbV9sYXN0Q2h1bmtCZWZvcmVTY3JpcHQpOwogCi0gICAgQWN0aXZlUGFyc2VyU2Vzc2lvbiBz
ZXNzaW9uKGNvbnRleHRGb3JQYXJzaW5nU2Vzc2lvbigpKTsKKyAgICBQdW1wU2Vzc2lvbiBzZXNz
aW9uKG1fcHVtcFNlc3Npb25OZXN0aW5nTGV2ZWwsIGNvbnRleHRGb3JQYXJzaW5nU2Vzc2lvbigp
KTsKKwogICAgIE93blB0cjxQYXJzZWRDaHVuaz4gY2h1bmsocG9wQ2h1bmspOwogICAgIE93blB0
cjxDb21wYWN0SFRNTFRva2VuU3RyZWFtPiB0b2tlbnMgPSBjaHVuay0+dG9rZW5zLnJlbGVhc2Uo
KTsKIApAQCAtNDI2LDcgKzQzNCw3IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpwcm9jZXNz
UGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihQYXNzT3duUHRyPFBhcnNlCiAgICAgICAg
ICAgICAvLyBUbyBtYXRjaCBtYWluLXRocmVhZCBwYXJzZXIgYmVoYXZpb3IgKHdoaWNoIG5ldmVy
IGNoZWNrcyBsb2NhdGlvbkNoYW5nZVBlbmRpbmcgb24gdGhlIEVPRiBwYXRoKQogICAgICAgICAg
ICAgLy8gd2UgcGVlayB0byBzZWUgaWYgdGhpcyBjaHVuayBoYXMgYW4gRU9GIGFuZCBwcm9jZXNz
IGl0IGFueXdheS4KICAgICAgICAgICAgIGlmICh0b2tlbnMtPmxhc3QoKS50eXBlKCkgPT0gSFRN
TFRva2VuOjpFbmRPZkZpbGUpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQobV9zcGVjdWxhdGlv
bnMuaXNFbXB0eSgpKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQobV9zcGVjdWxhdGlvbnMuaXNF
bXB0eSgpKTsgLy8gVGhlcmUgc2hvdWxkIG5ldmVyIGJlIGFueSBjaHVua3MgYWZ0ZXIgdGhlIEVP
Ri4KICAgICAgICAgICAgICAgICBwcmVwYXJlVG9TdG9wUGFyc2luZygpOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgYnJlYWs7CkBAIC00NDEsNyArNDQ5LDcgQEAgdm9pZCBIVE1MRG9jdW1l
bnRQYXJzZXI6OnByb2Nlc3NQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5kUGFyc2VyKFBhc3NPd25Q
dHI8UGFyc2UKIAogICAgICAgICBpZiAoaXQtPnR5cGUoKSA9PSBIVE1MVG9rZW46OkVuZE9mRmls
ZSkgewogICAgICAgICAgICAgQVNTRVJUKGl0ICsgMSA9PSB0b2tlbnMtPmVuZCgpKTsgLy8gVGhl
IEVPRiBpcyBhc3N1bWVkIHRvIGJlIHRoZSBsYXN0IHRva2VuIG9mIHRoaXMgYnVuY2guCi0gICAg
ICAgICAgICBBU1NFUlQobV9zcGVjdWxhdGlvbnMuaXNFbXB0eSgpKTsKKyAgICAgICAgICAgIEFT
U0VSVChtX3NwZWN1bGF0aW9ucy5pc0VtcHR5KCkpOyAvLyBUaGVyZSBzaG91bGQgbmV2ZXIgYmUg
YW55IGNodW5rcyBhZnRlciB0aGUgRU9GLgogICAgICAgICAgICAgcHJlcGFyZVRvU3RvcFBhcnNp
bmcoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC00NjMsNiArNDcxLDggQEAg
dm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnB1bXBQZW5kaW5nU3BlY3VsYXRpb25zKCkKICAgICBB
U1NFUlQoIW1fdG9rZW5pemVyKTsKICAgICBBU1NFUlQoIW1fdG9rZW4pOwogICAgIEFTU0VSVCgh
bV9sYXN0Q2h1bmtCZWZvcmVTY3JpcHQpOworICAgIEFTU0VSVCghaXNXYWl0aW5nRm9yU2NyaXB0
cygpKTsKKyAgICBBU1NFUlQoIWlzU3RvcHBlZCgpKTsKIAogICAgIC8vIEZJWE1FOiBQYXNzIGlu
IGN1cnJlbnQgaW5wdXQgbGVuZ3RoLgogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxXcml0ZUhUTUwoZG9jdW1l
bnQoKSwgbGluZU51bWJlcigpLnplcm9CYXNlZEludCgpKTsKQEAgLTYyOSw3ICs2MzksNiBAQCB2
b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6aW5zZXJ0KGNvbnN0IFNlZ21lbnRlZFN0cmluZyYgc291
cmNlKQogCiAjaWYgRU5BQkxFKFRIUkVBREVEX0hUTUxfUEFSU0VSKQogICAgIGlmICghbV90b2tl
bml6ZXIpIHsKLSAgICAgICAgQVNTRVJUKCFpblB1bXBTZXNzaW9uKCkpOwogICAgICAgICBBU1NF
UlQobV9oYXZlQmFja2dyb3VuZFBhcnNlciB8fCB3YXNDcmVhdGVkQnlTY3JpcHQoKSk7CiAgICAg
ICAgIG1fdG9rZW4gPSBhZG9wdFB0cihuZXcgSFRNTFRva2VuKTsKICAgICAgICAgbV90b2tlbml6
ZXIgPSBIVE1MVG9rZW5pemVyOjpjcmVhdGUobV9vcHRpb25zKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHAKaW5kZXggY2Q2ZjNkZjZl
ODU1M2Q1ZDI5NzNlYTY1OWZlYTMzYzYzMjJlZjAzMC4uZWQ1OWZiNzAzNDYyMzEzNzg3NTg5OGRm
ZjI2MzdlNWMzNDI5N2UyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFBhcnNlclNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFBhcnNlclNjaGVkdWxlci5jcHAKQEAgLTc3LDggKzc3LDggQEAgQWN0aXZlUGFyc2VyU2Vz
c2lvbjo6fkFjdGl2ZVBhcnNlclNlc3Npb24oKQogfQogCiBQdW1wU2Vzc2lvbjo6UHVtcFNlc3Np
b24odW5zaWduZWQmIG5lc3RpbmdMZXZlbCwgRG9jdW1lbnQqIGRvY3VtZW50KQotICAgIDogTmVz
dGluZ0xldmVsSW5jcmVtZW50ZXIobmVzdGluZ0xldmVsKQotICAgICwgQWN0aXZlUGFyc2VyU2Vz
c2lvbihkb2N1bWVudCkKKyAgICA6IEFjdGl2ZVBhcnNlclNlc3Npb24oZG9jdW1lbnQpCisgICAg
LCBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcihuZXN0aW5nTGV2ZWwpCiAgICAgLy8gU2V0dGluZyBw
cm9jZXNzZWRUb2tlbnMgdG8gSU5UX01BWCBjYXVzZXMgdXMgdG8gY2hlY2sgZm9yIHlpZWxkcwog
ICAgIC8vIGFmdGVyIGFueSB0b2tlbiBkdXJpbmcgYW55IHBhcnNlIHdoZXJlIHlpZWxkaW5nIGlz
IGFsbG93ZWQuCiAgICAgLy8gQXQgdGhhdCB0aW1lIHdlJ2xsIGluaXRpYWxpemUgc3RhcnRUaW1l
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVk
dWxlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5o
CmluZGV4IDkxMTJjNTg0MTAwNWJmODJhMmRhMjJkODJiM2M2ZDNmM2M4M2UwZTUuLjRhMmY0MTk0
MjFiZDA2Zjc5NTI5YmQzYTU4YThmY2RmMmYzNmRjYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKQEAgLTQ3LDcgKzQ3LDExIEBAIHBy
aXZhdGU6CiAgICAgUmVmUHRyPERvY3VtZW50PiBtX2RvY3VtZW50OwogfTsKIAotY2xhc3MgUHVt
cFNlc3Npb24gOiBwdWJsaWMgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIsIHB1YmxpYyBBY3RpdmVQ
YXJzZXJTZXNzaW9uIHsKKy8vIEluIEMrKywgYmFzZSBjbGFzc2VzIGFyZSBkZXN0cnVjdGVkIGZy
b20gcmlnaHQgdG8gbGVmdCwgd2hpY2ggbWVhbnMKKy8vIH5OZXN0aW5nTGV2ZWxJbmNyZW1lbnRl
ciB3aWxsIHJ1biBiZWZvcmUgfkFjdGl2ZVBhcnNlclNlc3Npb24uIFRoaXMKKy8vIGlzIGltcG9y
dGFudCBiZWNhdXNlIH5BY3RpdmVQYXJzZXJTZXNzaW9uIGNhbGxzIERvY3VtZW50OjpkZWNyZW1l
bnRBY3RpdmVQYXJzZXJDb3VudCwKKy8vIHdoaWNoIGNhcmVzIGFib3V0IHRoZSBwdW1wIG5lc3Rp
bmcgbGV2ZWwgb2YgdGhlIHBhcnNlci4KK2NsYXNzIFB1bXBTZXNzaW9uIDogcHVibGljIEFjdGl2
ZVBhcnNlclNlc3Npb24sIHB1YmxpYyBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlciB7CiBwdWJsaWM6
CiAgICAgUHVtcFNlc3Npb24odW5zaWduZWQmIG5lc3RpbmdMZXZlbCwgRG9jdW1lbnQqKTsKICAg
ICB+UHVtcFNlc3Npb24oKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiMzE2YjEyYzU4MTM0MzM1N2EyZjE2MThkYjNkMjUw
NWJjMDY2YmRiLi4yOTJmOTU5NzFiMjU3MDgwMTVjZWQwMjZkYTA0MDRjMzU5NTg1NmVjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDQtMDEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0
Lm9yZz4KKworICAgICAgICBBc3NlcnRpb24gZmFpbHVyZSAhbV9sYXN0Q2h1bmtCZWZvcmVTY3Jp
cHQgaW4gSFRNTERvY3VtZW50UGFyc2VyIGR1cmluZyBpbnNwZWN0b3IvZGVidWdnZXIvcGF1c2Ut
aW4taW5saW5lLXNjcmlwdC5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTIzNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVbnNraXAgdGVzdCB0aGF0IGlzIG5vdyBwYXNzaW5nLgorCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wNC0wMSAgUGhp
bGlwIFJvZ2VycyAgPHBkckBnb29nbGUuY29tPgogCiAgICAgICAgIFtTVkcyXSBBZGQgc3VwcG9y
dCBmb3IgdGhlIGJ1ZmZlcmVkLXJlbmRlcmluZyBoaW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkNTljMDk0ZjExZDIyYjgxNzk3NjRh
ZjIzYmQ4MjAxNWI4YTQ0NDUyLi5iODMzYzdkNjc5NTQ5ODQ5MzhkMTUwMmMwNTAyNDdhOGRjMThl
OWE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTM3NzAsOSArMzc3MCw2IEBAIHdlYmtpdC5vcmcvYi8xMTIyMTkgWyBXaW4gTWFjIExp
bnV4IF0gZmFzdC9sYXllcnMvbm8tY2xpcHBpbmctb3ZlcmZsb3ctaGlkZGVuLWFkCiAjIEZlYXR1
cmUgbm90IGltcGxlbWVudGVkCiB3ZWJraXQub3JnL2IvOTE2MTEgbWVkaWEvbWVkaWEtaGlnaGVy
LXByaW8tYXVkaW8tc3RyZWFtLmh0bWwgWyBTa2lwIF0KIAotIyBGbGFreSBhc3NlcnRpb24gZmFp
bHVyZXMgb24gZGVidWcgYm90cwotd2Via2l0Lm9yZy9iLzExMjM2OSBbIERlYnVnIF0gaW5zcGVj
dG9yL2RlYnVnZ2VyL3BhdXNlLWluLWlubGluZS1zY3JpcHQuaHRtbCBbIFBhc3MgQ3Jhc2ggVGlt
ZW91dCBdCi0KICMgTmVlZHMgcmViYXNlbGluZSBvbiBhbGwgcGxhdGZvcm1zCiBCdWcobGV2aXcp
IGZhc3QvdGV4dC9zaGFwaW5nL3NoYXBpbmctc2VsZWN0aW9uLXJlY3QuaHRtbCBbIEZhaWx1cmUg
XQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>