<?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>124447</bug_id>
          
          <creation_ts>2013-11-15 21:44:23 -0800</creation_ts>
          <short_desc>Crash in virtualForThunkGenerator generated code on ARM64</short_desc>
          <delta_ts>2013-11-20 15:16:06 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>aestes</cc>
    
    <cc>roger_fong</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>951321</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-15 21:44:23 -0800</bug_when>
    <thetext>The baseline JIT generates slow path call code with the caller is in regT0.  The DFG generates call code with the caller in nonArgGPR0.  The virtualForThunkGenerator generates code with the caller in nonArgGPR0.  For X86 and X86_64, regT0 and nonArgGPR0 are the same CPU register, eax.  For other platforms this isn&apos;t the case.  The same issue exists for JSVALUE32_64 ports as well, where there also is an issue with the callee tag registers being regT1 and nonArgGPR1 in the various locations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951325</commentid>
    <comment_count>1</comment_count>
      <attachid>217115</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-15 21:51:58 -0800</bug_when>
    <thetext>Created attachment 217115
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951326</commentid>
    <comment_count>2</comment_count>
      <attachid>217115</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-11-15 21:58:37 -0800</bug_when>
    <thetext>Comment on attachment 217115
Patch

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

&gt; Source/JavaScriptCore/jit/GPRInfo.h:358
&gt; -    static const unsigned numberOfRegisters = 10;
&gt; +    static const unsigned numberOfRegisters = 11;

Is this other change intentional?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951327</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-15 22:02:48 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 217115 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=217115&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/jit/GPRInfo.h:358
&gt; &gt; -    static const unsigned numberOfRegisters = 10;
&gt; &gt; +    static const unsigned numberOfRegisters = 11;
&gt; 
&gt; Is this other change intentional?

Yes.  r12 wasn&apos;t used.  Geoff and I were talking about this and we didn&apos;t want any overlap between arg regs or regT0.  Being able to add r12 as a temp made that work nicely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951328</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-15 22:03:52 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 217115 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=217115&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/jit/GPRInfo.h:358
&gt; &gt; &gt; -    static const unsigned numberOfRegisters = 10;
&gt; &gt; &gt; +    static const unsigned numberOfRegisters = 11;
&gt; &gt; 
&gt; &gt; Is this other change intentional?
&gt; 
&gt; Yes.  r12 wasn&apos;t used.  Geoff and I were talking about this and we didn&apos;t want any overlap between arg regs or regT0.  Being able to add r12 as a temp made that work nicely.

That is overlap between arg regs or regT0 and the nonARGReg&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951345</commentid>
    <comment_count>5</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2013-11-16 01:10:07 -0800</bug_when>
    <thetext>This patch seems to have exposed an assertion failure. Possibly this is a new issue exposed by fixing the crash, but since I don&apos;t know for sure I&apos;m posting here:

2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; ASSERTION FAILED: from.isCell() &amp;&amp; from.asCell()-&gt;JSCell::inherits(std::remove_pointer&lt;To&gt;::type::info())
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; /Users/estes/Repos/workspaces/ios/OpenSource/Source/JavaScriptCore/runtime/JSCell.h(187) : To JSC::jsCast(JSC::JSValue) [To = JSC::JSScope *]
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 1   0x100894a58 WTFCrash
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 2   0x100269d58 JSC::JSScope* JSC::jsCast&lt;JSC::JSScope*&gt;(JSC::JSValue)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 3   0x100269cd4 JSC::Register::scope() const
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 4   0x100269c34 JSC::ExecState::scope() const
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 5   0x100263e14 JSC::ExecState::vm() const
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 6   0x10058cb0c getHostCallReturnValueWithExecState
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 7   0x1006c95e4 llint_op_call
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 8   0x10055d710 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 9   0x100330b1c JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, JSC::JSValue*)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 10  0x1024bf200 WebCore::JSMainThreadExecState::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, JSC::JSValue*)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 11  0x102cd3a7c WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld&amp;)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 12  0x102cd3bbc WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&amp;)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 13  0x102cec16c WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&amp;)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 14  0x10201f124 WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent(WebCore::PendingScript&amp;)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 15  0x10201ef8c WebCore::HTMLScriptRunner::executeParsingBlockingScript()
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 16  0x10201f770 WebCore::HTMLScriptRunner::executeParsingBlockingScripts()
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 17  0x10201f8a0 WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad(WebCore::CachedResource*)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 18  0x101f7a58c WebCore::HTMLDocumentParser::notifyFinished(WebCore::CachedResource*)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 19  0x101f7a60c non-virtual thunk to WebCore::HTMLDocumentParser::notifyFinished(WebCore::CachedResource*)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 20  0x10180b750 WebCore::CachedResource::checkNotify()
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 21  0x10180b854 WebCore::CachedResource::finishLoading(WebCore::ResourceBuffer*)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 22  0x1018240a0 WebCore::CachedScript::finishLoading(WebCore::ResourceBuffer*)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 23  0x102e3e250 WebCore::SubresourceLoader::didFinishLoading(double)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 24  0x102c85e44 WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*, double)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 25  0x102c7d7c8 WebCore::didFinishLoading(_CFURLConnection*, void const*)
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 26  0x181fd98c0 &lt;redacted&gt;
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 27  0x181fd5b38 &lt;redacted&gt;
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 28  0x182399f7c CFArrayApplyFunction
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 29  0x181f35214 &lt;redacted&gt;
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 30  0x181f35090 &lt;redacted&gt;
2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 31  0x181f34ecc &lt;redacted&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951359</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-16 08:07:36 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; This patch seems to have exposed an assertion failure. Possibly this is a new issue exposed by fixing the crash, but since I don&apos;t know for sure I&apos;m posting here:
&gt; 
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; ASSERTION FAILED: from.isCell() &amp;&amp; from.asCell()-&gt;JSCell::inherits(std::remove_pointer&lt;To&gt;::type::info())
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; /Users/estes/Repos/workspaces/ios/OpenSource/Source/JavaScriptCore/runtime/JSCell.h(187) : To JSC::jsCast(JSC::JSValue) [To = JSC::JSScope *]
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 1   0x100894a58 WTFCrash
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 2   0x100269d58 JSC::JSScope* JSC::jsCast&lt;JSC::JSScope*&gt;(JSC::JSValue)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 3   0x100269cd4 JSC::Register::scope() const
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 4   0x100269c34 JSC::ExecState::scope() const
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 5   0x100263e14 JSC::ExecState::vm() const
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 6   0x10058cb0c getHostCallReturnValueWithExecState
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 7   0x1006c95e4 llint_op_call
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 8   0x10055d710 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 9   0x100330b1c JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, JSC::JSValue*)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 10  0x1024bf200 WebCore::JSMainThreadExecState::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, JSC::JSValue*)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 11  0x102cd3a7c WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld&amp;)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 12  0x102cd3bbc WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&amp;)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 13  0x102cec16c WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&amp;)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 14  0x10201f124 WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent(WebCore::PendingScript&amp;)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 15  0x10201ef8c WebCore::HTMLScriptRunner::executeParsingBlockingScript()
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 16  0x10201f770 WebCore::HTMLScriptRunner::executeParsingBlockingScripts()
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 17  0x10201f8a0 WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad(WebCore::CachedResource*)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 18  0x101f7a58c WebCore::HTMLDocumentParser::notifyFinished(WebCore::CachedResource*)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 19  0x101f7a60c non-virtual thunk to WebCore::HTMLDocumentParser::notifyFinished(WebCore::CachedResource*)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 20  0x10180b750 WebCore::CachedResource::checkNotify()
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 21  0x10180b854 WebCore::CachedResource::finishLoading(WebCore::ResourceBuffer*)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 22  0x1018240a0 WebCore::CachedScript::finishLoading(WebCore::ResourceBuffer*)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 23  0x102e3e250 WebCore::SubresourceLoader::didFinishLoading(double)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 24  0x102c85e44 WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*, double)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 25  0x102c7d7c8 WebCore::didFinishLoading(_CFURLConnection*, void const*)
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 26  0x181fd98c0 &lt;redacted&gt;
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 27  0x181fd5b38 &lt;redacted&gt;
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 28  0x182399f7c CFArrayApplyFunction
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 29  0x181f35214 &lt;redacted&gt;
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 30  0x181f35090 &lt;redacted&gt;
&gt; 2013-11-16 01:01:59 -0800 MobileSafari[797] &lt;Notice&gt; 31  0x181f34ecc &lt;redacted&gt;

This looks like the execState passed into getHostCallReturnValueWithExecState() is bad.  That execState comes from the inline assembly getHostCallReturnValue() in jit/JITOperations.cpp.   Send the ARM64 version of getHostCallReturnValue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951363</commentid>
    <comment_count>7</comment_count>
      <attachid>217115</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-11-16 09:20:44 -0800</bug_when>
    <thetext>Comment on attachment 217115
Patch

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

r- since we still appear to be crashing in function call code.

&gt; Source/JavaScriptCore/ChangeLog:11
&gt; +        Changed nonArgGPR0, nonArgGPR1 and nonArgGPR2 for X86 and X86_64 to not match up with
&gt; +        regT0-2.  Changing these registers will cause a crash on all ports should we have a
&gt; +        similar problem in the future.  Changed the DFG call generating code to use regT0 and
&gt; +        regT1.  Added r12 to X86_64 as a new temp register (regT9) and moved r13 down to regT10.

This says a lot about what you did, but not much about why.

For example, you didn&apos;t mention that x86_64 overlaps regT0 and nonArgGPR0, but ARM does not, which is why this crash only happens on ARM. You didn&apos;t explain why you added r12 (to facilitate non-overlapping registers on x86_64). You also didn&apos;t explain why you made the change to regT0/regT1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951401</commentid>
    <comment_count>8</comment_count>
      <attachid>217141</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2013-11-16 16:10:09 -0800</bug_when>
    <thetext>Created attachment 217141
diff against iOS merge tree</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951456</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-17 16:29:34 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=217141) [details]
&gt; diff against iOS merge tree

That all looks fine.  What I&apos;d like to see is the contents of the ARM64 section of inline assembly for getHostCallReturnValue() in jit/JITOperations.cpp.  I think that is the source of the latest crash and unrelated to this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951492</commentid>
    <comment_count>10</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2013-11-17 23:27:25 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; Created an attachment (id=217141) [details] [details]
&gt; &gt; diff against iOS merge tree
&gt; 
&gt; That all looks fine.  What I&apos;d like to see is the contents of the ARM64 section of inline assembly for getHostCallReturnValue() in jit/JITOperations.cpp.  I think that is the source of the latest crash and unrelated to this patch.

#elif CPU(ARM64)
asm (
&quot;.text&quot; &quot;\n&quot;
&quot;.align 2&quot; &quot;\n&quot;
&quot;.globl &quot; SYMBOL_STRING(getHostCallReturnValue) &quot;\n&quot;
HIDE_SYMBOL(getHostCallReturnValue) &quot;\n&quot;
SYMBOL_STRING(getHostCallReturnValue) &quot;:&quot; &quot;\n&quot;
    &quot;ldur x25, [x25, #-32]&quot; &quot;\n&quot;
     &quot;mov x0, x25&quot; &quot;\n&quot;
     &quot;b &quot; LOCAL_REFERENCE(getHostCallReturnValueWithExecState) &quot;\n&quot;
);

#elif COMPILER(GCC) &amp;&amp; CPU(MIPS)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951505</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-17 23:55:56 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; Created an attachment (id=217141) [details] [details] [details]
&gt; &gt; &gt; diff against iOS merge tree
&gt; &gt; 
&gt; &gt; That all looks fine.  What I&apos;d like to see is the contents of the ARM64 section of inline assembly for getHostCallReturnValue() in jit/JITOperations.cpp.  I think that is the source of the latest crash and unrelated to this patch.
&gt; 
&gt; #elif CPU(ARM64)
&gt; asm (
&gt; &quot;.text&quot; &quot;\n&quot;
&gt; &quot;.align 2&quot; &quot;\n&quot;
&gt; &quot;.globl &quot; SYMBOL_STRING(getHostCallReturnValue) &quot;\n&quot;
&gt; HIDE_SYMBOL(getHostCallReturnValue) &quot;\n&quot;
&gt; SYMBOL_STRING(getHostCallReturnValue) &quot;:&quot; &quot;\n&quot;
&gt;     &quot;ldur x25, [x25, #-32]&quot; &quot;\n&quot;

There is the problem.  The -32 should be 0.  Filed https://bugs.webkit.org/show_bug.cgi?id=124481 to track.

&gt;      &quot;mov x0, x25&quot; &quot;\n&quot;
&gt;      &quot;b &quot; LOCAL_REFERENCE(getHostCallReturnValueWithExecState) &quot;\n&quot;
&gt; );
&gt; 
&gt; #elif COMPILER(GCC) &amp;&amp; CPU(MIPS)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951593</commentid>
    <comment_count>12</comment_count>
      <attachid>217195</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-18 07:14:28 -0800</bug_when>
    <thetext>Created attachment 217195
Updated ChangeLog

Added bug description to ChangeLog and additional comments about regT0/RegT1 as well as the addition of r12 as a temp register.

The addition crash is addressed by https://bugs.webkit.org/show_bug.cgi?id=124481.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951628</commentid>
    <comment_count>13</comment_count>
      <attachid>217195</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-11-18 08:53:13 -0800</bug_when>
    <thetext>Comment on attachment 217195
Updated ChangeLog

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951642</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-18 09:54:54 -0800</bug_when>
    <thetext>Committed r159427: &lt;http://trac.webkit.org/changeset/159427&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952802</commentid>
    <comment_count>15</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2013-11-20 15:16:06 -0800</bug_when>
    <thetext>Some new test failures on Windows:

I filed a bug here: https://bugs.webkit.org/show_bug.cgi?id=124683</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217115</attachid>
            <date>2013-11-15 21:51:58 -0800</date>
            <delta_ts>2013-11-18 07:14:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>124447.patch</filename>
            <type>text/plain</type>
            <size>9539</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU5Mzc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDEzLTExLTE1ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENyYXNoIGluIHZpcnR1YWxGb3JUaHVua0dlbmVyYXRvciBnZW5lcmF0ZWQgY29kZSBvbiBB
Uk02NAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0
NDQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hh
bmdlZCBub25BcmdHUFIwLCBub25BcmdHUFIxIGFuZCBub25BcmdHUFIyIGZvciBYODYgYW5kIFg4
Nl82NCB0byBub3QgbWF0Y2ggdXAgd2l0aAorICAgICAgICByZWdUMC0yLiAgQ2hhbmdpbmcgdGhl
c2UgcmVnaXN0ZXJzIHdpbGwgY2F1c2UgYSBjcmFzaCBvbiBhbGwgcG9ydHMgc2hvdWxkIHdlIGhh
dmUgYQorICAgICAgICBzaW1pbGFyIHByb2JsZW0gaW4gdGhlIGZ1dHVyZS4gIENoYW5nZWQgdGhl
IERGRyBjYWxsIGdlbmVyYXRpbmcgY29kZSB0byB1c2UgcmVnVDAgYW5kCisgICAgICAgIHJlZ1Qx
LiAgQWRkZWQgcjEyIHRvIFg4Nl82NCBhcyBhIG5ldyB0ZW1wIHJlZ2lzdGVyIChyZWdUOSkgYW5k
IG1vdmVkIHIxMyBkb3duIHRvIHJlZ1QxMC4KKworICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdENh
bGwpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwpOgorICAgICAgICAqIGppdC9HUFJJbmZv
Lmg6CisgICAgICAgIChKU0M6OkdQUkluZm86OnRvUmVnaXN0ZXIpOgorICAgICAgICAoSlNDOjpH
UFJJbmZvOjp0b0luZGV4KToKKyAgICAgICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmNwcDoKKyAg
ICAgICAgKEpTQzo6dmlydHVhbEZvclRodW5rR2VuZXJhdG9yKToKKwogMjAxMy0xMS0xNSAgcGVh
dm9Ab3V0bG9vay5jb20gIDxwZWF2b0BvdXRsb29rLmNvbT4KIAogICAgICAgICBbV2luXSBKYXZh
U2NyaXB0IGNyYXNoZXMgb24gNjQtYml0IHdpdGggSklUIGVuYWJsZWQuCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJ
KHJldmlzaW9uIDE1OTM3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwMSwxNiArNzAxLDE3IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUKIAogICAgIHNsb3dQYXRoLmxp
bmsoJm1faml0KTsKIAotICAgIGlmIChjYWxsZWVUYWdHUFIgPT0gR1BSSW5mbzo6bm9uQXJnR1BS
MCkgewotICAgICAgICBpZiAoY2FsbGVlUGF5bG9hZEdQUiA9PSBHUFJJbmZvOjpub25BcmdHUFIx
KQotICAgICAgICAgICAgbV9qaXQuc3dhcChHUFJJbmZvOjpub25BcmdHUFIxLCBHUFJJbmZvOjpu
b25BcmdHUFIwKTsKKyAgICAvLyBDYWxsZWUgcGF5bG9hZCBuZWVkcyB0byBiZSBpbiByZWdUMCwg
dGFnIGluIHJlZ1QxCisgICAgaWYgKGNhbGxlZVRhZ0dQUiA9PSBHUFJJbmZvOjpyZWdUMCkgewor
ICAgICAgICBpZiAoY2FsbGVlUGF5bG9hZEdQUiA9PSBHUFJJbmZvOjpyZWdUMSkKKyAgICAgICAg
ICAgIG1faml0LnN3YXAoR1BSSW5mbzo6cmVnVDEsIEdQUkluZm86OnJlZ1QwKTsKICAgICAgICAg
ZWxzZSB7Ci0gICAgICAgICAgICBtX2ppdC5tb3ZlKGNhbGxlZVRhZ0dQUiwgR1BSSW5mbzo6bm9u
QXJnR1BSMSk7Ci0gICAgICAgICAgICBtX2ppdC5tb3ZlKGNhbGxlZVBheWxvYWRHUFIsIEdQUklu
Zm86Om5vbkFyZ0dQUjApOworICAgICAgICAgICAgbV9qaXQubW92ZShjYWxsZWVUYWdHUFIsIEdQ
UkluZm86OnJlZ1QxKTsKKyAgICAgICAgICAgIG1faml0Lm1vdmUoY2FsbGVlUGF5bG9hZEdQUiwg
R1BSSW5mbzo6cmVnVDApOwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKLSAgICAgICAgbV9qaXQu
bW92ZShjYWxsZWVQYXlsb2FkR1BSLCBHUFJJbmZvOjpub25BcmdHUFIwKTsKLSAgICAgICAgbV9q
aXQubW92ZShjYWxsZWVUYWdHUFIsIEdQUkluZm86Om5vbkFyZ0dQUjEpOworICAgICAgICBtX2pp
dC5tb3ZlKGNhbGxlZVBheWxvYWRHUFIsIEdQUkluZm86OnJlZ1QwKTsKKyAgICAgICAgbV9qaXQu
bW92ZShjYWxsZWVUYWdHUFIsIEdQUkluZm86OnJlZ1QxKTsKICAgICB9CiAgICAgSklUQ29tcGls
ZXI6OkNhbGwgc2xvd0NhbGwgPSBtX2ppdC5uZWFyQ2FsbCgpOwogCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9u
IDE1OTM3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyMyw3ICs3MjMsNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjplbWl0Q2FsbChOb2RlKiBub2RlCiAgICAgCiAgICAgc2xvd1BhdGgubGluaygmbV9qaXQp
OwogICAgIAotICAgIG1faml0Lm1vdmUoY2FsbGVlR1BSLCBHUFJJbmZvOjpub25BcmdHUFIwKTsK
KyAgICBtX2ppdC5tb3ZlKGNhbGxlZUdQUiwgR1BSSW5mbzo6cmVnVDApOyAvLyBDYWxsZWUgbmVl
ZHMgdG8gYmUgaW4gcmVnVDAKICAgICBKSVRDb21waWxlcjo6Q2FsbCBzbG93Q2FsbCA9IG1faml0
Lm5lYXJDYWxsKCk7CiAgICAgCiAgICAgZG9uZS5saW5rKCZtX2ppdCk7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0dQUkluZm8uaAkocmV2aXNpb24gMTU5Mzc2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwNSw5ICszMDUsOSBA
QCBwdWJsaWM6CiAgICAgLy8gVGhlc2UgY29uc3RhbnRzIHByb3ZpZGUgdGhlIG5hbWVzIGZvciB0
aGUgZ2VuZXJhbCBwdXJwb3NlIGFyZ3VtZW50ICYgcmV0dXJuIHZhbHVlIHJlZ2lzdGVycy4KICAg
ICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMCA9IFg4NlJlZ2lzdGVyczo6ZWN4OyAv
LyByZWdUMgogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgYXJndW1lbnRHUFIxID0gWDg2UmVnaXN0
ZXJzOjplZHg7IC8vIHJlZ1QxCi0gICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdHUFIwID0g
WDg2UmVnaXN0ZXJzOjplYXg7IC8vIHJlZ1QwCi0gICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25B
cmdHUFIxID0gWDg2UmVnaXN0ZXJzOjplYng7IC8vIHJlZ1QzCi0gICAgc3RhdGljIGNvbnN0IEdQ
UlJlZyBub25BcmdHUFIyID0gWDg2UmVnaXN0ZXJzOjplc2k7IC8vIHJlZ1Q0CisgICAgc3RhdGlj
IGNvbnN0IEdQUlJlZyBub25BcmdHUFIwID0gWDg2UmVnaXN0ZXJzOjplc2k7IC8vIHJlZ1Q0Cisg
ICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdHUFIxID0gWDg2UmVnaXN0ZXJzOjplYXg7IC8v
IHJlZ1QwCisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdHUFIyID0gWDg2UmVnaXN0ZXJz
OjplYng7IC8vIHJlZ1QzCiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZXR1cm5WYWx1ZUdQUiA9
IFg4NlJlZ2lzdGVyczo6ZWF4OyAvLyByZWdUMAogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmV0
dXJuVmFsdWVHUFIyID0gWDg2UmVnaXN0ZXJzOjplZHg7IC8vIHJlZ1QxCiAgICAgc3RhdGljIGNv
bnN0IEdQUlJlZyBub25QcmVzZXJ2ZWROb25SZXR1cm5HUFIgPSBYODZSZWdpc3RlcnM6OmVjeDsK
QEAgLTM1NSw3ICszNTUsNyBAQCBwdWJsaWM6CiBjbGFzcyBHUFJJbmZvIHsKIHB1YmxpYzoKICAg
ICB0eXBlZGVmIEdQUlJlZyBSZWdpc3RlclR5cGU7Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IG51bWJlck9mUmVnaXN0ZXJzID0gMTA7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bWJl
ck9mUmVnaXN0ZXJzID0gMTE7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bWJlck9mQXJn
dW1lbnRSZWdpc3RlcnMgPSBOVU1CRVJfT0ZfQVJHVU1FTlRfUkVHSVNURVJTOwogCiAgICAgLy8g
Tm90ZTogcmVnVDMgaXMgcmVxdWlyZWQgdG8gYmUgY2FsbGVlLXByZXNlcnZlZC4KQEAgLTM3NSw3
ICszNzUsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNiA9IFg4NlJl
Z2lzdGVyczo6cjg7CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNyA9IFg4NlJlZ2lzdGVy
czo6cjk7CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUOCA9IFg4NlJlZ2lzdGVyczo6cjEw
OwotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDkgPSBYODZSZWdpc3RlcnM6OnIxMzsKKyAg
ICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q5ID0gWDg2UmVnaXN0ZXJzOjpyMTI7CisgICAgc3Rh
dGljIGNvbnN0IEdQUlJlZyByZWdUMTAgPSBYODZSZWdpc3RlcnM6OnIxMzsKICAgICAvLyBUaGVz
ZSBjb25zdGFudHMgcHJvdmlkZSB0aGUgbmFtZXMgZm9yIHRoZSBnZW5lcmFsIHB1cnBvc2UgYXJn
dW1lbnQgJiByZXR1cm4gdmFsdWUgcmVnaXN0ZXJzLgogI2lmICFPUyhXSU5ET1dTKQogICAgIHN0
YXRpYyBjb25zdCBHUFJSZWcgYXJndW1lbnRHUFIwID0gWDg2UmVnaXN0ZXJzOjplZGk7IC8vIHJl
Z1Q0CkBAIC0zOTAsOSArMzkxLDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcg
YXJndW1lbnRHUFIyID0gWDg2UmVnaXN0ZXJzOjpyODsgLy8gcmVnVDYKICAgICBzdGF0aWMgY29u
c3QgR1BSUmVnIGFyZ3VtZW50R1BSMyA9IFg4NlJlZ2lzdGVyczo6cjk7IC8vIHJlZ1Q3CiAjZW5k
aWYKLSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vbkFyZ0dQUjAgPSBYODZSZWdpc3RlcnM6OmVh
eDsgLy8gcmVnVDAKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vbkFyZ0dQUjAgPSBYODZSZWdp
c3RlcnM6OnIxMDsgLy8gcmVnVDgKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vbkFyZ0dQUjEg
PSBYODZSZWdpc3RlcnM6OmVieDsgLy8gcmVnVDMKLSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5v
bkFyZ0dQUjIgPSBYODZSZWdpc3RlcnM6OnIxMDsgLy8gcmVnVDgKKyAgICBzdGF0aWMgY29uc3Qg
R1BSUmVnIG5vbkFyZ0dQUjIgPSBYODZSZWdpc3RlcnM6OnIxMjsgLy8gcmVnVDkKICAgICBzdGF0
aWMgY29uc3QgR1BSUmVnIHJldHVyblZhbHVlR1BSID0gWDg2UmVnaXN0ZXJzOjplYXg7IC8vIHJl
Z1QwCiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZXR1cm5WYWx1ZUdQUjIgPSBYODZSZWdpc3Rl
cnM6OmVkeDsgLy8gcmVnVDEKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vblByZXNlcnZlZE5v
blJldHVybkdQUiA9IFg4NlJlZ2lzdGVyczo6ZXNpOwpAQCAtNDAwLDcgKzQwMSw3IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgR1BSUmVnIHRvUmVnaXN0ZXIodW5zaWduZWQgaW5kZXgpCiAgICAgewog
ICAgICAgICBBU1NFUlQoaW5kZXggPCBudW1iZXJPZlJlZ2lzdGVycyk7Ci0gICAgICAgIHN0YXRp
YyBjb25zdCBHUFJSZWcgcmVnaXN0ZXJGb3JJbmRleFtudW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJl
Z1QwLCByZWdUMSwgcmVnVDIsIHJlZ1QzLCByZWdUNCwgcmVnVDUsIHJlZ1Q2LCByZWdUNywgcmVn
VDgsIHJlZ1Q5IH07CisgICAgICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnaXN0ZXJGb3JJbmRl
eFtudW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJlZ1QwLCByZWdUMSwgcmVnVDIsIHJlZ1QzLCByZWdU
NCwgcmVnVDUsIHJlZ1Q2LCByZWdUNywgcmVnVDgsIHJlZ1Q5LCByZWdUMTAgfTsKICAgICAgICAg
cmV0dXJuIHJlZ2lzdGVyRm9ySW5kZXhbaW5kZXhdOwogICAgIH0KICAgICAKQEAgLTQxOSw3ICs0
MjAsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBBU1NFUlQocmVnICE9IEludmFsaWRHUFJS
ZWcpOwogICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8aW50PihyZWcpIDwgMTYpOwotICAgICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5kZXhGb3JSZWdpc3RlclsxNl0gPSB7IDAsIDIsIDEs
IDMsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCA1LCA0LCA2LCA3LCA4LCBJbnZhbGlkSW5k
ZXgsIEludmFsaWRJbmRleCwgOSwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyAgICAg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0ZXJbMTZdID0geyAwLCAyLCAx
LCAzLCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgNSwgNCwgNiwgNywgOCwgSW52YWxpZElu
ZGV4LCA5LCAxMCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKICAgICAgICAgcmV0dXJu
IGluZGV4Rm9yUmVnaXN0ZXJbcmVnXTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAJKHJldmlzaW9uIDE1OTM3NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTQ3LDYgKzE0Nyw3IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBsaW5rQ2xvc3VyZUNh
bGxUaHUKIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdmlydHVhbEZvclRodW5rR2VuZXJh
dG9yKAogICAgIFZNKiB2bSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQogeworICAgIC8v
IFRoZSBjYWxsZWUgaXMgaW4gcmVnVDAgKGZvciBKU1ZBTFVFMzJfNjQsIHRoZSB0YWcgaXMgaW4g
cmVnVDEpLgogICAgIC8vIFRoZSByZXR1cm4gYWRkcmVzcyBpcyBvbiB0aGUgc3RhY2ssIG9yIGlu
IHRoZSBsaW5rIHJlZ2lzdGVyLiBXZSB3aWxsIGhlbmNlCiAgICAgLy8ganVtcCB0byB0aGUgY2Fs
bGVlLCBvciBzYXZlIHRoZSByZXR1cm4gYWRkcmVzcyB0byB0aGUgY2FsbCBmcmFtZSB3aGlsZSB3
ZQogICAgIC8vIG1ha2UgYSBDKysgZnVuY3Rpb24gY2FsbCB0byB0aGUgYXBwcm9wcmlhdGUgSklU
IG9wZXJhdGlvbi4KQEAgLTE2MSwxNCArMTYyLDE0IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNv
ZGVSZWYgdmlydHVhbEZvclQKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIHNsb3dDYXNlLmFwcGVu
ZCgKICAgICAgICAgaml0LmJyYW5jaFRlc3Q2NCgKLSAgICAgICAgICAgIENDYWxsSGVscGVyczo6
Tm9uWmVybywgR1BSSW5mbzo6bm9uQXJnR1BSMCwgR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyKSk7
CisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vblplcm8sIEdQUkluZm86OnJlZ1QwLCBHUFJJ
bmZvOjp0YWdNYXNrUmVnaXN0ZXIpKTsKICNlbHNlCiAgICAgc2xvd0Nhc2UuYXBwZW5kKAogICAg
ICAgICBqaXQuYnJhbmNoMzIoCi0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBH
UFJJbmZvOjpub25BcmdHUFIxLAorICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwg
R1BSSW5mbzo6cmVnVDEsCiAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihK
U1ZhbHVlOjpDZWxsVGFnKSkpOwogI2VuZGlmCi0gICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJz
OjpBZGRyZXNzKEdQUkluZm86Om5vbkFyZ0dQUjAsIEpTQ2VsbDo6c3RydWN0dXJlT2Zmc2V0KCkp
LCBHUFJJbmZvOjpub25BcmdHUFIyKTsKKyAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MoR1BSSW5mbzo6cmVnVDAsIEpTQ2VsbDo6c3RydWN0dXJlT2Zmc2V0KCkpLCBHUFJJbmZv
Ojpub25BcmdHUFIyKTsKICAgICBzbG93Q2FzZS5hcHBlbmQoCiAgICAgICAgIGppdC5icmFuY2hQ
dHIoCiAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLApAQCAtMTc4LDcgKzE3OSw3
IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdmlydHVhbEZvclQKICAgICAvLyBOb3cg
d2Uga25vdyB3ZSBoYXZlIGEgSlNGdW5jdGlvbi4KICAgICAKICAgICBqaXQubG9hZFB0cigKLSAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86Om5vbkFyZ0dQUjAsIEpTRnVuY3Rp
b246Om9mZnNldE9mRXhlY3V0YWJsZSgpKSwKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNz
KEdQUkluZm86OnJlZ1QwLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZkV4ZWN1dGFibGUoKSksCiAgICAg
ICAgIEdQUkluZm86Om5vbkFyZ0dQUjIpOwogICAgIHNsb3dDYXNlLmFwcGVuZCgKICAgICAgICAg
aml0LmJyYW5jaDMyKApAQCAtMTkxLDE3ICsxOTIsMTcgQEAgc3RhdGljIE1hY3JvQXNzZW1ibGVy
Q29kZVJlZiB2aXJ0dWFsRm9yVAogICAgIC8vIGNhbGwuCiAgICAgCiAgICAgaml0LmxvYWRQdHIo
Ci0gICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpub25BcmdHUFIwLCBKU0Z1
bmN0aW9uOjpvZmZzZXRPZlNjb3BlQ2hhaW4oKSksCi0gICAgICAgIEdQUkluZm86Om5vbkFyZ0dQ
UjEpOworICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6cmVnVDAsIEpTRnVu
Y3Rpb246Om9mZnNldE9mU2NvcGVDaGFpbigpKSwKKyAgICAgICAgR1BSSW5mbzo6cmVnVDEpOwog
I2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgaml0LnN0b3JlNjQoCi0gICAgICAgIEdQUkluZm86Om5v
bkFyZ0dQUjEsCisgICAgICAgIEdQUkluZm86OnJlZ1QxLAogICAgICAgICBDQ2FsbEhlbHBlcnM6
OkFkZHJlc3MoCiAgICAgICAgICAgICBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwKICAgICAg
ICAgICAgIHN0YXRpY19jYXN0PHB0cmRpZmZfdD4oc2l6ZW9mKFJlZ2lzdGVyKSkgKiBKU1N0YWNr
OjpTY29wZUNoYWluKSk7CiAjZWxzZQogICAgIGppdC5zdG9yZVB0cigKLSAgICAgICAgR1BSSW5m
bzo6bm9uQXJnR1BSMSwKKyAgICAgICAgR1BSSW5mbzo6cmVnVDEsCiAgICAgICAgIENDYWxsSGVs
cGVyczo6QWRkcmVzcygKICAgICAgICAgICAgIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLAog
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8cHRyZGlmZl90PihzaXplb2YoUmVnaXN0ZXIpKSAqIEpT
U3RhY2s6OlNjb3BlQ2hhaW4gKwo=
</data>
<flag name="review"
          id="240195"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217141</attachid>
            <date>2013-11-16 16:10:09 -0800</date>
            <delta_ts>2013-11-16 16:10:09 -0800</delta_ts>
            <desc>diff against iOS merge tree</desc>
            <filename>bug-124447-20131116161008.patch</filename>
            <type>text/plain</type>
            <size>9996</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NDU4NgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZGU2ZjUxOTQ4MzhlZWQ0MzBmNzEzODZkMTEzODc2YTQ2Y2E0YmQwOC4uYWNhYzE3N2RhYTY0NWQ0
NzU5Mjk1N2NlMWQ1OTgzMWYzZjZkNjI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjUgQEAKKzIwMTMtMTEtMTUgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5j
b20+CisKKyAgICAgICAgQ3Jhc2ggaW4gdmlydHVhbEZvclRodW5rR2VuZXJhdG9yIGdlbmVyYXRl
ZCBjb2RlIG9uIEFSTTY0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjQ0NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDaGFuZ2VkIG5vbkFyZ0dQUjAsIG5vbkFyZ0dQUjEgYW5kIG5vbkFyZ0dQUjIgZm9y
IFg4NiBhbmQgWDg2XzY0IHRvIG5vdCBtYXRjaCB1cCB3aXRoCisgICAgICAgIHJlZ1QwLTIuICBD
aGFuZ2luZyB0aGVzZSByZWdpc3RlcnMgd2lsbCBjYXVzZSBhIGNyYXNoIG9uIGFsbCBwb3J0cyBz
aG91bGQgd2UgaGF2ZSBhCisgICAgICAgIHNpbWlsYXIgcHJvYmxlbSBpbiB0aGUgZnV0dXJlLiAg
Q2hhbmdlZCB0aGUgREZHIGNhbGwgZ2VuZXJhdGluZyBjb2RlIHRvIHVzZSByZWdUMCBhbmQKKyAg
ICAgICAgcmVnVDEuICBBZGRlZCByMTIgdG8gWDg2XzY0IGFzIGEgbmV3IHRlbXAgcmVnaXN0ZXIg
KHJlZ1Q5KSBhbmQgbW92ZWQgcjEzIGRvd24gdG8gcmVnVDEwLgorCisgICAgICAgICogZGZnL0RG
R1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjplbWl0Q2FsbCk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjplbWl0Q2FsbCk6CisgICAgICAgICog
aml0L0dQUkluZm8uaDoKKyAgICAgICAgKEpTQzo6R1BSSW5mbzo6dG9SZWdpc3Rlcik6CisgICAg
ICAgIChKU0M6OkdQUkluZm86OnRvSW5kZXgpOgorICAgICAgICAqIGppdC9UaHVua0dlbmVyYXRv
cnMuY3BwOgorICAgICAgICAoSlNDOjp2aXJ0dWFsRm9yVGh1bmtHZW5lcmF0b3IpOgorCiAyMDEz
LTExLTEzICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhl
IEFSTTY0IGJ1aWxkIGFmdGVyIHJlY2VudCBKYXZhU2NyaXB0Q29yZSBjaGFuZ2VzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApp
bmRleCAwOTllMzFlZjNjMDY3N2IyZjI2YmJiZGI2M2I4YmRjZWQzNmFmN2ViLi45Y2U3ZTYxZjU0
NTIzOTFiMTcxMzE2MmZmYTg5Y2QyMGE0NjE2NTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTcwMSwxNiArNzAx
LDE3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUpCiAKICAgICBz
bG93UGF0aC5saW5rKCZtX2ppdCk7CiAKLSAgICBpZiAoY2FsbGVlVGFnR1BSID09IEdQUkluZm86
Om5vbkFyZ0dQUjApIHsKLSAgICAgICAgaWYgKGNhbGxlZVBheWxvYWRHUFIgPT0gR1BSSW5mbzo6
bm9uQXJnR1BSMSkKLSAgICAgICAgICAgIG1faml0LnN3YXAoR1BSSW5mbzo6bm9uQXJnR1BSMSwg
R1BSSW5mbzo6bm9uQXJnR1BSMCk7CisgICAgLy8gQ2FsbGVlIHBheWxvYWQgbmVlZHMgdG8gYmUg
aW4gcmVnVDAsIHRhZyBpbiByZWdUMQorICAgIGlmIChjYWxsZWVUYWdHUFIgPT0gR1BSSW5mbzo6
cmVnVDApIHsKKyAgICAgICAgaWYgKGNhbGxlZVBheWxvYWRHUFIgPT0gR1BSSW5mbzo6cmVnVDEp
CisgICAgICAgICAgICBtX2ppdC5zd2FwKEdQUkluZm86OnJlZ1QxLCBHUFJJbmZvOjpyZWdUMCk7
CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgbV9qaXQubW92ZShjYWxsZWVUYWdHUFIsIEdQ
UkluZm86Om5vbkFyZ0dQUjEpOwotICAgICAgICAgICAgbV9qaXQubW92ZShjYWxsZWVQYXlsb2Fk
R1BSLCBHUFJJbmZvOjpub25BcmdHUFIwKTsKKyAgICAgICAgICAgIG1faml0Lm1vdmUoY2FsbGVl
VGFnR1BSLCBHUFJJbmZvOjpyZWdUMSk7CisgICAgICAgICAgICBtX2ppdC5tb3ZlKGNhbGxlZVBh
eWxvYWRHUFIsIEdQUkluZm86OnJlZ1QwKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7Ci0gICAg
ICAgIG1faml0Lm1vdmUoY2FsbGVlUGF5bG9hZEdQUiwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7Ci0g
ICAgICAgIG1faml0Lm1vdmUoY2FsbGVlVGFnR1BSLCBHUFJJbmZvOjpub25BcmdHUFIxKTsKKyAg
ICAgICAgbV9qaXQubW92ZShjYWxsZWVQYXlsb2FkR1BSLCBHUFJJbmZvOjpyZWdUMCk7CisgICAg
ICAgIG1faml0Lm1vdmUoY2FsbGVlVGFnR1BSLCBHUFJJbmZvOjpyZWdUMSk7CiAgICAgfQogICAg
IEpJVENvbXBpbGVyOjpDYWxsIHNsb3dDYWxsID0gbV9qaXQubmVhckNhbGwoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXgg
ZmY0OTFmN2Q5OTY0Y2I2ZDNiZWRmODJiMzYzMGFjNTc4NjAxMjY5Ny4uOTZmNzUwNjM3MzhhMzY1
MDRjNDczNTRjY2U2ZWM0OTVlNWUyMTgyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC03MjAsNyArNzIwLDcgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwoTm9kZSogbm9kZSkKICAgICAKICAgICBzbG93UGF0aC5s
aW5rKCZtX2ppdCk7CiAgICAgCi0gICAgbV9qaXQubW92ZShjYWxsZWVHUFIsIEdQUkluZm86Om5v
bkFyZ0dQUjApOworICAgIG1faml0Lm1vdmUoY2FsbGVlR1BSLCBHUFJJbmZvOjpyZWdUMCk7IC8v
IENhbGxlZSBuZWVkcyB0byBiZSBpbiByZWdUMAogICAgIEpJVENvbXBpbGVyOjpDYWxsIHNsb3dD
YWxsID0gbV9qaXQubmVhckNhbGwoKTsKICAgICAKICAgICBkb25lLmxpbmsoJm1faml0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKaW5kZXggODJjMzRjMmY4YWJkNTljOWNmMzMzY2U2
NWZhNDA0ZTQ5ZWY2MTk2MS4uM2FjMjJmMDBiYWU2OWYxZWFkNjQwNTFiOGQ5NmVhMmIwMzAwZDgx
OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKQEAgLTMwMCw5ICszMDAsOSBAQCBw
dWJsaWM6CiAgICAgLy8gVGhlc2UgY29uc3RhbnRzIHByb3ZpZGUgdGhlIG5hbWVzIGZvciB0aGUg
Z2VuZXJhbCBwdXJwb3NlIGFyZ3VtZW50ICYgcmV0dXJuIHZhbHVlIHJlZ2lzdGVycy4KICAgICBz
dGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMCA9IFg4NlJlZ2lzdGVyczo6ZWN4OyAvLyBy
ZWdUMgogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgYXJndW1lbnRHUFIxID0gWDg2UmVnaXN0ZXJz
OjplZHg7IC8vIHJlZ1QxCi0gICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdHUFIwID0gWDg2
UmVnaXN0ZXJzOjplYXg7IC8vIHJlZ1QwCi0gICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdH
UFIxID0gWDg2UmVnaXN0ZXJzOjplYng7IC8vIHJlZ1QzCi0gICAgc3RhdGljIGNvbnN0IEdQUlJl
ZyBub25BcmdHUFIyID0gWDg2UmVnaXN0ZXJzOjplc2k7IC8vIHJlZ1Q0CisgICAgc3RhdGljIGNv
bnN0IEdQUlJlZyBub25BcmdHUFIwID0gWDg2UmVnaXN0ZXJzOjplc2k7IC8vIHJlZ1Q0CisgICAg
c3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdHUFIxID0gWDg2UmVnaXN0ZXJzOjplYXg7IC8vIHJl
Z1QwCisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdHUFIyID0gWDg2UmVnaXN0ZXJzOjpl
Yng7IC8vIHJlZ1QzCiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZXR1cm5WYWx1ZUdQUiA9IFg4
NlJlZ2lzdGVyczo6ZWF4OyAvLyByZWdUMAogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmV0dXJu
VmFsdWVHUFIyID0gWDg2UmVnaXN0ZXJzOjplZHg7IC8vIHJlZ1QxCiAgICAgc3RhdGljIGNvbnN0
IEdQUlJlZyBub25QcmVzZXJ2ZWROb25SZXR1cm5HUFIgPSBYODZSZWdpc3RlcnM6OmVjeDsKQEAg
LTM0Nyw3ICszNDcsNyBAQCBwcml2YXRlOgogY2xhc3MgR1BSSW5mbyB7CiBwdWJsaWM6CiAgICAg
dHlwZWRlZiBHUFJSZWcgUmVnaXN0ZXJUeXBlOwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBu
dW1iZXJPZlJlZ2lzdGVycyA9IDk7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bWJlck9m
UmVnaXN0ZXJzID0gMTA7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bWJlck9mQXJndW1l
bnRSZWdpc3RlcnMgPSBOVU1CRVJfT0ZfQVJHVU1FTlRfUkVHSVNURVJTOwogCiAgICAgLy8gVGhl
c2UgcmVnaXN0ZXJzIG1hdGNoIHRoZSBiYXNlbGluZSBKSVQuCkBAIC0zNjUsNiArMzY1LDcgQEAg
cHVibGljOgogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDYgPSBYODZSZWdpc3RlcnM6OnI4
OwogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDcgPSBYODZSZWdpc3RlcnM6OnI5OwogICAg
IHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDggPSBYODZSZWdpc3RlcnM6OnIxMDsKKyAgICBzdGF0
aWMgY29uc3QgR1BSUmVnIHJlZ1Q5ID0gWDg2UmVnaXN0ZXJzOjpyMTI7CiAgICAgLy8gVGhlc2Ug
Y29uc3RhbnRzIHByb3ZpZGUgdGhlIG5hbWVzIGZvciB0aGUgZ2VuZXJhbCBwdXJwb3NlIGFyZ3Vt
ZW50ICYgcmV0dXJuIHZhbHVlIHJlZ2lzdGVycy4KICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFy
Z3VtZW50R1BSMCA9IFg4NlJlZ2lzdGVyczo6ZWRpOyAvLyByZWdUNAogICAgIHN0YXRpYyBjb25z
dCBHUFJSZWcgYXJndW1lbnRHUFIxID0gWDg2UmVnaXN0ZXJzOjplc2k7IC8vIHJlZ1Q1CkBAIC0z
NzIsOSArMzczLDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgYXJndW1lbnRH
UFIzID0gWDg2UmVnaXN0ZXJzOjplY3g7IC8vIHJlZ1QyCiAgICAgc3RhdGljIGNvbnN0IEdQUlJl
ZyBhcmd1bWVudEdQUjQgPSBYODZSZWdpc3RlcnM6OnI4OyAgLy8gcmVnVDYKICAgICBzdGF0aWMg
Y29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSNSA9IFg4NlJlZ2lzdGVyczo6cjk7ICAvLyByZWdUNwot
ICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJnR1BSMCA9IFg4NlJlZ2lzdGVyczo6ZWF4OyAv
LyByZWdUMAorICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJnR1BSMCA9IFg4NlJlZ2lzdGVy
czo6cjEwOyAvLyByZWdUOAogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJnR1BSMSA9IFg4
NlJlZ2lzdGVyczo6ZWJ4OyAvLyByZWdUMwotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJn
R1BSMiA9IFg4NlJlZ2lzdGVyczo6cjEwOyAvLyByZWdUOAorICAgIHN0YXRpYyBjb25zdCBHUFJS
ZWcgbm9uQXJnR1BSMiA9IFg4NlJlZ2lzdGVyczo6cjEyOyAvLyByZWdUOQogICAgIHN0YXRpYyBj
b25zdCBHUFJSZWcgcmV0dXJuVmFsdWVHUFIgPSBYODZSZWdpc3RlcnM6OmVheDsgLy8gcmVnVDAK
ICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJldHVyblZhbHVlR1BSMiA9IFg4NlJlZ2lzdGVyczo6
ZWR4OyAvLyByZWdUMQogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uUHJlc2VydmVkTm9uUmV0
dXJuR1BSID0gWDg2UmVnaXN0ZXJzOjplc2k7CkBAIC0zODIsNyArMzgzLDcgQEAgcHVibGljOgog
ICAgIHN0YXRpYyBHUFJSZWcgdG9SZWdpc3Rlcih1bnNpZ25lZCBpbmRleCkKICAgICB7CiAgICAg
ICAgIEFTU0VSVChpbmRleCA8IG51bWJlck9mUmVnaXN0ZXJzKTsKLSAgICAgICAgc3RhdGljIGNv
bnN0IEdQUlJlZyByZWdpc3RlckZvckluZGV4W251bWJlck9mUmVnaXN0ZXJzXSA9IHsgcmVnVDAs
IHJlZ1QxLCByZWdUMiwgcmVnVDMsIHJlZ1Q0LCByZWdUNSwgcmVnVDYsIHJlZ1Q3LCByZWdUOCB9
OworICAgICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ2lzdGVyRm9ySW5kZXhbbnVtYmVyT2ZS
ZWdpc3RlcnNdID0geyByZWdUMCwgcmVnVDEsIHJlZ1QyLCByZWdUMywgcmVnVDQsIHJlZ1Q1LCBy
ZWdUNiwgcmVnVDcsIHJlZ1Q4LCByZWdUOSB9OwogICAgICAgICByZXR1cm4gcmVnaXN0ZXJGb3JJ
bmRleFtpbmRleF07CiAgICAgfQogICAgIApAQCAtMzk3LDggKzM5OCw4IEBAIHB1YmxpYzoKICAg
ICB7CiAgICAgICAgIEFTU0VSVChyZWcgIT0gSW52YWxpZEdQUlJlZyk7CiAgICAgICAgIEFTU0VS
VChzdGF0aWNfY2FzdDxpbnQ+KHJlZykgPCAxNik7Ci0gICAgICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBpbmRleEZvclJlZ2lzdGVyWzE2XSA9IHsgMCwgMiwgMSwgMywgSW52YWxpZEluZGV4LCBJ
bnZhbGlkSW5kZXgsIDUsIDQsIDYsIDcsIDgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJ
bnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4IH07Ci0gICAgICAgIHVuc2ln
bmVkIHJlc3VsdCA9IGluZGV4Rm9yUmVnaXN0ZXJbcmVnXTsKKyAgICAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0ZXJbMTZdID0geyAwLCAyLCAxLCAzLCBJbnZhbGlkSW5k
ZXgsIEludmFsaWRJbmRleCwgNSwgNCwgNiwgNywgOCwgSW52YWxpZEluZGV4LCA5LCBJbnZhbGlk
SW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4IH07CisgICAgICAgIHJldHVybiBpbmRl
eEZvclJlZ2lzdGVyW3JlZ107CiAgICAgICAgIEFTU0VSVChyZXN1bHQgIT0gSW52YWxpZEluZGV4
KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAKaW5kZXggNjlmNjliYmE5Yjk2N2ViNDI3YzViYzU2
Mjc5NzA5MWY5YWZlNzFmYi4uMzg0YTRhYzdhYzNiNTc5NDE2ODY5NDAxMmFlOTU5MmNlNzFiNDMx
OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcApA
QCAtMTUyLDYgKzE1Miw3IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBsaW5rQ2xvc3VyZUNhbGxU
aHVua0dlbmVyYXRvcihWTSogdm0pCiBzdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHZpcnR1
YWxGb3JUaHVua0dlbmVyYXRvcigKICAgICBWTSogdm0sIENvZGVTcGVjaWFsaXphdGlvbktpbmQg
a2luZCkKIHsKKyAgICAvLyBUaGUgY2FsbGVlIGlzIGluIHJlZ1QwIChmb3IgSlNWQUxVRTMyXzY0
LCB0aGUgdGFnIGlzIGluIHJlZ1QxKS4KICAgICAvLyBUaGUgcmV0dXJuIGFkZHJlc3MgaXMgb24g
dGhlIHN0YWNrLCBvciBpbiB0aGUgbGluayByZWdpc3Rlci4gV2Ugd2lsbCBoZW5jZQogICAgIC8v
IGp1bXAgdG8gdGhlIGNhbGxlZSwgb3Igc2F2ZSB0aGUgcmV0dXJuIGFkZHJlc3MgdG8gdGhlIGNh
bGwgZnJhbWUgd2hpbGUgd2UKICAgICAvLyBtYWtlIGEgQysrIGZ1bmN0aW9uIGNhbGwgdG8gdGhl
IGFwcHJvcHJpYXRlIEpJVCBvcGVyYXRpb24uCkBAIC0xNjYsMTQgKzE2NywxNCBAQCBzdGF0aWMg
TWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHZpcnR1YWxGb3JUaHVua0dlbmVyYXRvcigKICNpZiBVU0Uo
SlNWQUxVRTY0KQogICAgIHNsb3dDYXNlLmFwcGVuZCgKICAgICAgICAgaml0LmJyYW5jaFRlc3Q2
NCgKLSAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm9uWmVybywgR1BSSW5mbzo6bm9uQXJnR1BS
MCwgR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyKSk7CisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
Ok5vblplcm8sIEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjp0YWdNYXNrUmVnaXN0ZXIpKTsKICNl
bHNlCiAgICAgc2xvd0Nhc2UuYXBwZW5kKAogICAgICAgICBqaXQuYnJhbmNoMzIoCi0gICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBHUFJJbmZvOjpub25BcmdHUFIxLAorICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwgR1BSSW5mbzo6cmVnVDEsCiAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihKU1ZhbHVlOjpDZWxsVGFnKSkpOwogI2VuZGlm
Ci0gICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86Om5vbkFyZ0dQ
UjAsIEpTQ2VsbDo6c3RydWN0dXJlT2Zmc2V0KCkpLCBHUFJJbmZvOjpub25BcmdHUFIyKTsKKyAg
ICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6cmVnVDAsIEpTQ2Vs
bDo6c3RydWN0dXJlT2Zmc2V0KCkpLCBHUFJJbmZvOjpub25BcmdHUFIyKTsKICAgICBzbG93Q2Fz
ZS5hcHBlbmQoCiAgICAgICAgIGppdC5icmFuY2hQdHIoCiAgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6Ok5vdEVxdWFsLApAQCAtMTgzLDcgKzE4NCw3IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNv
ZGVSZWYgdmlydHVhbEZvclRodW5rR2VuZXJhdG9yKAogICAgIC8vIE5vdyB3ZSBrbm93IHdlIGhh
dmUgYSBKU0Z1bmN0aW9uLgogICAgIAogICAgIGppdC5sb2FkUHRyKAotICAgICAgICBDQ2FsbEhl
bHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6bm9uQXJnR1BSMCwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZF
eGVjdXRhYmxlKCkpLAorICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6cmVn
VDAsIEpTRnVuY3Rpb246Om9mZnNldE9mRXhlY3V0YWJsZSgpKSwKICAgICAgICAgR1BSSW5mbzo6
bm9uQXJnR1BSMik7CiAgICAgc2xvd0Nhc2UuYXBwZW5kKAogICAgICAgICBqaXQuYnJhbmNoMzIo
CkBAIC0xOTYsMTcgKzE5NywxNyBAQCBzdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHZpcnR1
YWxGb3JUaHVua0dlbmVyYXRvcigKICAgICAvLyBjYWxsLgogICAgIAogICAgIGppdC5sb2FkUHRy
KAotICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6bm9uQXJnR1BSMCwgSlNG
dW5jdGlvbjo6b2Zmc2V0T2ZTY29wZUNoYWluKCkpLAotICAgICAgICBHUFJJbmZvOjpub25BcmdH
UFIxKTsKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86OnJlZ1QwLCBKU0Z1
bmN0aW9uOjpvZmZzZXRPZlNjb3BlQ2hhaW4oKSksCisgICAgICAgIEdQUkluZm86OnJlZ1QxKTsK
ICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIGppdC5zdG9yZTY0KAotICAgICAgICBHUFJJbmZvOjpu
b25BcmdHUFIxLAorICAgICAgICBHUFJJbmZvOjpyZWdUMSwKICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpBZGRyZXNzKAogICAgICAgICAgICAgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsCiAgICAg
ICAgICAgICBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3RlcikpICogSlNTdGFj
azo6U2NvcGVDaGFpbikpOwogI2Vsc2UKICAgICBqaXQuc3RvcmVQdHIoCi0gICAgICAgIEdQUklu
Zm86Om5vbkFyZ0dQUjEsCisgICAgICAgIEdQUkluZm86OnJlZ1QxLAogICAgICAgICBDQ2FsbEhl
bHBlcnM6OkFkZHJlc3MoCiAgICAgICAgICAgICBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwK
ICAgICAgICAgICAgIHN0YXRpY19jYXN0PHB0cmRpZmZfdD4oc2l6ZW9mKFJlZ2lzdGVyKSkgKiBK
U1N0YWNrOjpTY29wZUNoYWluICsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217195</attachid>
            <date>2013-11-18 07:14:28 -0800</date>
            <delta_ts>2013-11-18 08:53:13 -0800</delta_ts>
            <desc>Updated ChangeLog</desc>
            <filename>124447-2.patch</filename>
            <type>text/plain</type>
            <size>10266</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU5Mzc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBA
CisyMDEzLTExLTE1ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENyYXNoIGluIHZpcnR1YWxGb3JUaHVua0dlbmVyYXRvciBnZW5lcmF0ZWQgY29kZSBvbiBB
Uk02NAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0
NDQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IGJhc2VsaW5lIEpJVCBnZW5lcmF0ZXMgc2xvdyBwYXRoIGNhbGwgY29kZSB3aXRoIHRoZSBjYWxs
ZXIgaW4gcmVnVDAuICBUaGUgREZHCisgICAgICAgIGdlbmVyYXRlcyBjYWxsIGNvZGUgd2l0aCB0
aGUgY2FsbGVyIGluIG5vbkFyZ0dQUjAuICBUaGUgdmlydHVhbEZvclRodW5rR2VuZXJhdG9yCisg
ICAgICAgIGdlbmVyYXRlcyBjb2RlIHdpdGggdGhlIGNhbGxlciBpbiBub25BcmdHUFIwLiAgRm9y
IFg4NiBhbmQgWDg2XzY0LCByZWdUMCBhbmQgbm9uQXJnR1BSMAorICAgICAgICBhcmUgdGhlIHNh
bWUgQ1BVIHJlZ2lzdGVyLCBlYXguICBGb3Igb3RoZXIgcGxhdGZvcm1zIHRoaXMgaXNuJ3QgdGhl
IGNhc2UuICBUaGUgc2FtZQorICAgICAgICBpc3N1ZSBleGlzdHMgZm9yIEpTVkFMVUUzMl82NCBw
b3J0cyBhcyB3ZWxsLCB3aGVyZSB0aGVyZSBhbHNvIGlzIGFuIGlzc3VlIHdpdGggdGhlIGNhbGxl
ZQorICAgICAgICB0YWcgcmVnaXN0ZXJzIGJlaW5nIHJlZ1QxIGFuZCBub25BcmdHUFIxIGluIHRo
ZSB2YXJpb3VzIGxvY2F0aW9ucy4KKworICAgICAgICBDaGFuZ2VkIG5vbkFyZ0dQUjAsIG5vbkFy
Z0dQUjEgYW5kIG5vbkFyZ0dQUjIgZm9yIFg4NiBhbmQgWDg2XzY0IHRvIG5vdCBtYXRjaCB1cCB3
aXRoCisgICAgICAgIHJlZ1QwLTIuICBDaGFuZ2luZyB0aGVzZSByZWdpc3RlcnMgd2lsbCBjYXVz
ZSBhIGNyYXNoIG9uIGFsbCBwb3J0cyBzaG91bGQgd2UgaGF2ZSBhCisgICAgICAgIHNpbWlsYXIg
cHJvYmxlbSBpbiB0aGUgZnV0dXJlLiAgQ2hhbmdlZCB0aGUgREZHIGNhbGwgZ2VuZXJhdGluZyBj
b2RlIHRvIHVzZSByZWdUMCBhbmQKKyAgICAgICAgcmVnVDEuICBOb3cgYWxsIHNsb3cgcGF0aCBj
YWxsIGNvZGUgaXMgZ2VuZXJhdGVkIHVzaW5nIHJlZ1QwIGFuZCBmb3IgSlNWQUxVRTMyXzY0IHJl
Z1QxLgorICAgICAgICBBZGRlZCByMTIgdG8gWDg2XzY0IGFzIGEgbmV3IHRlbXAgcmVnaXN0ZXIg
KHJlZ1Q5KSBhbmQgbW92ZWQgcjEzIGRvd24gdG8gcmVnVDEwLgorICAgICAgICBUaGUgbmV3IHRl
bXAgcmVnaXN0ZXIgZGVjcmVhc2VzIHRoZSBsaWtlbGlob29kIG9mIGluYWR2ZXJ0YW50IHJlZ2lz
dGVyIG92ZXJsYXAuCisKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAgICAg
KiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAgICAgKiBqaXQvR1BSSW5mby5oOgorICAgICAgICAo
SlNDOjpHUFJJbmZvOjp0b1JlZ2lzdGVyKToKKyAgICAgICAgKEpTQzo6R1BSSW5mbzo6dG9JbmRl
eCk6CisgICAgICAgICogaml0L1RodW5rR2VuZXJhdG9ycy5jcHA6CisgICAgICAgIChKU0M6OnZp
cnR1YWxGb3JUaHVua0dlbmVyYXRvcik6CisKIDIwMTMtMTEtMTUgIHBlYXZvQG91dGxvb2suY29t
ICA8cGVhdm9Ab3V0bG9vay5jb20+CiAKICAgICAgICAgW1dpbl0gSmF2YVNjcmlwdCBjcmFzaGVz
IG9uIDY0LWJpdCB3aXRoIEpJVCBlbmFibGVkLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCShyZXZpc2lvbiAxNTkz
NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MDEsMTYgKzcwMSwxNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjplbWl0Q2FsbChOb2RlKiBub2RlCiAKICAgICBzbG93UGF0aC5saW5rKCZtX2ppdCk7CiAK
LSAgICBpZiAoY2FsbGVlVGFnR1BSID09IEdQUkluZm86Om5vbkFyZ0dQUjApIHsKLSAgICAgICAg
aWYgKGNhbGxlZVBheWxvYWRHUFIgPT0gR1BSSW5mbzo6bm9uQXJnR1BSMSkKLSAgICAgICAgICAg
IG1faml0LnN3YXAoR1BSSW5mbzo6bm9uQXJnR1BSMSwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7Cisg
ICAgLy8gQ2FsbGVlIHBheWxvYWQgbmVlZHMgdG8gYmUgaW4gcmVnVDAsIHRhZyBpbiByZWdUMQor
ICAgIGlmIChjYWxsZWVUYWdHUFIgPT0gR1BSSW5mbzo6cmVnVDApIHsKKyAgICAgICAgaWYgKGNh
bGxlZVBheWxvYWRHUFIgPT0gR1BSSW5mbzo6cmVnVDEpCisgICAgICAgICAgICBtX2ppdC5zd2Fw
KEdQUkluZm86OnJlZ1QxLCBHUFJJbmZvOjpyZWdUMCk7CiAgICAgICAgIGVsc2UgewotICAgICAg
ICAgICAgbV9qaXQubW92ZShjYWxsZWVUYWdHUFIsIEdQUkluZm86Om5vbkFyZ0dQUjEpOwotICAg
ICAgICAgICAgbV9qaXQubW92ZShjYWxsZWVQYXlsb2FkR1BSLCBHUFJJbmZvOjpub25BcmdHUFIw
KTsKKyAgICAgICAgICAgIG1faml0Lm1vdmUoY2FsbGVlVGFnR1BSLCBHUFJJbmZvOjpyZWdUMSk7
CisgICAgICAgICAgICBtX2ppdC5tb3ZlKGNhbGxlZVBheWxvYWRHUFIsIEdQUkluZm86OnJlZ1Qw
KTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7Ci0gICAgICAgIG1faml0Lm1vdmUoY2FsbGVlUGF5
bG9hZEdQUiwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7Ci0gICAgICAgIG1faml0Lm1vdmUoY2FsbGVl
VGFnR1BSLCBHUFJJbmZvOjpub25BcmdHUFIxKTsKKyAgICAgICAgbV9qaXQubW92ZShjYWxsZWVQ
YXlsb2FkR1BSLCBHUFJJbmZvOjpyZWdUMCk7CisgICAgICAgIG1faml0Lm1vdmUoY2FsbGVlVGFn
R1BSLCBHUFJJbmZvOjpyZWdUMSk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIHNsb3dD
YWxsID0gbV9qaXQubmVhckNhbGwoKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxNTkzNzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03MjMsNyArNzIzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwo
Tm9kZSogbm9kZQogICAgIAogICAgIHNsb3dQYXRoLmxpbmsoJm1faml0KTsKICAgICAKLSAgICBt
X2ppdC5tb3ZlKGNhbGxlZUdQUiwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CisgICAgbV9qaXQubW92
ZShjYWxsZWVHUFIsIEdQUkluZm86OnJlZ1QwKTsgLy8gQ2FsbGVlIG5lZWRzIHRvIGJlIGluIHJl
Z1QwCiAgICAgSklUQ29tcGlsZXI6OkNhbGwgc2xvd0NhbGwgPSBtX2ppdC5uZWFyQ2FsbCgpOwog
ICAgIAogICAgIGRvbmUubGluaygmbV9qaXQpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9HUFJJbmZvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9H
UFJJbmZvLmgJKHJldmlzaW9uIDE1OTM3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
R1BSSW5mby5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMDUsOSArMzA1LDkgQEAgcHVibGljOgogICAg
IC8vIFRoZXNlIGNvbnN0YW50cyBwcm92aWRlIHRoZSBuYW1lcyBmb3IgdGhlIGdlbmVyYWwgcHVy
cG9zZSBhcmd1bWVudCAmIHJldHVybiB2YWx1ZSByZWdpc3RlcnMuCiAgICAgc3RhdGljIGNvbnN0
IEdQUlJlZyBhcmd1bWVudEdQUjAgPSBYODZSZWdpc3RlcnM6OmVjeDsgLy8gcmVnVDIKICAgICBz
dGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMSA9IFg4NlJlZ2lzdGVyczo6ZWR4OyAvLyBy
ZWdUMQotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJnR1BSMCA9IFg4NlJlZ2lzdGVyczo6
ZWF4OyAvLyByZWdUMAotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJnR1BSMSA9IFg4NlJl
Z2lzdGVyczo6ZWJ4OyAvLyByZWdUMwotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJnR1BS
MiA9IFg4NlJlZ2lzdGVyczo6ZXNpOyAvLyByZWdUNAorICAgIHN0YXRpYyBjb25zdCBHUFJSZWcg
bm9uQXJnR1BSMCA9IFg4NlJlZ2lzdGVyczo6ZXNpOyAvLyByZWdUNAorICAgIHN0YXRpYyBjb25z
dCBHUFJSZWcgbm9uQXJnR1BSMSA9IFg4NlJlZ2lzdGVyczo6ZWF4OyAvLyByZWdUMAorICAgIHN0
YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJnR1BSMiA9IFg4NlJlZ2lzdGVyczo6ZWJ4OyAvLyByZWdU
MwogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmV0dXJuVmFsdWVHUFIgPSBYODZSZWdpc3RlcnM6
OmVheDsgLy8gcmVnVDAKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJldHVyblZhbHVlR1BSMiA9
IFg4NlJlZ2lzdGVyczo6ZWR4OyAvLyByZWdUMQogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9u
UHJlc2VydmVkTm9uUmV0dXJuR1BSID0gWDg2UmVnaXN0ZXJzOjplY3g7CkBAIC0zNTUsNyArMzU1
LDcgQEAgcHVibGljOgogY2xhc3MgR1BSSW5mbyB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBHUFJS
ZWcgUmVnaXN0ZXJUeXBlOwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBudW1iZXJPZlJlZ2lz
dGVycyA9IDEwOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBudW1iZXJPZlJlZ2lzdGVycyA9
IDExOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBudW1iZXJPZkFyZ3VtZW50UmVnaXN0ZXJz
ID0gTlVNQkVSX09GX0FSR1VNRU5UX1JFR0lTVEVSUzsKIAogICAgIC8vIE5vdGU6IHJlZ1QzIGlz
IHJlcXVpcmVkIHRvIGJlIGNhbGxlZS1wcmVzZXJ2ZWQuCkBAIC0zNzUsNyArMzc1LDggQEAgcHVi
bGljOgogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDYgPSBYODZSZWdpc3RlcnM6OnI4Owog
ICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDcgPSBYODZSZWdpc3RlcnM6OnI5OwogICAgIHN0
YXRpYyBjb25zdCBHUFJSZWcgcmVnVDggPSBYODZSZWdpc3RlcnM6OnIxMDsKLSAgICBzdGF0aWMg
Y29uc3QgR1BSUmVnIHJlZ1Q5ID0gWDg2UmVnaXN0ZXJzOjpyMTM7CisgICAgc3RhdGljIGNvbnN0
IEdQUlJlZyByZWdUOSA9IFg4NlJlZ2lzdGVyczo6cjEyOworICAgIHN0YXRpYyBjb25zdCBHUFJS
ZWcgcmVnVDEwID0gWDg2UmVnaXN0ZXJzOjpyMTM7CiAgICAgLy8gVGhlc2UgY29uc3RhbnRzIHBy
b3ZpZGUgdGhlIG5hbWVzIGZvciB0aGUgZ2VuZXJhbCBwdXJwb3NlIGFyZ3VtZW50ICYgcmV0dXJu
IHZhbHVlIHJlZ2lzdGVycy4KICNpZiAhT1MoV0lORE9XUykKICAgICBzdGF0aWMgY29uc3QgR1BS
UmVnIGFyZ3VtZW50R1BSMCA9IFg4NlJlZ2lzdGVyczo6ZWRpOyAvLyByZWdUNApAQCAtMzkwLDkg
KzM5MSw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMiA9
IFg4NlJlZ2lzdGVyczo6cjg7IC8vIHJlZ1Q2CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBhcmd1
bWVudEdQUjMgPSBYODZSZWdpc3RlcnM6OnI5OyAvLyByZWdUNwogI2VuZGlmCi0gICAgc3RhdGlj
IGNvbnN0IEdQUlJlZyBub25BcmdHUFIwID0gWDg2UmVnaXN0ZXJzOjplYXg7IC8vIHJlZ1QwCisg
ICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdHUFIwID0gWDg2UmVnaXN0ZXJzOjpyMTA7IC8v
IHJlZ1Q4CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdHUFIxID0gWDg2UmVnaXN0ZXJz
OjplYng7IC8vIHJlZ1QzCi0gICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdHUFIyID0gWDg2
UmVnaXN0ZXJzOjpyMTA7IC8vIHJlZ1Q4CisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdH
UFIyID0gWDg2UmVnaXN0ZXJzOjpyMTI7IC8vIHJlZ1Q5CiAgICAgc3RhdGljIGNvbnN0IEdQUlJl
ZyByZXR1cm5WYWx1ZUdQUiA9IFg4NlJlZ2lzdGVyczo6ZWF4OyAvLyByZWdUMAogICAgIHN0YXRp
YyBjb25zdCBHUFJSZWcgcmV0dXJuVmFsdWVHUFIyID0gWDg2UmVnaXN0ZXJzOjplZHg7IC8vIHJl
Z1QxCiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25QcmVzZXJ2ZWROb25SZXR1cm5HUFIgPSBY
ODZSZWdpc3RlcnM6OmVzaTsKQEAgLTQwMCw3ICs0MDEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IEdQUlJlZyB0b1JlZ2lzdGVyKHVuc2lnbmVkIGluZGV4KQogICAgIHsKICAgICAgICAgQVNTRVJU
KGluZGV4IDwgbnVtYmVyT2ZSZWdpc3RlcnMpOwotICAgICAgICBzdGF0aWMgY29uc3QgR1BSUmVn
IHJlZ2lzdGVyRm9ySW5kZXhbbnVtYmVyT2ZSZWdpc3RlcnNdID0geyByZWdUMCwgcmVnVDEsIHJl
Z1QyLCByZWdUMywgcmVnVDQsIHJlZ1Q1LCByZWdUNiwgcmVnVDcsIHJlZ1Q4LCByZWdUOSB9Owor
ICAgICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ2lzdGVyRm9ySW5kZXhbbnVtYmVyT2ZSZWdp
c3RlcnNdID0geyByZWdUMCwgcmVnVDEsIHJlZ1QyLCByZWdUMywgcmVnVDQsIHJlZ1Q1LCByZWdU
NiwgcmVnVDcsIHJlZ1Q4LCByZWdUOSwgcmVnVDEwIH07CiAgICAgICAgIHJldHVybiByZWdpc3Rl
ckZvckluZGV4W2luZGV4XTsKICAgICB9CiAgICAgCkBAIC00MTksNyArNDIwLDcgQEAgcHVibGlj
OgogICAgIHsKICAgICAgICAgQVNTRVJUKHJlZyAhPSBJbnZhbGlkR1BSUmVnKTsKICAgICAgICAg
QVNTRVJUKHN0YXRpY19jYXN0PGludD4ocmVnKSA8IDE2KTsKLSAgICAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0ZXJbMTZdID0geyAwLCAyLCAxLCAzLCBJbnZhbGlkSW5k
ZXgsIEludmFsaWRJbmRleCwgNSwgNCwgNiwgNywgOCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5k
ZXgsIDksIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4IH07CisgICAgICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBpbmRleEZvclJlZ2lzdGVyWzE2XSA9IHsgMCwgMiwgMSwgMywgSW52YWxpZElu
ZGV4LCBJbnZhbGlkSW5kZXgsIDUsIDQsIDYsIDcsIDgsIEludmFsaWRJbmRleCwgOSwgMTAsIElu
dmFsaWRJbmRleCwgSW52YWxpZEluZGV4IH07CiAgICAgICAgIHJldHVybiBpbmRleEZvclJlZ2lz
dGVyW3JlZ107CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5r
R2VuZXJhdG9ycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9U
aHVua0dlbmVyYXRvcnMuY3BwCShyZXZpc2lvbiAxNTkzNzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0Nyw2ICsx
NDcsNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbGlua0Nsb3N1cmVDYWxsVGh1CiBzdGF0aWMg
TWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHZpcnR1YWxGb3JUaHVua0dlbmVyYXRvcigKICAgICBWTSog
dm0sIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKIHsKKyAgICAvLyBUaGUgY2FsbGVlIGlz
IGluIHJlZ1QwIChmb3IgSlNWQUxVRTMyXzY0LCB0aGUgdGFnIGlzIGluIHJlZ1QxKS4KICAgICAv
LyBUaGUgcmV0dXJuIGFkZHJlc3MgaXMgb24gdGhlIHN0YWNrLCBvciBpbiB0aGUgbGluayByZWdp
c3Rlci4gV2Ugd2lsbCBoZW5jZQogICAgIC8vIGp1bXAgdG8gdGhlIGNhbGxlZSwgb3Igc2F2ZSB0
aGUgcmV0dXJuIGFkZHJlc3MgdG8gdGhlIGNhbGwgZnJhbWUgd2hpbGUgd2UKICAgICAvLyBtYWtl
IGEgQysrIGZ1bmN0aW9uIGNhbGwgdG8gdGhlIGFwcHJvcHJpYXRlIEpJVCBvcGVyYXRpb24uCkBA
IC0xNjEsMTQgKzE2MiwxNCBAQCBzdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHZpcnR1YWxG
b3JUCiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICBzbG93Q2FzZS5hcHBlbmQoCiAgICAgICAgIGpp
dC5icmFuY2hUZXN0NjQoCi0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vblplcm8sIEdQUklu
Zm86Om5vbkFyZ0dQUjAsIEdQUkluZm86OnRhZ01hc2tSZWdpc3RlcikpOworICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpOb25aZXJvLCBHUFJJbmZvOjpyZWdUMCwgR1BSSW5mbzo6dGFnTWFza1Jl
Z2lzdGVyKSk7CiAjZWxzZQogICAgIHNsb3dDYXNlLmFwcGVuZCgKICAgICAgICAgaml0LmJyYW5j
aDMyKAotICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwgR1BSSW5mbzo6bm9uQXJn
R1BSMSwKKyAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsIEdQUkluZm86OnJlZ1Qx
LAogICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRh
ZykpKTsKICNlbmRpZgotICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJ
bmZvOjpub25BcmdHUFIwLCBKU0NlbGw6OnN0cnVjdHVyZU9mZnNldCgpKSwgR1BSSW5mbzo6bm9u
QXJnR1BSMik7CisgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86
OnJlZ1QwLCBKU0NlbGw6OnN0cnVjdHVyZU9mZnNldCgpKSwgR1BSSW5mbzo6bm9uQXJnR1BSMik7
CiAgICAgc2xvd0Nhc2UuYXBwZW5kKAogICAgICAgICBqaXQuYnJhbmNoUHRyKAogICAgICAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKQEAgLTE3OCw3ICsxNzksNyBAQCBzdGF0aWMgTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmIHZpcnR1YWxGb3JUCiAgICAgLy8gTm93IHdlIGtub3cgd2UgaGF2
ZSBhIEpTRnVuY3Rpb24uCiAgICAgCiAgICAgaml0LmxvYWRQdHIoCi0gICAgICAgIENDYWxsSGVs
cGVyczo6QWRkcmVzcyhHUFJJbmZvOjpub25BcmdHUFIwLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZkV4
ZWN1dGFibGUoKSksCisgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpyZWdU
MCwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpLAogICAgICAgICBHUFJJbmZvOjpu
b25BcmdHUFIyKTsKICAgICBzbG93Q2FzZS5hcHBlbmQoCiAgICAgICAgIGppdC5icmFuY2gzMigK
QEAgLTE5MSwxNyArMTkyLDE3IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdmlydHVh
bEZvclQKICAgICAvLyBjYWxsLgogICAgIAogICAgIGppdC5sb2FkUHRyKAotICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6bm9uQXJnR1BSMCwgSlNGdW5jdGlvbjo6b2Zmc2V0
T2ZTY29wZUNoYWluKCkpLAotICAgICAgICBHUFJJbmZvOjpub25BcmdHUFIxKTsKKyAgICAgICAg
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86OnJlZ1QwLCBKU0Z1bmN0aW9uOjpvZmZzZXRP
ZlNjb3BlQ2hhaW4oKSksCisgICAgICAgIEdQUkluZm86OnJlZ1QxKTsKICNpZiBVU0UoSlNWQUxV
RTY0KQogICAgIGppdC5zdG9yZTY0KAotICAgICAgICBHUFJJbmZvOjpub25BcmdHUFIxLAorICAg
ICAgICBHUFJJbmZvOjpyZWdUMSwKICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKAogICAg
ICAgICAgICAgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsCiAgICAgICAgICAgICBzdGF0aWNf
Y2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3RlcikpICogSlNTdGFjazo6U2NvcGVDaGFpbikp
OwogI2Vsc2UKICAgICBqaXQuc3RvcmVQdHIoCi0gICAgICAgIEdQUkluZm86Om5vbkFyZ0dQUjEs
CisgICAgICAgIEdQUkluZm86OnJlZ1QxLAogICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
CiAgICAgICAgICAgICBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwKICAgICAgICAgICAgIHN0
YXRpY19jYXN0PHB0cmRpZmZfdD4oc2l6ZW9mKFJlZ2lzdGVyKSkgKiBKU1N0YWNrOjpTY29wZUNo
YWluICsK
</data>
<flag name="review"
          id="240293"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>