<?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>226012</bug_id>
          
          <creation_ts>2021-05-20 05:35:34 -0700</creation_ts>
          <short_desc>[JSC] Fix consistency check during stack splitting in Wasm::LLIntGenerator::addLoop</short_desc>
          <delta_ts>2021-06-21 14:07:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gpoo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>pmatos</cc>
    
    <cc>product-security</cc>
    
    <cc>rbuis</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>svillar</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1761912</commentid>
    <comment_count>0</comment_count>
      <attachid>429159</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-05-20 05:35:34 -0700</bug_when>
    <thetext>Created attachment 429159
Testcase

ASSERTION FAILED: static_cast&lt;unsigned&gt;(expression.toLocal()) &lt; m_codeBlock-&gt;m_numVars in LLIntGenerator::checkConsistency()

See attached testcase.

Reproduced with JSC on debug builds r277716, for both Linux and macos.

ASAN release build completes without problem. This happens also in debug build once removing the debug assert. I&apos;m however, reporting it as a security bug for now as it was found by a fuzze.

./wasm/WasmLLIntGenerator.cpp(377) : auto JSC::Wasm::LLIntGenerator::checkConsistency()::(anonymous class)::operator()(JSC::VirtualRegister, JSC::VirtualRegister) const
1   0x100f6c2ac WTFCrash
2   0x101e01434 WTFCrashWithInfo(int, char const*, char const*, int)
3   0x105e6ddd8 JSC::Wasm::LLIntGenerator::checkConsistency()::&apos;lambda0&apos;(JSC::VirtualRegister, JSC::VirtualRegister)::operator()(JSC::VirtualRegister, JSC::VirtualRegister) const
4   0x105e6d9d4 void JSC::Wasm::LLIntGenerator::walkExpressionStack&lt;JSC::Wasm::LLIntGenerator::checkConsistency()::&apos;lambda0&apos;(JSC::VirtualRegister, JSC::VirtualRegister)&gt;(WTF::Vector&lt;JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::TypedExpression, 16ul, WTF::UnsafeVectorOverflow, 16ul, WTF::FastMalloc&gt;&amp;, unsigned int, JSC::Wasm::LLIntGenerator::checkConsistency()::&apos;lambda0&apos;(JSC::VirtualRegister, JSC::VirtualRegister) const&amp;)
5   0x105e6cd58 void JSC::Wasm::LLIntGenerator::walkExpressionStack&lt;JSC::Wasm::LLIntGenerator::checkConsistency()::&apos;lambda0&apos;(JSC::VirtualRegister, JSC::VirtualRegister)&gt;(WTF::Vector&lt;JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::TypedExpression, 16ul, WTF::UnsafeVectorOverflow, 16ul, WTF::FastMalloc&gt;&amp;, JSC::Wasm::LLIntGenerator::checkConsistency()::&apos;lambda0&apos;(JSC::VirtualRegister, JSC::VirtualRegister) const&amp;)
6   0x105e260a4 JSC::Wasm::LLIntGenerator::checkConsistency()
7   0x105e2b520 JSC::Wasm::LLIntGenerator::materializeConstantsAndLocals(WTF::Vector&lt;JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::TypedExpression, 16ul, WTF::UnsafeVectorOverflow, 16ul, WTF::FastMalloc&gt;&amp;)
8   0x105e2aa7c JSC::Wasm::LLIntGenerator::addLoop(JSC::Wasm::Signature const*, WTF::Vector&lt;JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::TypedExpression, 16ul, WTF::UnsafeVectorOverflow, 16ul, WTF::FastMalloc&gt;&amp;, JSC::Wasm::LLIntGenerator::ControlType&amp;, WTF::Vector&lt;JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::TypedExpression, 16ul, WTF::UnsafeVectorOverflow, 16ul, WTF::FastMalloc&gt;&amp;, unsigned int)
9   0x105ed0194 JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::parseExpression()
10  0x105ea4668 JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::parseBody()
11  0x105ddfc44 JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::parse()
12  0x105dded9c JSC::Wasm::parseAndCompileBytecode(unsigned char const*, unsigned long, JSC::Wasm::Signature const&amp;, JSC::Wasm::ModuleInformation const&amp;, unsigned int)
13  0x105e53154 JSC::Wasm::LLIntPlan::compileFunction(unsigned int)
14  0x105dafb60 JSC::Wasm::EntryPlan::compileFunctions(JSC::Wasm::Plan::CompilationEffort)
15  0x105e56e50 JSC::Wasm::LLIntPlan::work(JSC::Wasm::Plan::CompilationEffort)
16  0x10628f1fc JSC::Wasm::Worklist::Thread::work()
17  0x100f9fe54 WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0::operator()() const
18  0x100f9f2d4 WTF::Detail::CallableWrapper&lt;WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0, void&gt;::call()
19  0x100fcebd4 WTF::Function&lt;void ()&gt;::operator()() const
20  0x1011b7734 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)
21  0x1011d6eb8 WTF::wtfThreadEntryPoint(void*)
22  0x18de2efd4 _pthread_start
23  0x18de29d3c thread_start</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761913</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-20 05:35:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/78254747&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767432</commentid>
    <comment_count>2</comment_count>
      <attachid>430742</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-06-07 06:43:25 -0700</bug_when>
    <thetext>Created attachment 430742
Reduced testcase

Testcase reduced to a Webassembly program.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767727</commentid>
    <comment_count>3</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-06-08 03:19:17 -0700</bug_when>
    <thetext>This is the disassembled output. func[0] is invalid since the function body and loop must end with an END instruction.

$ wasm-objdump -dsxh  b.wasm 

b.wasm:	file format wasm 0x1
000001e: error: function body must end with END opcode

Sections:

     Type start=0x0000000a end=0x0000000f (size=0x00000005) count: 1
 Function start=0x00000011 end=0x00000013 (size=0x00000002) count: 1
     Code start=0x00000015 end=0x0000001e (size=0x00000009) count: 1

Section Details:

Type[1]:
 - type[0] (i32) -&gt; nil
Function[1]:
 - func[0] sig=0
Code[1]:
 - func[0] size=7

Code Disassembly:

000017 func[0]:
 000018: 20 00                      | local.get 0
 00001a: 20 00                      | local.get 0
 00001c: 03 00                      | loop type[0]

Contents of section Type:
000000a: 0160 017f 00                             .`...

Contents of section Function:
0000011: 0100                                     ..

Contents of section Code:
0000015: 0107 0020 0020 0003 00                   ... . ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767791</commentid>
    <comment_count>4</comment_count>
      <attachid>430848</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-06-08 09:05:24 -0700</bug_when>
    <thetext>Created attachment 430848
Reduced testcase

Same testcase with added end ops for loop/func blocks as well as drop instructions at the end of the execution to match the function signature. This still causes the assert. Preliminary debugging suggests the issue is related to having a non-void loop&apos;s block type (which leads to a splitStack call in LLIntGenerator::addLoop). wasm2wat generates an &quot;error: expected valid block signature type&quot; but I can&apos;t find where this is specified. Changing block type to 0x40 (void) makes wasm2wat happy and does not cause the assert.

Type[1]:
 - type[0] (i32) -&gt; nil
Function[1]:
 - func[0] sig=0
Code[1]:
 - func[0] size=11

000017 func[0]:
 000018: 20 00                      | local.get 0
 00001a: 20 00                      | local.get 0
 00001c: 03 00                      | loop type[0]
 00001e: 0b                         | end
 00001f: 1a                         | drop
 000020: 1a                         | drop
 000021: 0b                         | end</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767811</commentid>
    <comment_count>5</comment_count>
      <attachid>430856</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-06-08 10:01:55 -0700</bug_when>
    <thetext>Created attachment 430856
Reduced testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767848</commentid>
    <comment_count>6</comment_count>
      <attachid>430871</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-06-08 12:09:22 -0700</bug_when>
    <thetext>Created attachment 430871
Testcase

OK, I was using an obsolete version of wasm2wat for my testing... This new testcase is now properly converted by wasm2wat and still produces the ASSERT.

Type[1]:
 - type[0] (i32) -&gt; nil
Function[1]:
 - func[0] sig=0
Code[1]:
 - func[0] size=11

000017 func[0]:
 000018: 20 00                      | local.get 0
 00001a: 20 00                      | local.get 0
 00001c: 03 00                      | loop type[0]
 00001e: 1a                         |   drop
 00001f: 0b                         | end
 000020: 1a                         | drop
 000021: 0b                         | end


(module
  (type (;0;) (func (param i32)))
  (func (;0;) (type 0) (param i32)
    local.get 0
    local.get 0
    loop (param i32)  ;; label = @1
      drop
    end
    drop))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768122</commentid>
    <comment_count>7</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-06-09 03:00:32 -0700</bug_when>
    <thetext>I did more debugging this morning. LLIntGenerator::addLoop starts with the following instructions:

    splitStack(signature, enclosingStack, newStack);
    materializeConstantsAndLocals(newStack);

where splitStack ends with the following instructions:

    checkConsistency();
    m_stackSize += newStack.size();

and materializeConstantsAndLocals starts with the following ones:

    if (expressionStack.isEmpty())
        return;
    checkConsistency();

So the only difference between the two checkConsistency() calls is that m_stackSize was increased back to the original size. Since walkExpressionStack relies on m_stackSize to calculate the slot index associated to an expression in the stack, this is enough to make the ASSERT fails. See reverse debugging below for details.

I&apos;m not sure I&apos;m familiar with the wasm code to understand the intention here. Can someone please explain and suggest how to fix that behavior?

(rr) b Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:362
(rr) rc
(rr) bt
#0  0x00007f1bfc8323c9 in JSC::Wasm::LLIntGenerator::checkConsistency()
    (this=0x7f1ba6f78ae0) at ../../Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:376
#1  0x00007f1bfc832b4a in JSC::Wasm::LLIntGenerator::materializeConstantsAndLocals(WTF::Vector&lt;JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::TypedExpression, 16ul, WTF::UnsafeVectorOverflow, 16ul, WTF::FastMalloc&gt;&amp;) (this=0x7f1ba6f78ae0, expressionStack=...)
    at ../../Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:387
#2  0x00007f1bfc80cd31 in JSC::Wasm::LLIntGenerator::addLoop(JSC::Wasm::Signature const*, WTF::Vector&lt;JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::TypedExpression, 16ul, WTF::UnsafeVectorOverflow, 16ul, WTF::FastMalloc&gt;&amp;, JSC::Wasm::LLIntGenerator::ControlType&amp;, WTF::Vector&lt;JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::TypedExpression, 16ul, WTF::UnsafeVectorOverflow, 16ul, WTF::FastMalloc&gt;&amp;, unsigned int)
(this=0x7f1ba6f78ae0, signature=0x603000379450, enclosingStack=..., block=..., newStack=..., loopIndex=0) at ../../Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:87
...
(rr) p m_parser-&gt;expressionStack().size()
$1 = 1
(rr) p m_parser-&gt;expressionStack()[0].value().isLocal()
$2 = true
(rr) p m_parser-&gt;expressionStack()[0].value().toLocal()
$3 = 16
(rr) p m_codeBlock-&gt;m_numVars
$4 = 16
(rr) p m_parser-&gt;expressionStack()[0].value() == virtualRegisterForLocal(m_stackSize.m_value - 1)
$5 = false
(rr) rc
(rr) bt
#0  JSC::Wasm::LLIntGenerator::checkConsistency() (this=0x7f1ba6f78ae0)
    at ../../Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:371
#1  0x00007f1bfc83349a in JSC::Wasm::LLIntGenerator::splitStack(JSC::Wasm::Signature const*, WTF::Vector&lt;JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::TypedExpression, 16ul, WTF::UnsafeVectorOverflow, 16ul, WTF::FastMalloc&gt;&amp;, WTF::Vector&lt;JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::TypedExpression, 16ul, WTF::UnsafeVectorOverflow, 16ul, WTF::FastMalloc&gt;&amp;)
    (this=0x7f1ba6f78ae0, signature=0x603000379450, enclosingStack=..., newStack=...)
    at ../../Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:411
#2  0x00007f1bfc80cd18 in JSC::Wasm::LLIntGenerator::addLoop(JSC::Wasm::Signature const*, WTF::Vector&lt;JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::TypedExpression, 16ul, WTF::UnsafeVectorOverflow, 16ul, WTF::FastMalloc&gt;&amp;, JSC::Wasm::LLIntGenerator::ControlType&amp;, WTF::Vector&lt;JSC::Wasm::FunctionParser&lt;JSC::Wasm::LLIntGenerator&gt;::TypedExpression, 16ul, WTF::UnsafeVectorOverflow, 16ul, WTF::FastMalloc&gt;&amp;, unsigned int)
    (this=0x7f1ba6f78ae0, signature=0x603000379450, enclosingStack=..., block=..., newStack=..., loopIndex=0) at ../../Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:873
...
(rr) p m_parser-&gt;expressionStack().size()
$6 = 1
(rr) p m_parser-&gt;expressionStack()[0].value().isLocal()
$7 = true
(rr) p m_parser-&gt;expressionStack()[0].value().toLocal()
$8 = 16
(rr) p m_codeBlock-&gt;m_numVars
$9 = 16
(rr) p m_parser-&gt;expressionStack()[0].value() == virtualRegisterForLocal(m_stackSize.m_value - 1)
$10 = true</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770702</commentid>
    <comment_count>8</comment_count>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2021-06-17 10:00:29 -0700</bug_when>
    <thetext>Here’s some context that you might already know, but I had to page it back to understand what was going on, so I figured I might as well write it down:
- `splitStack` basically pops the arguments for the loop from the stack
- `checkConsistency` verifies that everything on the stack is either a virtual register that points to that stack position or a valid optimization. We perform 2 optimizations:
    - `move $const, tX; op tX, tY =&gt; op $const, tY`: we try to elide constant moves by keeping track of which constant is at that stack location. This is valid everywhere according to `checkConsistency`.
    - `move tX, tY; ...; op tY, tZ =&gt; op tX, tZ`: we try to elide moves from one local into another similar to what we do to constants. This requires being careful with `set_local`s to tX in between the two operations. We only do this within a block to avoid the cost of walking up the control stack on every set_local.
- `materializeConstantsAndLocals`: This is used as described above, but seems too conservative, since we don’t really need to materialize constants when we pushing a new block. We do need it for loops though, since we’ll move to those slots on back edges, otherwise we end up something like `move tX, $const` in the bytecode.

I think the issue here is that the semantics of the loop are the following:
- Pop N arguments from the stack: that’s the loop label position
- Push N arguments back to the stack: that’s the initial state to evaluate the loop body

And what the code is trying to do:
- use `splitStack` to get the arguments into newStack
- Materialize the constants and aliases in the loop arguments, since back edges will write to those slots

The issue is that we’re checking consistency as if we had added the arguments back in the stack, because that’s the loop semantics, but that will only be done by the FunctionParser when we return from addLoop, so we’re technically at an invalid state. `checkConsistency` is also not doing what we want here, since the goal is to check that the arguments we just materialized are valid, but it’s currently sort of in limbo, it’s neither in the expression stack nor in the control stack, so it won’t get validate by `checkConsistency`.

One possible way to fix this would be to have a version of `materializeConstantsAndLocals` that doesn’t check consistency (similar to what we do for `push`), but then we probably want to explicitly check the consistency of `newStack`. That could be done factoring out of the code in `checkConsistency` and explicitly passing a stack size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770973</commentid>
    <comment_count>9</comment_count>
      <attachid>431765</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2021-06-18 03:30:57 -0700</bug_when>
    <thetext>Created attachment 431765
v1

Thanks a lot for the detailed explanation. Being optimistic I was halfway through figuring it out (already had noticed that by moving some consistency checks later on things would work, and wondering if it made sense to check the expression stack in *that* state), but your explanation saved me a lot of time. Let me know if this patch is in the good direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771017</commentid>
    <comment_count>10</comment_count>
      <attachid>431765</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2021-06-18 08:40:00 -0700</bug_when>
    <thetext>Comment on attachment 431765
v1

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

&gt; Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:365
&gt; +            ASSERT(expression == slot || expression.isConstant() || expression.isArgument() || static_cast&lt;unsigned&gt;(expression.toLocal()) &lt; m_codeBlock-&gt;m_numVars);

I know this is what I suggested, but I wonder if this is relevant. Because we already do the same check inside `materializeConstantsAndLocals`, and the only valid state when this is called from `addLoop` is `expression == slot`. Maybe we should just skip the consistency check for `addLoop`, wdyt? Otherwise, maybe we can inline this into `addLoop` and check only `expression == slot`?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771087</commentid>
    <comment_count>11</comment_count>
      <attachid>431792</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2021-06-19 02:39:26 -0700</bug_when>
    <thetext>Created attachment 431792
v2

v2,

yeah, that makes perfect sense, makes the patch a bit simpler and the invariants we check more clear. I changed the code and ChangeLog accordingly.

(btw, since this is not a security bug, should we unflag it as such?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771358</commentid>
    <comment_count>12</comment_count>
      <attachid>431792</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2021-06-21 11:13:10 -0700</bug_when>
    <thetext>Comment on attachment 431792
v2

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

The patch looks good to me, just a couple nits. Did you mean to r? it or is it missing anything? I think it&apos;s ok to unflag the bug.

&gt; Source/JavaScriptCore/ChangeLog:17
&gt; +        we&apos;ll ASSERT. To workaround this, we create a variant of

just a nit, but should it be &quot;we&apos;ll fail the assertion&quot;?

&gt; Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:880
&gt; +    // The only valid state here is expression == slot, and we cannot

Might be worth adding a quick word here about why this is the only valid state here, since it&apos;s different than the other two assertions we have in `checkConsistency`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771399</commentid>
    <comment_count>13</comment_count>
      <attachid>431893</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2021-06-21 12:26:03 -0700</bug_when>
    <thetext>Created attachment 431893
v3

Great, thanks, tried to fix the couple nits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771408</commentid>
    <comment_count>14</comment_count>
      <attachid>431897</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2021-06-21 12:50:31 -0700</bug_when>
    <thetext>Created attachment 431897
v4

v4, a tiny change to the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771409</commentid>
    <comment_count>15</comment_count>
      <attachid>431898</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2021-06-21 12:51:47 -0700</bug_when>
    <thetext>Created attachment 431898
v5

v5, and of course there was a typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771441</commentid>
    <comment_count>16</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-21 14:06:57 -0700</bug_when>
    <thetext>Committed r279082 (239001@main): &lt;https://commits.webkit.org/239001@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431898.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>429159</attachid>
            <date>2021-05-20 05:35:34 -0700</date>
            <delta_ts>2021-06-07 06:43:25 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>18.js</filename>
            <type>application/x-javascript</type>
            <size>1835</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ICBhID0gOTcKYiA9IDExNQpjID0gMTA5CmQgPSAxCmUgPSAwCmYgPSAxCmcgPSAzCmggPSAxMApt
ID0gOTYKaSA9IDEyNwpqID0gayhbIGkgIF0pCmZ1bmN0aW9uIGsobCkgewogIHJldHVybiB7bCB9
fQpuID0gewogICdMb29wJyA6IDMsCiAgJ0xvY2FsR2V0JyA6IDMyCiAgfQpmdW5jdGlvbiBvKGFj
LCB2YWx1ZSkgewogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShnbG9iYWxUaGlzLCBhYywge3ZhbHVl
fSkKICB9CmZvciAoYWMgaW4gbikKICBvKGBrRXhwciR7YWN9YCwgblthY10pCmNsYXNzIHAgewog
IGNvbnN0cnVjdG9yKCkgewogICAgdGhpcy5sZW5ndGggPSAwCiAgICB0aGlzLmJ1ZmZlciA9IG5l
dyBVaW50OEFycmF5KDkyKX0KICBxKCkgeyByZXR1cm4gbmV3IFVpbnQ4QXJyYXkodGhpcy5idWZm
ZXIuYnVmZmVyLCAwLCB0aGlzLmxlbmd0aCl9CiAgcihzKSB7CiAgICB0aGlzLmJ1ZmZlclt0aGlz
Lmxlbmd0aCsrXSA9IHN9CiAgdChzICkgCiAgICB7CiAgICAgIGxldCB2ID0gcyAKICAgICAgdGhp
cy5idWZmZXJbdGhpcy5sZW5ndGgrK10gPSB2CiAgICAgIH0KICB1KHMpIHsgdGhpcy50KHMgKX0K
ICBhYShhYikgewogICAgdGhpcy5idWZmZXIuc2V0KGFiLCB0aGlzLmxlbmd0aCkKICAgIHRoaXMu
bGVuZ3RoICs9IGFiLmxlbmd0aH0KICB3KGFkKSB7CiAgICB0aGlzLnIoYWQpCiAgICB9CiAgeCgp
IHsKICAgIHRoaXMuYWEoWwogICAgICAsIGEsIGIsIGMsIGQsICwgLCBlCiAgICBdKX0KICB5KHos
IGFlKSB7CiAgICB0aGlzLnIoeikKICAgIGNvbnN0IGFmID0gbmV3IHAKICAgIGFlKGFmKQogICAg
dGhpcy51KGFmLmxlbmd0aCkKICAgIHRoaXMuYWEoYWYucSgpKX0KfQpjbGFzcyBhZyB7CiAgYWgo
YWkpIHsKICAgIHRoaXMuYWkgPSBhaQogICAgfQogfQpjbGFzcyBhaiB7CiAgY29uc3RydWN0b3Io
KSB7CiAgICB0aGlzLmFrID0gW10KICAgIHRoaXMuYWwgPSAKICAgICAgW119CiAgYW0oYWQpIHsK
ICAgIHRoaXMuYWsucHVzaChhZCkKICAgICB9CiAgYW4oYywgYWQgKSB7CiAgICB0aGlzLmFtKGFk
KQogICAgbGV0IGFvID0gbmV3IGFnCiAgICB0aGlzLmFsLnB1c2goYW8pCiAgICByZXR1cm4gYW99
CiAgYXAoKSB7CiAgICBsZXQgYXEgPSBuZXcgcAogICAgbGV0IGFyID0gdGhpcwogICAgYXEueCgp
CiAgICBhcS55KGYsIGFmID0+IHsKICAgICAgYWYudShhci5hay5sZW5ndGgpCiAgICAgIGZvciAo
bGV0IGFkIG9mIGFyLmFrKQogICAgICAgIHsKICAgICAgICAgIGFmLnIobSkKICAgICAgICAgIGFm
LnUoYWQubC5sZW5ndGgpCiAgICAgICAgICBmb3IgKGxldCBhcyBvZiBhZC5sKQogICAgICAgICAg
ICBhZi53KGFzKQogICAgICAgICAgYWYudSgpCiAgICAgICAgICB9CiAgICB9CiAgICApCiAgICBh
cS55KGcsIGFmID0+IHsKICAgICAgYWYudShhci5hbC5sZW5ndGgpCiAgICAgIGFmLnUoKX0pCiAg
ICAgYXEueShoLCBhZiA9PiB7CiAgICAgIGFmLnUoYXIuYWwubGVuZ3RoKQogICAgICBsZXQgYXQg
PSBuZXcgcAogICAgICBmb3IgKGxldCBhbyBvZiBhci5hbCkgewogICAgICAgIGF0LnUoKQogICAg
ICAgIGFmLnUoYXQubGVuZ3RoICsgYW8uYWkubGVuZ3RoKQogICAgICAgIGFmLmFhKGF0KQogICAg
ICAgIGFmLmFhKGFvLmFpKX0KICAgICAgfSkKICAgIHJldHVybiBhcS5xKCl9CiAgYXUoKSB7CiAg
ICBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKHRoaXMuYXAoKSl9Cn0KYXYgPSBuZXcgYWoKdHJ5IHsK
ICBhdi5hbigndGVzdCcsIGopCiAgICAgIC5haChbCiAgICAgICAga0V4cHJMb2NhbEdldCwgLCBr
RXhwckxvY2FsR2V0LCAsIGtFeHByTG9vcCwgLCBdKX0gY2F0Y2gge30KdHJ5IHsKICBhdi5hdSgp
fSBjYXRjaCB7fQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>430742</attachid>
            <date>2021-06-07 06:43:25 -0700</date>
            <delta_ts>2021-06-08 09:05:24 -0700</delta_ts>
            <desc>Reduced testcase</desc>
            <filename>18.js</filename>
            <type>application/x-javascript</type>
            <size>143</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">bmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShuZXcgVWludDhBcnJheShbMCwgOTcsIDExNSwgMTA5LCAx
LCAwLCAwLCAwLCAxLCA1LCAxLCA5NiwgMSwgMTI3LCAwLCAzLCAyLCAxLCAwLCAxMCwgOSwgMSwg
NywgMCwgMzIsIDAsIDMyLCAwLCAzLCAwXSkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>430848</attachid>
            <date>2021-06-08 09:05:24 -0700</date>
            <delta_ts>2021-06-08 10:01:55 -0700</delta_ts>
            <desc>Reduced testcase</desc>
            <filename>18.js</filename>
            <type>text/plain</type>
            <size>231</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">bGV0IGxvb3BCbG9ja1R5cGUgPSAweDdGCmxldCBiaW5hcnkgPSBuZXcgVWludDhBcnJheShbMCwg
OTcsIDExNSwgMTA5LCAxLCAwLCAwLCAwLCAxLCA1LCAxLCA5NiwgMSwgMTI3LCAwLCAzLCAyLCAx
LCAwLCAxMCwgMTMsIDEsIDExLCAwLCAweDIwLCAwLCAweDIwLCAwLCAweDMsIGxvb3BCbG9ja1R5
cGUsIDB4YiwgMHgxQSwgMHgxQSwgMHhiXSk7Cm5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYmluYXJ5
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>430856</attachid>
            <date>2021-06-08 10:01:55 -0700</date>
            <delta_ts>2021-06-08 12:09:22 -0700</delta_ts>
            <desc>Reduced testcase</desc>
            <filename>18.js</filename>
            <type>application/x-javascript</type>
            <size>228</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">bGV0IGxvb3BCbG9ja1R5cGUgPSAwCmxldCBiaW5hcnkgPSBuZXcgVWludDhBcnJheShbMCwgOTcs
IDExNSwgMTA5LCAxLCAwLCAwLCAwLCAxLCA1LCAxLCA5NiwgMSwgMTI3LCAwLCAzLCAyLCAxLCAw
LCAxMCwgMTMsIDEsIDExLCAwLCAweDIwLCAwLCAweDIwLCAwLCAweDMsIGxvb3BCbG9ja1R5cGUs
IDB4YiwgMHgxQSwgMHgxQSwgMHhiXSk7Cm5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYmluYXJ5KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>430871</attachid>
            <date>2021-06-08 12:09:22 -0700</date>
            <delta_ts>2021-06-08 12:09:22 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>18.js</filename>
            <type>application/x-javascript</type>
            <size>173</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">bmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShuZXcgVWludDhBcnJheShbMCwgOTcsIDExNSwgMTA5LCAx
LCAwLCAwLCAwLCAxLCA1LCAxLCA5NiwgMSwgMTI3LCAwLCAzLCAyLCAxLCAwLCAxMCwgMTMsIDEs
IDExLCAwLCAweDIwLCAwLCAweDIwLCAwLCAweDMsIDAsIDB4MUEsIDB4YiwgMHgxQSwgMHhiXSkp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431765</attachid>
            <date>2021-06-18 03:30:57 -0700</date>
            <delta_ts>2021-06-19 02:39:26 -0700</delta_ts>
            <desc>v1</desc>
            <filename>0001-ASSERT-expression-slot-expression.isConstant-express.patch</filename>
            <type>text/plain</type>
            <size>8704</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAxNTFkNmRmOTliMDYzYzYwYWJhYTBiM2JmYzQzNDc1YWU1NjU2MzVlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/WGFuPTIwTD1DMz1CM3Blej89IDx4YW5AaWdh
bGlhLmNvbT4KRGF0ZTogRnJpLCAxOCBKdW4gMjAyMSAxMjoyOToyMSArMDIwMApTdWJqZWN0OiBb
UEFUQ0hdIEFTU0VSVChleHByZXNzaW9uID09IHNsb3QgfHwgZXhwcmVzc2lvbi5pc0NvbnN0YW50
KCkgfHwKIGV4cHJlc3Npb24uaXNBcmd1bWVudCgpIHx8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihl
eHByZXNzaW9uLnRvTG9jYWwoKSkgPAogbV9jb2RlQmxvY2stPm1fbnVtVmFycykgaW4gTExJbnRH
ZW5lcmF0b3I6OmNoZWNrQ29uc2lzdGVuY3koKQogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjAxMgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpKU1Rlc3Rz
OgoKKiBzdHJlc3Mvd2FzbS1sb29wLWNvbnNpc3RlbmN5LmpzOiBBZGRlZC4KKHZtLmlzV2FzbVN1
cHBvcnRlZCk6CgpTb3VyY2UvSmF2YVNjcmlwdENvcmU6CgpUaGUgd2FzbSBsbGludCBnZW5lcmF0
b3IgY2FuIGNhbGwgY2hlY2tDb25zaXN0ZW5jeSgpIHRvIGNoZWNrIHRoZQpjb3JyZWN0bmVzcyBv
ZiBhIHN0YWNrIHRoYXQgaXMgb25seSBoYWxmd2F5IHRocm91Z2ggYmVpbmcgcHJvcGVybHkKc2V0
dXAuIFNwZWNpZmljYWxseSwgd2hlbiBnZW5lcmF0aW5nIGEgbG9vcCBibG9jaywgd2UgdXNlCnNw
bGl0U3RhY2soKSB0byBwb3AgdGhlIGFyZ3VtZW50cyBmb3IgdGhlIGxvb3AgaW50byBhIG5ldyBz
dGFjaywKYW5kIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKCkgdG8gbWF0ZXJpYWxpemUg
dGhlIGNvbnN0YW50cwphbmQgYWxpYXNlcyBpbiB0aGUgbG9vcCBhcmd1bWVudHMuIFRoZSBpc3N1
ZSBpcyB0aGF0IGJ5IGRlZmF1bHQKbWF0ZXJpYWxpemVDb25zdGFudHNBbmRMb2NhbHMoKSB3aWxs
IGNoZWNrIHRoZSBjb3JyZWN0bmVzcyBvZiB0aGUKZXhwcmVzc2lvbiBzdGFjaywgd2hpY2ggd29u
J3QgYmUgZnVsbHkgZm9ybWVkIHVudGlsIHRoZSBsb29wIGNvZGUKZ2VuZXJhdGlvbiBpcyBjb21w
bGV0ZS4gVG8gd29ya2Fyb3VuZCB0aGlzLCB3ZSBjcmVhdGUgYSB2YXJpYW50IG9mCm1hdGVyaWFs
aXplQ29uc3RhbnRzQW5kTG9jYWxzKCkgdGhhdCBkb2VzIG5vdCBjaGVjayBmb3IKY29ycmVjdG5l
c3MgKHNpbWlsYXIgdG8gd2hhdCB3ZSBkbyBpbiBwdXNoKCkpLCBhbmQgYSB2YXJpYW50IG9mCmNo
ZWNrQ29uc2lzdGVuY3koKSB0aGF0IGNhbiBjaGVjayBhIHNwZWNpZmljIHN0YWNrIHBhc3NlZCBh
cyBhbgphcmd1bWVudC4gV2UgdXNlIHRoZW0gYm90aCBpbiBXYXNtOjpMTEludEdlbmVyYXRvcjo6
YWRkTG9vcCgpLAp3aGljaCBpcyB0aGUgcGxhY2UgdGhhdCBrbm93cyB0aGUgZGV0YWlscyBvZiB0
aGlzIGludGVybWVkaWF0ZQpzdGF0ZS4KCkZvciBtb3JlIGRldGFpbHMsIHNlZTogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjAxMiNjOAoKKiB3YXNtL1dhc21MTElu
dEdlbmVyYXRvci5jcHA6CihKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjpjaGVja0NvbnNpc3Rl
bmN5T2ZFeHByZXNzaW9uU3RhY2spOgooSlNDOjpXYXNtOjpMTEludEdlbmVyYXRvcjo6Y2hlY2tD
b25zaXN0ZW5jeSk6CihKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjptYXRlcmlhbGl6ZUNvbnN0
YW50c0FuZExvY2Fscyk6CihKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjphZGRMb29wKToKLS0t
CiBKU1Rlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKysr
KysKIEpTVGVzdHMvc3RyZXNzL3dhc20tbG9vcC1jb25zaXN0ZW5jeS5qcyAgICAgICB8IDE0ICsr
KysrKysrKwogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgIHwg
MzEgKysrKysrKysrKysrKysrKysrKwogLi4uL3dhc20vV2FzbUxMSW50R2VuZXJhdG9yLmNwcCAg
ICAgICAgICAgICAgIHwgMzEgKysrKysrKysrKysrKy0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCA3
NyBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IEpTVGVz
dHMvc3RyZXNzL3dhc20tbG9vcC1jb25zaXN0ZW5jeS5qcwoKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
Q2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzM0MjQ4ODc0MTU4Li5mZjgzMjUz
YjM3NDcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDYtMTggIFhhbiBMb3BleiAgPHhhbkBpZ2FsaWEu
Y29tPgorCisgICAgICAgIEFTU0VSVChleHByZXNzaW9uID09IHNsb3QgfHwgZXhwcmVzc2lvbi5p
c0NvbnN0YW50KCkgfHwgZXhwcmVzc2lvbi5pc0FyZ3VtZW50KCkgfHwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KGV4cHJlc3Npb24udG9Mb2NhbCgpKSA8IG1fY29kZUJsb2NrLT5tX251bVZhcnMpIGlu
IExMSW50R2VuZXJhdG9yOjpjaGVja0NvbnNpc3RlbmN5KCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjAxMgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL3dhc20tbG9vcC1jb25zaXN0ZW5j
eS5qczogQWRkZWQuCisgICAgICAgICh2bS5pc1dhc21TdXBwb3J0ZWQpOgorCiAyMDIxLTA2LTE3
ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgbWljcm9i
ZW5jaG1hcmtzL2RlbGV0ZS1wcm9wZXJ0eS1mcm9tLXByb3RvdHlwZS1jaGFpbiBub3QgdGltZSBv
dXQgb24gZGVidWcgYnVpbGRzCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy93YXNtLWxvb3At
Y29uc2lzdGVuY3kuanMgYi9KU1Rlc3RzL3N0cmVzcy93YXNtLWxvb3AtY29uc2lzdGVuY3kuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41ZDQ5MGI4YjVhYmYKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy93YXNtLWxvb3AtY29uc2lzdGVuY3kuanMK
QEAgLTAsMCArMSwxNCBAQAorLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNjAxMgoraWYgKCR2bS5pc1dhc21TdXBwb3J0ZWQoKSkgeworICAgIC8vIChtb2R1bGUK
KyAgICAvLyAodHlwZSAoOzA7KSAoZnVuYyAocGFyYW0gaTMyKSkpCisgICAgLy8gKGZ1bmMgKDsw
OykgKHR5cGUgMCkgKHBhcmFtIGkzMikKKyAgICAvLyAgIGxvY2FsLmdldCAwCisgICAgLy8gICBs
b2NhbC5nZXQgMAorICAgIC8vICAgbG9vcCAocGFyYW0gaTMyKSAgOzsgbGFiZWwgPSBAMQorICAg
IC8vICAgICBkcm9wCisgICAgLy8gICBlbmQKKyAgICAvLyAgIGRyb3ApKQorICAgIHZhciB3YXNt
Q29kZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUobmV3IFVpbnQ4QXJyYXkoWzAsIDk3LCAxMTUs
IDEwOSwgMSwgMCwgMCwgMCwgMSwgNSwgMSwgOTYsIDEsIDEyNywgMCwgMywgMiwgMSwgMCwgMTAs
IDEzLCAxLCAxMSwgMCwgMHgyMCwgMCwgMHgyMCwgMCwgMHgzLCAwLCAweDFBLCAweGIsIDB4MUEs
IDB4Yl0pKTsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggOTUzM2NiOTkwNzhiLi4x
YTQwYzlkNDM2NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisy
MDIxLTA2LTE4ICBYYW4gTG9wZXogIDx4YW5AaWdhbGlhLmNvbT4KKworICAgICAgICBBU1NFUlQo
ZXhwcmVzc2lvbiA9PSBzbG90IHx8IGV4cHJlc3Npb24uaXNDb25zdGFudCgpIHx8IGV4cHJlc3Np
b24uaXNBcmd1bWVudCgpIHx8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihleHByZXNzaW9uLnRvTG9j
YWwoKSkgPCBtX2NvZGVCbG9jay0+bV9udW1WYXJzKSBpbiBMTEludEdlbmVyYXRvcjo6Y2hlY2tD
b25zaXN0ZW5jeSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjYwMTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgd2FzbSBsbGludCBnZW5lcmF0b3IgY2FuIGNhbGwgY2hlY2tDb25zaXN0ZW5jeSgp
IHRvIGNoZWNrIHRoZQorICAgICAgICBjb3JyZWN0bmVzcyBvZiBhIHN0YWNrIHRoYXQgaXMgb25s
eSBoYWxmd2F5IHRocm91Z2ggYmVpbmcgcHJvcGVybHkKKyAgICAgICAgc2V0dXAuIFNwZWNpZmlj
YWxseSwgd2hlbiBnZW5lcmF0aW5nIGEgbG9vcCBibG9jaywgd2UgdXNlCisgICAgICAgIHNwbGl0
U3RhY2soKSB0byBwb3AgdGhlIGFyZ3VtZW50cyBmb3IgdGhlIGxvb3AgaW50byBhIG5ldyBzdGFj
aywKKyAgICAgICAgYW5kIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKCkgdG8gbWF0ZXJp
YWxpemUgdGhlIGNvbnN0YW50cworICAgICAgICBhbmQgYWxpYXNlcyBpbiB0aGUgbG9vcCBhcmd1
bWVudHMuIFRoZSBpc3N1ZSBpcyB0aGF0IGJ5IGRlZmF1bHQKKyAgICAgICAgbWF0ZXJpYWxpemVD
b25zdGFudHNBbmRMb2NhbHMoKSB3aWxsIGNoZWNrIHRoZSBjb3JyZWN0bmVzcyBvZiB0aGUKKyAg
ICAgICAgZXhwcmVzc2lvbiBzdGFjaywgd2hpY2ggd29uJ3QgYmUgZnVsbHkgZm9ybWVkIHVudGls
IHRoZSBsb29wIGNvZGUKKyAgICAgICAgZ2VuZXJhdGlvbiBpcyBjb21wbGV0ZS4gVG8gd29ya2Fy
b3VuZCB0aGlzLCB3ZSBjcmVhdGUgYSB2YXJpYW50IG9mCisgICAgICAgIG1hdGVyaWFsaXplQ29u
c3RhbnRzQW5kTG9jYWxzKCkgdGhhdCBkb2VzIG5vdCBjaGVjayBmb3IKKyAgICAgICAgY29ycmVj
dG5lc3MgKHNpbWlsYXIgdG8gd2hhdCB3ZSBkbyBpbiBwdXNoKCkpLCBhbmQgYSB2YXJpYW50IG9m
CisgICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKSB0aGF0IGNhbiBjaGVjayBhIHNwZWNpZmljIHN0
YWNrIHBhc3NlZCBhcyBhbgorICAgICAgICBhcmd1bWVudC4gV2UgdXNlIHRoZW0gYm90aCBpbiBX
YXNtOjpMTEludEdlbmVyYXRvcjo6YWRkTG9vcCgpLAorICAgICAgICB3aGljaCBpcyB0aGUgcGxh
Y2UgdGhhdCBrbm93cyB0aGUgZGV0YWlscyBvZiB0aGlzIGludGVybWVkaWF0ZQorICAgICAgICBz
dGF0ZS4KKworICAgICAgICBGb3IgbW9yZSBkZXRhaWxzLCBzZWU6IGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYwMTIjYzgKKworICAgICAgICAqIHdhc20vV2FzbUxM
SW50R2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6OmNo
ZWNrQ29uc2lzdGVuY3lPZkV4cHJlc3Npb25TdGFjayk6CisgICAgICAgIChKU0M6Oldhc206OkxM
SW50R2VuZXJhdG9yOjpjaGVja0NvbnNpc3RlbmN5KToKKyAgICAgICAgKEpTQzo6V2FzbTo6TExJ
bnRHZW5lcmF0b3I6Om1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKToKKyAgICAgICAgKEpT
Qzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6OmFkZExvb3ApOgorCiAyMDIxLTA2LTE3ICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgbnVtYmVyT2ZQQUNCaXRz
IHRvIG1heE51bWJlck9mQWxsb3dlZFBBQ0JpdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtTExJbnRHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbUxMSW50R2VuZXJhdG9yLmNwcAppbmRleCAyMGM0MzAwMjZhYTUuLmU4Y2E5
NjJmNTkxMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUxMSW50
R2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRH
ZW5lcmF0b3IuY3BwCkBAIC0zNTgsNiArMzU4LDE1IEBAIHByaXZhdGU6CiAgICAgICAgIHdhbGtF
eHByZXNzaW9uU3RhY2soZW50cnkuZW5jbG9zZWRFeHByZXNzaW9uU3RhY2ssIGVudHJ5LmNvbnRy
b2xEYXRhLnN0YWNrU2l6ZSgpLCBmdW5jdG9yKTsKICAgICB9CiAKKyAgICB2b2lkIGNoZWNrQ29u
c2lzdGVuY3lPZkV4cHJlc3Npb25TdGFjayhTdGFjayYgZXhwcmVzc2lvblN0YWNrKQorICAgIHsK
KyNpZiBBU1NFUlRfRU5BQkxFRAorICAgICAgICB3YWxrRXhwcmVzc2lvblN0YWNrKGV4cHJlc3Np
b25TdGFjaywgWyZdKFZpcnR1YWxSZWdpc3RlciBleHByZXNzaW9uLCBWaXJ0dWFsUmVnaXN0ZXIg
c2xvdCkgeworICAgICAgICAgICAgQVNTRVJUKGV4cHJlc3Npb24gPT0gc2xvdCB8fCBleHByZXNz
aW9uLmlzQ29uc3RhbnQoKSB8fCBleHByZXNzaW9uLmlzQXJndW1lbnQoKSB8fCBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oZXhwcmVzc2lvbi50b0xvY2FsKCkpIDwgbV9jb2RlQmxvY2stPm1fbnVtVmFy
cyk7CisgICAgICAgIH0pOworI2VuZGlmIC8vIEFTU0VSVF9FTkFCTEVECisgICAgfQorCiAgICAg
dm9pZCBjaGVja0NvbnNpc3RlbmN5KCkKICAgICB7CiAjaWYgQVNTRVJUX0VOQUJMRUQKQEAgLTM3
MywxOCArMzgyLDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgQVNTRVJUKGV4cHJlc3Np
b24gPT0gc2xvdCB8fCBleHByZXNzaW9uLmlzQ29uc3RhbnQoKSk7CiAgICAgICAgICAgICB9KTsK
ICAgICAgICAgfQotICAgICAgICB3YWxrRXhwcmVzc2lvblN0YWNrKG1fcGFyc2VyLT5leHByZXNz
aW9uU3RhY2soKSwgWyZdKFZpcnR1YWxSZWdpc3RlciBleHByZXNzaW9uLCBWaXJ0dWFsUmVnaXN0
ZXIgc2xvdCkgewotICAgICAgICAgICAgQVNTRVJUKGV4cHJlc3Npb24gPT0gc2xvdCB8fCBleHBy
ZXNzaW9uLmlzQ29uc3RhbnQoKSB8fCBleHByZXNzaW9uLmlzQXJndW1lbnQoKSB8fCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oZXhwcmVzc2lvbi50b0xvY2FsKCkpIDwgbV9jb2RlQmxvY2stPm1fbnVt
VmFycyk7Ci0gICAgICAgIH0pOworICAgICAgICBjaGVja0NvbnNpc3RlbmN5T2ZFeHByZXNzaW9u
U3RhY2sobV9wYXJzZXItPmV4cHJlc3Npb25TdGFjaygpKTsKICNlbmRpZiAvLyBBU1NFUlRfRU5B
QkxFRAogICAgIH0KIAotICAgIHZvaWQgbWF0ZXJpYWxpemVDb25zdGFudHNBbmRMb2NhbHMoU3Rh
Y2smIGV4cHJlc3Npb25TdGFjaykKKyAgICB2b2lkIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9j
YWxzKFN0YWNrJiBleHByZXNzaW9uU3RhY2ssIE5vQ29uc2lzdGVuY3lDaGVja1RhZykKICAgICB7
Ci0gICAgICAgIGlmIChleHByZXNzaW9uU3RhY2suaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0
dXJuOwotCi0gICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKICAgICAgICAgd2Fsa0V4cHJlc3Np
b25TdGFjayhleHByZXNzaW9uU3RhY2ssIFsmXShUeXBlZEV4cHJlc3Npb24mIGV4cHJlc3Npb24s
IFZpcnR1YWxSZWdpc3RlciBzbG90KSB7CiAgICAgICAgICAgICBBU1NFUlQoZXhwcmVzc2lvbi52
YWx1ZSgpID09IHNsb3QgfHwgZXhwcmVzc2lvbi52YWx1ZSgpLmlzQ29uc3RhbnQoKSB8fCBleHBy
ZXNzaW9uLnZhbHVlKCkuaXNBcmd1bWVudCgpIHx8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihleHBy
ZXNzaW9uLnZhbHVlKCkudG9Mb2NhbCgpKSA8IG1fY29kZUJsb2NrLT5tX251bVZhcnMpOwogICAg
ICAgICAgICAgaWYgKGV4cHJlc3Npb24udmFsdWUoKSA9PSBzbG90KQpAQCAtMzkyLDYgKzM5NSwx
NSBAQCBwcml2YXRlOgogICAgICAgICAgICAgV2FzbU1vdjo6ZW1pdCh0aGlzLCBzbG90LCBleHBy
ZXNzaW9uKTsKICAgICAgICAgICAgIGV4cHJlc3Npb24gPSBUeXBlZEV4cHJlc3Npb24geyBleHBy
ZXNzaW9uLnR5cGUoKSwgc2xvdCB9OwogICAgICAgICB9KTsKKyAgICB9CisKKyAgICB2b2lkIG1h
dGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKFN0YWNrJiBleHByZXNzaW9uU3RhY2spCisgICAg
eworICAgICAgICBpZiAoZXhwcmVzc2lvblN0YWNrLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICBjaGVja0NvbnNpc3RlbmN5KCk7CisgICAgICAgIG1hdGVyaWFsaXpl
Q29uc3RhbnRzQW5kTG9jYWxzKGV4cHJlc3Npb25TdGFjaywgTm9Db25zaXN0ZW5jeUNoZWNrKTsK
ICAgICAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogICAgIH0KIApAQCAtODcxLDcgKzg4Myw4IEBA
IGF1dG8gTExJbnRHZW5lcmF0b3I6OnNldEdsb2JhbCh1aW50MzJfdCBpbmRleCwgRXhwcmVzc2lv
blR5cGUgdmFsdWUpIC0+IFBhcnRpYWxSCiBhdXRvIExMSW50R2VuZXJhdG9yOjphZGRMb29wKEJs
b2NrU2lnbmF0dXJlIHNpZ25hdHVyZSwgU3RhY2smIGVuY2xvc2luZ1N0YWNrLCBDb250cm9sVHlw
ZSYgYmxvY2ssIFN0YWNrJiBuZXdTdGFjaywgdWludDMyX3QgbG9vcEluZGV4KSAtPiBQYXJ0aWFs
UmVzdWx0CiB7CiAgICAgc3BsaXRTdGFjayhzaWduYXR1cmUsIGVuY2xvc2luZ1N0YWNrLCBuZXdT
dGFjayk7Ci0gICAgbWF0ZXJpYWxpemVDb25zdGFudHNBbmRMb2NhbHMobmV3U3RhY2spOworICAg
IG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKG5ld1N0YWNrLCBOb0NvbnNpc3RlbmN5Q2hl
Y2spOworICAgIGNoZWNrQ29uc2lzdGVuY3lPZkV4cHJlc3Npb25TdGFjayhuZXdTdGFjayk7CiAK
ICAgICBSZWY8TGFiZWw+IGJvZHkgPSBuZXdFbWl0dGVkTGFiZWwoKTsKICAgICBSZWY8TGFiZWw+
IGNvbnRpbnVhdGlvbiA9IG5ld0xhYmVsKCk7Ci0tIAoyLjMxLjEKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431792</attachid>
            <date>2021-06-19 02:39:26 -0700</date>
            <delta_ts>2021-06-21 12:26:03 -0700</delta_ts>
            <desc>v2</desc>
            <filename>0001-ASSERT-expression-slot-expression.isConstant-express.patch</filename>
            <type>text/plain</type>
            <size>7922</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSA2MDRkMDNmZDM1OWQ4MDg2ZmMxYmVhODFhNzIzZjk5YjIzYmY2MGFlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/WGFuPTIwTD1DMz1CM3Blej89IDx4YW5AaWdh
bGlhLmNvbT4KRGF0ZTogRnJpLCAxOCBKdW4gMjAyMSAxMjoyOToyMSArMDIwMApTdWJqZWN0OiBb
UEFUQ0hdIEFTU0VSVChleHByZXNzaW9uID09IHNsb3QgfHwgZXhwcmVzc2lvbi5pc0NvbnN0YW50
KCkgfHwKIGV4cHJlc3Npb24uaXNBcmd1bWVudCgpIHx8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihl
eHByZXNzaW9uLnRvTG9jYWwoKSkgPAogbV9jb2RlQmxvY2stPm1fbnVtVmFycykgaW4gTExJbnRH
ZW5lcmF0b3I6OmNoZWNrQ29uc2lzdGVuY3koKQogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjAxMgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpKU1Rlc3Rz
OgoKKiBzdHJlc3Mvd2FzbS1sb29wLWNvbnNpc3RlbmN5LmpzOiBBZGRlZC4KKHZtLmlzV2FzbVN1
cHBvcnRlZCk6CgpTb3VyY2UvSmF2YVNjcmlwdENvcmU6CgpJdCBpcyBwb3NzaWJsZSBmb3IgdGhl
IHdhc20gbGxpbnQgZ2VuZXJhdG9yIHRvIGNhbGwKY2hlY2tDb25zaXN0ZW5jeSgpIG9uIGEgc3Rh
Y2sgdGhhdCBpcyBvbmx5IGhhbGZ3YXkgdGhyb3VnaCBiZWluZwpwcm9wZXJseSBzZXR1cC4gU3Bl
Y2lmaWNhbGx5LCB3aGVuIGdlbmVyYXRpbmcgYSBsb29wIGJsb2NrLCB3ZSB1c2UKc3BsaXRTdGFj
aygpIHRvIHBvcCB0aGUgYXJndW1lbnRzIGZvciB0aGUgbG9vcCBpbnRvIGEgbmV3IHN0YWNrLAph
bmQgbWF0ZXJpYWxpemVDb25zdGFudHNBbmRMb2NhbHMoKSB0byBtYXRlcmlhbGl6ZSB0aGUgY29u
c3RhbnRzCmFuZCBhbGlhc2VzIGluIHRoZSBsb29wIGFyZ3VtZW50cywgYnV0IHRoZSBhcmd1bWVu
dHMgd29uJ3QgYmUKYWRkZWQgYmFjayB0byB0aGUgc3RhY2sgdW50aWwgdGhlIHZlcnkgZW5kIG9m
IHRoZSBsb29wIGNvZGUKZ2VuZXJhdGlvbi4gU2luY2UgbWF0ZXJpYWxpemVDb25zdGFudHNBbmRM
b2NhbHMoKSB3aWxsIGNoZWNrIHRoZQpjb3JyZWN0bmVzcyBvZiB0aGUgZXhwcmVzc2lvbiBzdGFj
aywgd2hpY2ggaXNuJ3QgeWV0IGZ1bGx5IGZvcm1lZCwKd2UnbGwgQVNTRVJULiBUbyB3b3JrYXJv
dW5kIHRoaXMsIHdlIGNyZWF0ZSBhIHZhcmlhbnQgb2YKbWF0ZXJpYWxpemVDb25zdGFudHNBbmRM
b2NhbHMoKSB0aGF0IGRvZXMgbm90IGNoZWNrIGZvcgpjb3JyZWN0bmVzcyAoc2ltaWxhciB0byB3
aGF0IHdlIGRvIGluIHB1c2goKSksIGFuZCBtYW51YWxseSBjaGVjawp0aGUgY29ycmVjdG5lc3Mg
b2YgdGhlIG5ldyBzcGxpdCBzdGFjayBpbgpXYXNtOjpMTEludEdlbmVyYXRvcjo6YWRkTG9vcCgp
LCB3aGljaCBpcyB0aGUgcGxhY2UgdGhhdCBrbm93cyB0aGUKZGV0YWlscyBvZiB0aGlzIGludGVy
bWVkaWF0ZSBzdGF0ZS4KCkZvciBtb3JlIGRldGFpbHMsIHNlZTogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjAxMiNjOAoKKiB3YXNtL1dhc21MTEludEdlbmVyYXRv
ci5jcHA6CihKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjpjaGVja0NvbnNpc3RlbmN5T2ZFeHBy
ZXNzaW9uU3RhY2spOgooSlNDOjpXYXNtOjpMTEludEdlbmVyYXRvcjo6Y2hlY2tDb25zaXN0ZW5j
eSk6CihKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjptYXRlcmlhbGl6ZUNvbnN0YW50c0FuZExv
Y2Fscyk6CihKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjphZGRMb29wKToKLS0tCiBKU1Rlc3Rz
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKysrKysKIEpTVGVz
dHMvc3RyZXNzL3dhc20tbG9vcC1jb25zaXN0ZW5jeS5qcyAgICAgICB8IDE0ICsrKysrKysrKwog
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgIHwgMzEgKysrKysr
KysrKysrKysrKysrKwogLi4uL3dhc20vV2FzbUxMSW50R2VuZXJhdG9yLmNwcCAgICAgICAgICAg
ICAgIHwgMjMgKysrKysrKysrKy0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygr
KSwgNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy93YXNt
LWxvb3AtY29uc2lzdGVuY3kuanMKCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pT
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDMzNDI0ODg3NDE1OC4uZmY4MzI1M2IzNzQ3IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDIxLTA2LTE4ICBYYW4gTG9wZXogIDx4YW5AaWdhbGlhLmNvbT4KKworICAgICAg
ICBBU1NFUlQoZXhwcmVzc2lvbiA9PSBzbG90IHx8IGV4cHJlc3Npb24uaXNDb25zdGFudCgpIHx8
IGV4cHJlc3Npb24uaXNBcmd1bWVudCgpIHx8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihleHByZXNz
aW9uLnRvTG9jYWwoKSkgPCBtX2NvZGVCbG9jay0+bV9udW1WYXJzKSBpbiBMTEludEdlbmVyYXRv
cjo6Y2hlY2tDb25zaXN0ZW5jeSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjYwMTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHN0cmVzcy93YXNtLWxvb3AtY29uc2lzdGVuY3kuanM6IEFkZGVkLgor
ICAgICAgICAodm0uaXNXYXNtU3VwcG9ydGVkKToKKwogMjAyMS0wNi0xNyAgU2FhbSBCYXJhdGkg
IDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIG1pY3JvYmVuY2htYXJrcy9kZWxl
dGUtcHJvcGVydHktZnJvbS1wcm90b3R5cGUtY2hhaW4gbm90IHRpbWUgb3V0IG9uIGRlYnVnIGJ1
aWxkcwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mvd2FzbS1sb29wLWNvbnNpc3RlbmN5Lmpz
IGIvSlNUZXN0cy9zdHJlc3Mvd2FzbS1sb29wLWNvbnNpc3RlbmN5LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNWQ0OTBiOGI1YWJmCi0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy9zdHJlc3Mvd2FzbS1sb29wLWNvbnNpc3RlbmN5LmpzCkBAIC0wLDAgKzEsMTQg
QEAKKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYwMTIKK2lm
ICgkdm0uaXNXYXNtU3VwcG9ydGVkKCkpIHsKKyAgICAvLyAobW9kdWxlCisgICAgLy8gKHR5cGUg
KDswOykgKGZ1bmMgKHBhcmFtIGkzMikpKQorICAgIC8vIChmdW5jICg7MDspICh0eXBlIDApIChw
YXJhbSBpMzIpCisgICAgLy8gICBsb2NhbC5nZXQgMAorICAgIC8vICAgbG9jYWwuZ2V0IDAKKyAg
ICAvLyAgIGxvb3AgKHBhcmFtIGkzMikgIDs7IGxhYmVsID0gQDEKKyAgICAvLyAgICAgZHJvcAor
ICAgIC8vICAgZW5kCisgICAgLy8gICBkcm9wKSkKKyAgICB2YXIgd2FzbUNvZGUgPSBuZXcgV2Vi
QXNzZW1ibHkuTW9kdWxlKG5ldyBVaW50OEFycmF5KFswLCA5NywgMTE1LCAxMDksIDEsIDAsIDAs
IDAsIDEsIDUsIDEsIDk2LCAxLCAxMjcsIDAsIDMsIDIsIDEsIDAsIDEwLCAxMywgMSwgMTEsIDAs
IDB4MjAsIDAsIDB4MjAsIDAsIDB4MywgMCwgMHgxQSwgMHhiLCAweDFBLCAweGJdKSk7Cit9CisK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDAzNGNjZjI5NTJlOC4uMDJmNmNiOTliNjk5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAyMS0wNi0xOCAgWGFu
IExvcGV6ICA8eGFuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVNTRVJUKGV4cHJlc3Npb24gPT0g
c2xvdCB8fCBleHByZXNzaW9uLmlzQ29uc3RhbnQoKSB8fCBleHByZXNzaW9uLmlzQXJndW1lbnQo
KSB8fCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZXhwcmVzc2lvbi50b0xvY2FsKCkpIDwgbV9jb2Rl
QmxvY2stPm1fbnVtVmFycykgaW4gTExJbnRHZW5lcmF0b3I6OmNoZWNrQ29uc2lzdGVuY3koKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgaXMgcG9z
c2libGUgZm9yIHRoZSB3YXNtIGxsaW50IGdlbmVyYXRvciB0byBjYWxsCisgICAgICAgIGNoZWNr
Q29uc2lzdGVuY3koKSBvbiBhIHN0YWNrIHRoYXQgaXMgb25seSBoYWxmd2F5IHRocm91Z2ggYmVp
bmcKKyAgICAgICAgcHJvcGVybHkgc2V0dXAuIFNwZWNpZmljYWxseSwgd2hlbiBnZW5lcmF0aW5n
IGEgbG9vcCBibG9jaywgd2UgdXNlCisgICAgICAgIHNwbGl0U3RhY2soKSB0byBwb3AgdGhlIGFy
Z3VtZW50cyBmb3IgdGhlIGxvb3AgaW50byBhIG5ldyBzdGFjaywKKyAgICAgICAgYW5kIG1hdGVy
aWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKCkgdG8gbWF0ZXJpYWxpemUgdGhlIGNvbnN0YW50cwor
ICAgICAgICBhbmQgYWxpYXNlcyBpbiB0aGUgbG9vcCBhcmd1bWVudHMsIGJ1dCB0aGUgYXJndW1l
bnRzIHdvbid0IGJlCisgICAgICAgIGFkZGVkIGJhY2sgdG8gdGhlIHN0YWNrIHVudGlsIHRoZSB2
ZXJ5IGVuZCBvZiB0aGUgbG9vcCBjb2RlCisgICAgICAgIGdlbmVyYXRpb24uIFNpbmNlIG1hdGVy
aWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKCkgd2lsbCBjaGVjayB0aGUKKyAgICAgICAgY29ycmVj
dG5lc3Mgb2YgdGhlIGV4cHJlc3Npb24gc3RhY2ssIHdoaWNoIGlzbid0IHlldCBmdWxseSBmb3Jt
ZWQsCisgICAgICAgIHdlJ2xsIEFTU0VSVC4gVG8gd29ya2Fyb3VuZCB0aGlzLCB3ZSBjcmVhdGUg
YSB2YXJpYW50IG9mCisgICAgICAgIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKCkgdGhh
dCBkb2VzIG5vdCBjaGVjayBmb3IKKyAgICAgICAgY29ycmVjdG5lc3MgKHNpbWlsYXIgdG8gd2hh
dCB3ZSBkbyBpbiBwdXNoKCkpLCBhbmQgbWFudWFsbHkgY2hlY2sKKyAgICAgICAgdGhlIGNvcnJl
Y3RuZXNzIG9mIHRoZSBuZXcgc3BsaXQgc3RhY2sgaW4KKyAgICAgICAgV2FzbTo6TExJbnRHZW5l
cmF0b3I6OmFkZExvb3AoKSwgd2hpY2ggaXMgdGhlIHBsYWNlIHRoYXQga25vd3MgdGhlCisgICAg
ICAgIGRldGFpbHMgb2YgdGhpcyBpbnRlcm1lZGlhdGUgc3RhdGUuCisKKyAgICAgICAgRm9yIG1v
cmUgZGV0YWlscywgc2VlOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI2MDEyI2M4CisKKyAgICAgICAgKiB3YXNtL1dhc21MTEludEdlbmVyYXRvci5jcHA6CisgICAg
ICAgIChKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjpjaGVja0NvbnNpc3RlbmN5T2ZFeHByZXNz
aW9uU3RhY2spOgorICAgICAgICAoSlNDOjpXYXNtOjpMTEludEdlbmVyYXRvcjo6Y2hlY2tDb25z
aXN0ZW5jeSk6CisgICAgICAgIChKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjptYXRlcmlhbGl6
ZUNvbnN0YW50c0FuZExvY2Fscyk6CisgICAgICAgIChKU0M6Oldhc206OkxMSW50R2VuZXJhdG9y
OjphZGRMb29wKToKKwogMjAyMS0wNi0xOSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+
CiAKICAgICAgICAgW1JldmVydCByMjc4NTc2XSBQdXQgdGhlIEJhc2VsaW5lIEpJVCBwcm9sb2d1
ZSBhbmQgb3BfbG9vcF9oaW50IGNvZGUgaW4gSklUIHRodW5rcy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21MTEludEdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRHZW5lcmF0b3IuY3BwCmluZGV4IDIwYzQzMDAyNmFh
NS4uMzY1ODYwNTg1YzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
YXNtTExJbnRHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21MTEludEdlbmVyYXRvci5jcHAKQEAgLTM3OSwxMiArMzc5LDggQEAgcHJpdmF0ZToKICNlbmRp
ZiAvLyBBU1NFUlRfRU5BQkxFRAogICAgIH0KIAotICAgIHZvaWQgbWF0ZXJpYWxpemVDb25zdGFu
dHNBbmRMb2NhbHMoU3RhY2smIGV4cHJlc3Npb25TdGFjaykKKyAgICB2b2lkIG1hdGVyaWFsaXpl
Q29uc3RhbnRzQW5kTG9jYWxzKFN0YWNrJiBleHByZXNzaW9uU3RhY2ssIE5vQ29uc2lzdGVuY3lD
aGVja1RhZykKICAgICB7Ci0gICAgICAgIGlmIChleHByZXNzaW9uU3RhY2suaXNFbXB0eSgpKQot
ICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKICAgICAg
ICAgd2Fsa0V4cHJlc3Npb25TdGFjayhleHByZXNzaW9uU3RhY2ssIFsmXShUeXBlZEV4cHJlc3Np
b24mIGV4cHJlc3Npb24sIFZpcnR1YWxSZWdpc3RlciBzbG90KSB7CiAgICAgICAgICAgICBBU1NF
UlQoZXhwcmVzc2lvbi52YWx1ZSgpID09IHNsb3QgfHwgZXhwcmVzc2lvbi52YWx1ZSgpLmlzQ29u
c3RhbnQoKSB8fCBleHByZXNzaW9uLnZhbHVlKCkuaXNBcmd1bWVudCgpIHx8IHN0YXRpY19jYXN0
PHVuc2lnbmVkPihleHByZXNzaW9uLnZhbHVlKCkudG9Mb2NhbCgpKSA8IG1fY29kZUJsb2NrLT5t
X251bVZhcnMpOwogICAgICAgICAgICAgaWYgKGV4cHJlc3Npb24udmFsdWUoKSA9PSBzbG90KQpA
QCAtMzkyLDYgKzM4OCwxNSBAQCBwcml2YXRlOgogICAgICAgICAgICAgV2FzbU1vdjo6ZW1pdCh0
aGlzLCBzbG90LCBleHByZXNzaW9uKTsKICAgICAgICAgICAgIGV4cHJlc3Npb24gPSBUeXBlZEV4
cHJlc3Npb24geyBleHByZXNzaW9uLnR5cGUoKSwgc2xvdCB9OwogICAgICAgICB9KTsKKyAgICB9
CisKKyAgICB2b2lkIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKFN0YWNrJiBleHByZXNz
aW9uU3RhY2spCisgICAgeworICAgICAgICBpZiAoZXhwcmVzc2lvblN0YWNrLmlzRW1wdHkoKSkK
KyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjaGVja0NvbnNpc3RlbmN5KCk7CisgICAg
ICAgIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKGV4cHJlc3Npb25TdGFjaywgTm9Db25z
aXN0ZW5jeUNoZWNrKTsKICAgICAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogICAgIH0KIApAQCAt
ODcxLDcgKzg3NiwxMyBAQCBhdXRvIExMSW50R2VuZXJhdG9yOjpzZXRHbG9iYWwodWludDMyX3Qg
aW5kZXgsIEV4cHJlc3Npb25UeXBlIHZhbHVlKSAtPiBQYXJ0aWFsUgogYXV0byBMTEludEdlbmVy
YXRvcjo6YWRkTG9vcChCbG9ja1NpZ25hdHVyZSBzaWduYXR1cmUsIFN0YWNrJiBlbmNsb3NpbmdT
dGFjaywgQ29udHJvbFR5cGUmIGJsb2NrLCBTdGFjayYgbmV3U3RhY2ssIHVpbnQzMl90IGxvb3BJ
bmRleCkgLT4gUGFydGlhbFJlc3VsdAogewogICAgIHNwbGl0U3RhY2soc2lnbmF0dXJlLCBlbmNs
b3NpbmdTdGFjaywgbmV3U3RhY2spOwotICAgIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxz
KG5ld1N0YWNrKTsKKyAgICBtYXRlcmlhbGl6ZUNvbnN0YW50c0FuZExvY2FscyhuZXdTdGFjaywg
Tm9Db25zaXN0ZW5jeUNoZWNrKTsKKyAgICAvLyBUaGUgb25seSB2YWxpZCBzdGF0ZSBoZXJlIGlz
IGV4cHJlc3Npb24gPT0gc2xvdCwgYW5kIHdlIGNhbm5vdAorICAgIC8vIGNoZWNrIHRoZSBjb25z
aXN0ZW5jeSBvZiB0aGUgZXhwcmVzc2lvblN0YWNrIHlldCBiZWNhdXNlIHdlIGFyZQorICAgIC8v
IG5vdCBkb25lIHNldHRpbmcgaXQgdXAsIHNvIGp1c3QgY2hlY2sgbmV3U3RhY2suCisgICAgd2Fs
a0V4cHJlc3Npb25TdGFjayhuZXdTdGFjaywgW10oVmlydHVhbFJlZ2lzdGVyIGV4cHJlc3Npb24s
IFZpcnR1YWxSZWdpc3RlciBzbG90KSB7CisgICAgICAgIEFTU0VSVChleHByZXNzaW9uID09IHNs
b3QpOworICAgIH0pOwogCiAgICAgUmVmPExhYmVsPiBib2R5ID0gbmV3RW1pdHRlZExhYmVsKCk7
CiAgICAgUmVmPExhYmVsPiBjb250aW51YXRpb24gPSBuZXdMYWJlbCgpOwotLSAKMi4zMS4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431893</attachid>
            <date>2021-06-21 12:26:03 -0700</date>
            <delta_ts>2021-06-21 12:50:31 -0700</delta_ts>
            <desc>v3</desc>
            <filename>0001-JSC-Fix-consistency-check-during-stack-splitting-in-.patch</filename>
            <type>text/plain</type>
            <size>7871</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBjNGZiMTQ5ZTVjODllNGIwZjNlOWQ4YTlhZTNhNzMxNWU3M2JmMTgxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/WGFuPTIwTD1DMz1CM3Blej89IDx4YW5AaWdh
bGlhLmNvbT4KRGF0ZTogRnJpLCAxOCBKdW4gMjAyMSAxMjoyOToyMSArMDIwMApTdWJqZWN0OiBb
UEFUQ0hdIFtKU0NdIEZpeCBjb25zaXN0ZW5jeSBjaGVjayBkdXJpbmcgc3RhY2sgc3BsaXR0aW5n
IGluCiBXYXNtOjpMTEludEdlbmVyYXRvcjo6YWRkTG9vcCBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkpT
VGVzdHM6CgoqIHN0cmVzcy93YXNtLWxvb3AtY29uc2lzdGVuY3kuanM6IEFkZGVkLgoodm0uaXNX
YXNtU3VwcG9ydGVkKToKClNvdXJjZS9KYXZhU2NyaXB0Q29yZToKCkl0IGlzIHBvc3NpYmxlIGZv
ciB0aGUgd2FzbSBsbGludCBnZW5lcmF0b3IgdG8gY2FsbApjaGVja0NvbnNpc3RlbmN5KCkgb24g
YSBzdGFjayB0aGF0IGlzIG9ubHkgaGFsZndheSB0aHJvdWdoIGJlaW5nCnByb3Blcmx5IHNldHVw
LiBTcGVjaWZpY2FsbHksIHdoZW4gZ2VuZXJhdGluZyBhIGxvb3AgYmxvY2ssIHdlIHVzZQpzcGxp
dFN0YWNrKCkgdG8gcG9wIHRoZSBhcmd1bWVudHMgZm9yIHRoZSBsb29wIGludG8gYSBuZXcgc3Rh
Y2ssCmFuZCBtYXRlcmlhbGl6ZUNvbnN0YW50c0FuZExvY2FscygpIHRvIG1hdGVyaWFsaXplIHRo
ZSBjb25zdGFudHMKYW5kIGFsaWFzZXMgaW4gdGhlIGxvb3AgYXJndW1lbnRzLCBidXQgdGhlIGFy
Z3VtZW50cyB3b24ndCBiZQphZGRlZCBiYWNrIHRvIHRoZSBzdGFjayB1bnRpbCB0aGUgdmVyeSBl
bmQgb2YgdGhlIGxvb3AgY29kZQpnZW5lcmF0aW9uLiBTaW5jZSBtYXRlcmlhbGl6ZUNvbnN0YW50
c0FuZExvY2FscygpIHdpbGwgY2hlY2sgdGhlCmNvcnJlY3RuZXNzIG9mIHRoZSBleHByZXNzaW9u
IHN0YWNrLCB3aGljaCBpc24ndCB5ZXQgZnVsbHkgZm9ybWVkLAp3ZSdsbCBmYWlsIGl0cyBBU1NF
UlQuIFRvIHdvcmthcm91bmQgdGhpcywgd2UgY3JlYXRlIGEgdmFyaWFudCBvZgptYXRlcmlhbGl6
ZUNvbnN0YW50c0FuZExvY2FscygpIHRoYXQgZG9lcyBub3QgY2hlY2sgZm9yCmNvcnJlY3RuZXNz
IChzaW1pbGFyIHRvIHdoYXQgd2UgZG8gaW4gcHVzaCgpKSwgYW5kIG1hbnVhbGx5IGNoZWNrCnRo
ZSBjb3JyZWN0bmVzcyBvZiB0aGUgbmV3IHNwbGl0IHN0YWNrIGluCldhc206OkxMSW50R2VuZXJh
dG9yOjphZGRMb29wKCksIHdoaWNoIGlzIHRoZSBwbGFjZSB0aGF0IGtub3dzIHRoZQpkZXRhaWxz
IG9mIHRoaXMgaW50ZXJtZWRpYXRlIHN0YXRlLgoKRm9yIG1vcmUgZGV0YWlscywgc2VlOiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyI2M4CgoqIHdhc20vV2Fz
bUxMSW50R2VuZXJhdG9yLmNwcDoKKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6OmNoZWNrQ29u
c2lzdGVuY3lPZkV4cHJlc3Npb25TdGFjayk6CihKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjpj
aGVja0NvbnNpc3RlbmN5KToKKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6Om1hdGVyaWFsaXpl
Q29uc3RhbnRzQW5kTG9jYWxzKToKKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6OmFkZExvb3Ap
OgotLS0KIEpTVGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEw
ICsrKysrKwogSlNUZXN0cy9zdHJlc3Mvd2FzbS1sb29wLWNvbnNpc3RlbmN5LmpzICAgICAgIHwg
MTQgKysrKysrKysrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgfCAzMSArKysrKysrKysrKysrKysrKysrCiAuLi4vd2FzbS9XYXNtTExJbnRHZW5lcmF0b3Iu
Y3BwICAgICAgICAgICAgICAgfCAyOSArKysrKysrKysrKysrLS0tLQogNCBmaWxlcyBjaGFuZ2Vk
LCA3OCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IEpT
VGVzdHMvc3RyZXNzL3dhc20tbG9vcC1jb25zaXN0ZW5jeS5qcwoKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDdjNzEyY2M2NDI2Li5kOTZj
OTk5MGM3NzggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDYtMTggIFhhbiBMb3BleiAgPHhhbkBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtKU0NdIEZpeCBjb25zaXN0ZW5jeSBjaGVjayBkdXJpbmcgc3Rh
Y2sgc3BsaXR0aW5nIGluIFdhc206OkxMSW50R2VuZXJhdG9yOjphZGRMb29wCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYwMTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy93YXNtLWxvb3At
Y29uc2lzdGVuY3kuanM6IEFkZGVkLgorICAgICAgICAodm0uaXNXYXNtU3VwcG9ydGVkKToKKwog
MjAyMS0wNi0yMSAgWGFuIExvcGV6ICA8eGFuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0pTQ10g
UmVlbmFibGUgQ2hha3JhQ29yZS90ZXN0L01hdGgvbWF4LmpzIG9uIEFSTXY3IGFuZCBNSVBTCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy93YXNtLWxvb3AtY29uc2lzdGVuY3kuanMgYi9KU1Rl
c3RzL3N0cmVzcy93YXNtLWxvb3AtY29uc2lzdGVuY3kuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwLi41ZDQ5MGI4YjVhYmYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3N0cmVzcy93YXNtLWxvb3AtY29uc2lzdGVuY3kuanMKQEAgLTAsMCArMSwxNCBAQAorLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjAxMgoraWYgKCR2bS5p
c1dhc21TdXBwb3J0ZWQoKSkgeworICAgIC8vIChtb2R1bGUKKyAgICAvLyAodHlwZSAoOzA7KSAo
ZnVuYyAocGFyYW0gaTMyKSkpCisgICAgLy8gKGZ1bmMgKDswOykgKHR5cGUgMCkgKHBhcmFtIGkz
MikKKyAgICAvLyAgIGxvY2FsLmdldCAwCisgICAgLy8gICBsb2NhbC5nZXQgMAorICAgIC8vICAg
bG9vcCAocGFyYW0gaTMyKSAgOzsgbGFiZWwgPSBAMQorICAgIC8vICAgICBkcm9wCisgICAgLy8g
ICBlbmQKKyAgICAvLyAgIGRyb3ApKQorICAgIHZhciB3YXNtQ29kZSA9IG5ldyBXZWJBc3NlbWJs
eS5Nb2R1bGUobmV3IFVpbnQ4QXJyYXkoWzAsIDk3LCAxMTUsIDEwOSwgMSwgMCwgMCwgMCwgMSwg
NSwgMSwgOTYsIDEsIDEyNywgMCwgMywgMiwgMSwgMCwgMTAsIDEzLCAxLCAxMSwgMCwgMHgyMCwg
MCwgMHgyMCwgMCwgMHgzLCAwLCAweDFBLCAweGIsIDB4MUEsIDB4Yl0pKTsKK30KKwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMTkzYzBjZjFiNmU3Li5jZDVkMDU4NDA2MWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTA2LTE4ICBYYW4gTG9wZXog
IDx4YW5AaWdhbGlhLmNvbT4KKworICAgICAgICBbSlNDXSBGaXggY29uc2lzdGVuY3kgY2hlY2sg
ZHVyaW5nIHN0YWNrIHNwbGl0dGluZyBpbiBXYXNtOjpMTEludEdlbmVyYXRvcjo6YWRkTG9vcAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgaXMgcG9z
c2libGUgZm9yIHRoZSB3YXNtIGxsaW50IGdlbmVyYXRvciB0byBjYWxsCisgICAgICAgIGNoZWNr
Q29uc2lzdGVuY3koKSBvbiBhIHN0YWNrIHRoYXQgaXMgb25seSBoYWxmd2F5IHRocm91Z2ggYmVp
bmcKKyAgICAgICAgcHJvcGVybHkgc2V0dXAuIFNwZWNpZmljYWxseSwgd2hlbiBnZW5lcmF0aW5n
IGEgbG9vcCBibG9jaywgd2UgdXNlCisgICAgICAgIHNwbGl0U3RhY2soKSB0byBwb3AgdGhlIGFy
Z3VtZW50cyBmb3IgdGhlIGxvb3AgaW50byBhIG5ldyBzdGFjaywKKyAgICAgICAgYW5kIG1hdGVy
aWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKCkgdG8gbWF0ZXJpYWxpemUgdGhlIGNvbnN0YW50cwor
ICAgICAgICBhbmQgYWxpYXNlcyBpbiB0aGUgbG9vcCBhcmd1bWVudHMsIGJ1dCB0aGUgYXJndW1l
bnRzIHdvbid0IGJlCisgICAgICAgIGFkZGVkIGJhY2sgdG8gdGhlIHN0YWNrIHVudGlsIHRoZSB2
ZXJ5IGVuZCBvZiB0aGUgbG9vcCBjb2RlCisgICAgICAgIGdlbmVyYXRpb24uIFNpbmNlIG1hdGVy
aWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKCkgd2lsbCBjaGVjayB0aGUKKyAgICAgICAgY29ycmVj
dG5lc3Mgb2YgdGhlIGV4cHJlc3Npb24gc3RhY2ssIHdoaWNoIGlzbid0IHlldCBmdWxseSBmb3Jt
ZWQsCisgICAgICAgIHdlJ2xsIGZhaWwgaXRzIEFTU0VSVC4gVG8gd29ya2Fyb3VuZCB0aGlzLCB3
ZSBjcmVhdGUgYSB2YXJpYW50IG9mCisgICAgICAgIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9j
YWxzKCkgdGhhdCBkb2VzIG5vdCBjaGVjayBmb3IKKyAgICAgICAgY29ycmVjdG5lc3MgKHNpbWls
YXIgdG8gd2hhdCB3ZSBkbyBpbiBwdXNoKCkpLCBhbmQgbWFudWFsbHkgY2hlY2sKKyAgICAgICAg
dGhlIGNvcnJlY3RuZXNzIG9mIHRoZSBuZXcgc3BsaXQgc3RhY2sgaW4KKyAgICAgICAgV2FzbTo6
TExJbnRHZW5lcmF0b3I6OmFkZExvb3AoKSwgd2hpY2ggaXMgdGhlIHBsYWNlIHRoYXQga25vd3Mg
dGhlCisgICAgICAgIGRldGFpbHMgb2YgdGhpcyBpbnRlcm1lZGlhdGUgc3RhdGUuCisKKyAgICAg
ICAgRm9yIG1vcmUgZGV0YWlscywgc2VlOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI2MDEyI2M4CisKKyAgICAgICAgKiB3YXNtL1dhc21MTEludEdlbmVyYXRvci5j
cHA6CisgICAgICAgIChKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjpjaGVja0NvbnNpc3RlbmN5
T2ZFeHByZXNzaW9uU3RhY2spOgorICAgICAgICAoSlNDOjpXYXNtOjpMTEludEdlbmVyYXRvcjo6
Y2hlY2tDb25zaXN0ZW5jeSk6CisgICAgICAgIChKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjpt
YXRlcmlhbGl6ZUNvbnN0YW50c0FuZExvY2Fscyk6CisgICAgICAgIChKU0M6Oldhc206OkxMSW50
R2VuZXJhdG9yOjphZGRMb29wKToKKwogMjAyMS0wNi0yMSAgWWlqaWEgSHVhbmcgIDx5aWppYV9o
dWFuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgbmV3IHBhdHRlcm4gdG8gaW5zdHJ1Y3Rp
b24gc2VsZWN0b3IgdG8gdXRpbGl6ZSBTTVNVQkwgc3VwcG9ydGVkIGJ5IEFSTTY0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRHZW5lcmF0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUxMSW50R2VuZXJhdG9yLmNwcAppbmRleCAy
MGM0MzAwMjZhYTUuLjcwNWFmOGE4ZWIxZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbUxMSW50R2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XYXNtTExJbnRHZW5lcmF0b3IuY3BwCkBAIC0zNzksMTIgKzM3OSw4IEBAIHByaXZh
dGU6CiAjZW5kaWYgLy8gQVNTRVJUX0VOQUJMRUQKICAgICB9CiAKLSAgICB2b2lkIG1hdGVyaWFs
aXplQ29uc3RhbnRzQW5kTG9jYWxzKFN0YWNrJiBleHByZXNzaW9uU3RhY2spCisgICAgdm9pZCBt
YXRlcmlhbGl6ZUNvbnN0YW50c0FuZExvY2FscyhTdGFjayYgZXhwcmVzc2lvblN0YWNrLCBOb0Nv
bnNpc3RlbmN5Q2hlY2tUYWcpCiAgICAgewotICAgICAgICBpZiAoZXhwcmVzc2lvblN0YWNrLmlz
RW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBjaGVja0NvbnNpc3RlbmN5
KCk7CiAgICAgICAgIHdhbGtFeHByZXNzaW9uU3RhY2soZXhwcmVzc2lvblN0YWNrLCBbJl0oVHlw
ZWRFeHByZXNzaW9uJiBleHByZXNzaW9uLCBWaXJ0dWFsUmVnaXN0ZXIgc2xvdCkgewogICAgICAg
ICAgICAgQVNTRVJUKGV4cHJlc3Npb24udmFsdWUoKSA9PSBzbG90IHx8IGV4cHJlc3Npb24udmFs
dWUoKS5pc0NvbnN0YW50KCkgfHwgZXhwcmVzc2lvbi52YWx1ZSgpLmlzQXJndW1lbnQoKSB8fCBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oZXhwcmVzc2lvbi52YWx1ZSgpLnRvTG9jYWwoKSkgPCBtX2Nv
ZGVCbG9jay0+bV9udW1WYXJzKTsKICAgICAgICAgICAgIGlmIChleHByZXNzaW9uLnZhbHVlKCkg
PT0gc2xvdCkKQEAgLTM5Miw2ICszODgsMTUgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIFdhc21N
b3Y6OmVtaXQodGhpcywgc2xvdCwgZXhwcmVzc2lvbik7CiAgICAgICAgICAgICBleHByZXNzaW9u
ID0gVHlwZWRFeHByZXNzaW9uIHsgZXhwcmVzc2lvbi50eXBlKCksIHNsb3QgfTsKICAgICAgICAg
fSk7CisgICAgfQorCisgICAgdm9pZCBtYXRlcmlhbGl6ZUNvbnN0YW50c0FuZExvY2FscyhTdGFj
ayYgZXhwcmVzc2lvblN0YWNrKQorICAgIHsKKyAgICAgICAgaWYgKGV4cHJlc3Npb25TdGFjay5p
c0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgY2hlY2tDb25zaXN0ZW5j
eSgpOworICAgICAgICBtYXRlcmlhbGl6ZUNvbnN0YW50c0FuZExvY2FscyhleHByZXNzaW9uU3Rh
Y2ssIE5vQ29uc2lzdGVuY3lDaGVjayk7CiAgICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKICAg
ICB9CiAKQEAgLTg3MSw3ICs4NzYsMTkgQEAgYXV0byBMTEludEdlbmVyYXRvcjo6c2V0R2xvYmFs
KHVpbnQzMl90IGluZGV4LCBFeHByZXNzaW9uVHlwZSB2YWx1ZSkgLT4gUGFydGlhbFIKIGF1dG8g
TExJbnRHZW5lcmF0b3I6OmFkZExvb3AoQmxvY2tTaWduYXR1cmUgc2lnbmF0dXJlLCBTdGFjayYg
ZW5jbG9zaW5nU3RhY2ssIENvbnRyb2xUeXBlJiBibG9jaywgU3RhY2smIG5ld1N0YWNrLCB1aW50
MzJfdCBsb29wSW5kZXgpIC0+IFBhcnRpYWxSZXN1bHQKIHsKICAgICBzcGxpdFN0YWNrKHNpZ25h
dHVyZSwgZW5jbG9zaW5nU3RhY2ssIG5ld1N0YWNrKTsKLSAgICBtYXRlcmlhbGl6ZUNvbnN0YW50
c0FuZExvY2FscyhuZXdTdGFjayk7CisgICAgbWF0ZXJpYWxpemVDb25zdGFudHNBbmRMb2NhbHMo
bmV3U3RhY2ssIE5vQ29uc2lzdGVuY3lDaGVjayk7CisjaWYgQVNTRVJUX0VOQUJMRUQKKyAgICAv
LyBXZSBjYW5ub3QgeWV0IGNhbGwgY2hlY2tDb25zaXN0ZW5jeSwgc2luY2UgdGhlIGFyZ3VtZW50
cyB3ZSBhcmUKKyAgICAvLyBtYXRlcmlhbGl6aW5nIGZvciB0aGUgbG9vcCBhcmUgbm90IG5laXRo
ZXIgaW4gdGhlIGV4cHJlc3Npb24KKyAgICAvLyBub3IgdGhlIGNvbnRyb2wgc3RhY2ssIGFuZCBp
dCB3b24ndCBrbm93IHdoYXQgdG8gZG8gaW4gdGhpcworICAgIC8vIGludGVybWVkaWF0ZSBzdGF0
ZS4gQXMgYSBzYW5pdHkgY2hlY2sganVzdCB2ZXJpZnkgdGhhdAorICAgIC8vIGV2ZXJ5dGhpbmcg
aW4gbmV3U3RhY2sgaXMgYSB2aXJ0dWFsIHJlZ2lzdGVyIHRoYXQgaXMgYWN0dWFsbHkKKyAgICAv
LyBwb2ludGluZyB0byBlYWNoIHN0YWNrIHBvc2l0aW9uLCB3aGljaCBpcyB3aGF0IHdlIHNob3Vs
ZCBoYXZlCisgICAgLy8ganVzdCBkb25lIGluIHRoZSBwcmV2aW91cyBjYWxsLgorICAgIHdhbGtF
eHByZXNzaW9uU3RhY2sobmV3U3RhY2ssIFtdKFZpcnR1YWxSZWdpc3RlciBleHByZXNzaW9uLCBW
aXJ0dWFsUmVnaXN0ZXIgc2xvdCkgeworICAgICAgICBBU1NFUlQoZXhwcmVzc2lvbiA9PSBzbG90
KTsKKyAgICB9KTsKKyNlbmRpZgogCiAgICAgUmVmPExhYmVsPiBib2R5ID0gbmV3RW1pdHRlZExh
YmVsKCk7CiAgICAgUmVmPExhYmVsPiBjb250aW51YXRpb24gPSBuZXdMYWJlbCgpOwotLSAKMi4z
MS4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431897</attachid>
            <date>2021-06-21 12:50:31 -0700</date>
            <delta_ts>2021-06-21 12:51:47 -0700</delta_ts>
            <desc>v4</desc>
            <filename>0001-JSC-Fix-consistency-check-during-stack-splitting-in-.patch</filename>
            <type>text/plain</type>
            <size>7984</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBjMWYwZDcyYTRkNDM3N2NiMmFjNjdlOGI3Njg5YjVkY2QyZmMxNTNjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/WGFuPTIwTD1DMz1CM3Blej89IDx4YW5AaWdh
bGlhLmNvbT4KRGF0ZTogRnJpLCAxOCBKdW4gMjAyMSAxMjoyOToyMSArMDIwMApTdWJqZWN0OiBb
UEFUQ0hdIFtKU0NdIEZpeCBjb25zaXN0ZW5jeSBjaGVjayBkdXJpbmcgc3RhY2sgc3BsaXR0aW5n
IGluCiBXYXNtOjpMTEludEdlbmVyYXRvcjo6YWRkTG9vcCBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkpT
VGVzdHM6CgoqIHN0cmVzcy93YXNtLWxvb3AtY29uc2lzdGVuY3kuanM6IEFkZGVkLgoodm0uaXNX
YXNtU3VwcG9ydGVkKToKClNvdXJjZS9KYXZhU2NyaXB0Q29yZToKCkl0IGlzIHBvc3NpYmxlIGZv
ciB0aGUgd2FzbSBsbGludCBnZW5lcmF0b3IgdG8gY2FsbApjaGVja0NvbnNpc3RlbmN5KCkgb24g
YSBzdGFjayB0aGF0IGlzIG9ubHkgaGFsZndheSB0aHJvdWdoIGJlaW5nCnByb3Blcmx5IHNldHVw
LiBTcGVjaWZpY2FsbHksIHdoZW4gZ2VuZXJhdGluZyBhIGxvb3AgYmxvY2ssIHdlIHVzZQpzcGxp
dFN0YWNrKCkgdG8gcG9wIHRoZSBhcmd1bWVudHMgZm9yIHRoZSBsb29wIGludG8gYSBuZXcgc3Rh
Y2ssCmFuZCBtYXRlcmlhbGl6ZUNvbnN0YW50c0FuZExvY2FscygpIHRvIG1hdGVyaWFsaXplIHRo
ZSBjb25zdGFudHMKYW5kIGFsaWFzZXMgaW4gdGhlIGxvb3AgYXJndW1lbnRzLCBidXQgdGhlIGFy
Z3VtZW50cyB3b24ndCBiZQphZGRlZCBiYWNrIHRvIHRoZSBzdGFjayB1bnRpbCB0aGUgdmVyeSBl
bmQgb2YgdGhlIGxvb3AgY29kZQpnZW5lcmF0aW9uLiBTaW5jZSBtYXRlcmlhbGl6ZUNvbnN0YW50
c0FuZExvY2FscygpIHdpbGwgY2hlY2sgdGhlCmNvcnJlY3RuZXNzIG9mIHRoZSBleHByZXNzaW9u
IHN0YWNrLCB3aGljaCBpc24ndCB5ZXQgZnVsbHkgZm9ybWVkLAp3ZSdsbCBmYWlsIGl0cyBBU1NF
UlQuIFRvIHdvcmthcm91bmQgdGhpcywgd2UgY3JlYXRlIGEgdmFyaWFudCBvZgptYXRlcmlhbGl6
ZUNvbnN0YW50c0FuZExvY2FscygpIHRoYXQgZG9lcyBub3QgY2hlY2sgZm9yCmNvcnJlY3RuZXNz
IChzaW1pbGFyIHRvIHdoYXQgd2UgZG8gaW4gcHVzaCgpKSwgYW5kIG1hbnVhbGx5IGNoZWNrCnRo
ZSBjb3JyZWN0bmVzcyBvZiB0aGUgbmV3IHNwbGl0IHN0YWNrIGluCldhc206OkxMSW50R2VuZXJh
dG9yOjphZGRMb29wKCksIHdoaWNoIGlzIHRoZSBwbGFjZSB0aGF0IGtub3dzIHRoZQpkZXRhaWxz
IG9mIHRoaXMgaW50ZXJtZWRpYXRlIHN0YXRlLgoKRm9yIG1vcmUgZGV0YWlscywgc2VlOiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyI2M4CgoqIHdhc20vV2Fz
bUxMSW50R2VuZXJhdG9yLmNwcDoKKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6OmNoZWNrQ29u
c2lzdGVuY3lPZkV4cHJlc3Npb25TdGFjayk6CihKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjpj
aGVja0NvbnNpc3RlbmN5KToKKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6Om1hdGVyaWFsaXpl
Q29uc3RhbnRzQW5kTG9jYWxzKToKKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6OmFkZExvb3Ap
OgotLS0KIEpTVGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEw
ICsrKysrKwogSlNUZXN0cy9zdHJlc3Mvd2FzbS1sb29wLWNvbnNpc3RlbmN5LmpzICAgICAgIHwg
MTQgKysrKysrKysrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgfCAzMSArKysrKysrKysrKysrKysrKysrCiAuLi4vd2FzbS9XYXNtTExJbnRHZW5lcmF0b3Iu
Y3BwICAgICAgICAgICAgICAgfCAzMCArKysrKysrKysrKysrKy0tLS0KIDQgZmlsZXMgY2hhbmdl
ZCwgNzkgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBK
U1Rlc3RzL3N0cmVzcy93YXNtLWxvb3AtY29uc2lzdGVuY3kuanMKCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA5YzY1OTkzZmIzMi4uNDdm
MjIxZDU1ZWMxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA2LTE4ICBYYW4gTG9wZXogIDx4YW5AaWdh
bGlhLmNvbT4KKworICAgICAgICBbSlNDXSBGaXggY29uc2lzdGVuY3kgY2hlY2sgZHVyaW5nIHN0
YWNrIHNwbGl0dGluZyBpbiBXYXNtOjpMTEludEdlbmVyYXRvcjo6YWRkTG9vcAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3Mvd2FzbS1sb29w
LWNvbnNpc3RlbmN5LmpzOiBBZGRlZC4KKyAgICAgICAgKHZtLmlzV2FzbVN1cHBvcnRlZCk6CisK
IDIwMjEtMDYtMjEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZWxlYXNlIGFzc2VydCBtZW1vcnkgaW4gSlNDOjpXYXNtOjpNZW1vcnk6Omdyb3dTaGFyZWQo
SlNDOjpXYXNtOjpQYWdlQ291bnQpOjo8bGFtYmRhKCk+CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0
cmVzcy93YXNtLWxvb3AtY29uc2lzdGVuY3kuanMgYi9KU1Rlc3RzL3N0cmVzcy93YXNtLWxvb3At
Y29uc2lzdGVuY3kuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41
ZDQ5MGI4YjVhYmYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy93YXNtLWxvb3At
Y29uc2lzdGVuY3kuanMKQEAgLTAsMCArMSwxNCBAQAorLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNjAxMgoraWYgKCR2bS5pc1dhc21TdXBwb3J0ZWQoKSkgewor
ICAgIC8vIChtb2R1bGUKKyAgICAvLyAodHlwZSAoOzA7KSAoZnVuYyAocGFyYW0gaTMyKSkpCisg
ICAgLy8gKGZ1bmMgKDswOykgKHR5cGUgMCkgKHBhcmFtIGkzMikKKyAgICAvLyAgIGxvY2FsLmdl
dCAwCisgICAgLy8gICBsb2NhbC5nZXQgMAorICAgIC8vICAgbG9vcCAocGFyYW0gaTMyKSAgOzsg
bGFiZWwgPSBAMQorICAgIC8vICAgICBkcm9wCisgICAgLy8gICBlbmQKKyAgICAvLyAgIGRyb3Ap
KQorICAgIHZhciB3YXNtQ29kZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUobmV3IFVpbnQ4QXJy
YXkoWzAsIDk3LCAxMTUsIDEwOSwgMSwgMCwgMCwgMCwgMSwgNSwgMSwgOTYsIDEsIDEyNywgMCwg
MywgMiwgMSwgMCwgMTAsIDEzLCAxLCAxMSwgMCwgMHgyMCwgMCwgMHgyMCwgMCwgMHgzLCAwLCAw
eDFBLCAweGIsIDB4MUEsIDB4Yl0pKTsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWQ2MWRiMWExYjIwLi4wYWE4ZWY4MzQ2YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM0IEBACisyMDIxLTA2LTE4ICBYYW4gTG9wZXogIDx4YW5AaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbSlNDXSBGaXggY29uc2lzdGVuY3kgY2hlY2sgZHVyaW5nIHN0YWNrIHNwbGl0dGlu
ZyBpbiBXYXNtOjpMTEludEdlbmVyYXRvcjo6YWRkTG9vcAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgaXMgcG9zc2libGUgZm9yIHRoZSB3YXNtIGxs
aW50IGdlbmVyYXRvciB0byBjYWxsCisgICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKSBvbiBhIHN0
YWNrIHRoYXQgaXMgb25seSBoYWxmd2F5IHRocm91Z2ggYmVpbmcKKyAgICAgICAgcHJvcGVybHkg
c2V0dXAuIFNwZWNpZmljYWxseSwgd2hlbiBnZW5lcmF0aW5nIGEgbG9vcCBibG9jaywgd2UgdXNl
CisgICAgICAgIHNwbGl0U3RhY2soKSB0byBwb3AgdGhlIGFyZ3VtZW50cyBmb3IgdGhlIGxvb3Ag
aW50byBhIG5ldyBzdGFjaywKKyAgICAgICAgYW5kIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9j
YWxzKCkgdG8gbWF0ZXJpYWxpemUgdGhlIGNvbnN0YW50cworICAgICAgICBhbmQgYWxpYXNlcyBp
biB0aGUgbG9vcCBhcmd1bWVudHMsIGJ1dCB0aGUgYXJndW1lbnRzIHdvbid0IGJlCisgICAgICAg
IGFkZGVkIGJhY2sgdG8gdGhlIHN0YWNrIHVudGlsIHRoZSB2ZXJ5IGVuZCBvZiB0aGUgbG9vcCBj
b2RlCisgICAgICAgIGdlbmVyYXRpb24uIFNpbmNlIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9j
YWxzKCkgd2lsbCBjaGVjayB0aGUKKyAgICAgICAgY29ycmVjdG5lc3Mgb2YgdGhlIGV4cHJlc3Np
b24gc3RhY2ssIHdoaWNoIGlzbid0IHlldCBmdWxseSBmb3JtZWQsCisgICAgICAgIHdlJ2xsIGZh
aWwgaXRzIEFTU0VSVC4gVG8gd29ya2Fyb3VuZCB0aGlzLCB3ZSBjcmVhdGUgYSB2YXJpYW50IG9m
CisgICAgICAgIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKCkgdGhhdCBkb2VzIG5vdCBj
aGVjayBmb3IKKyAgICAgICAgY29ycmVjdG5lc3MgKHNpbWlsYXIgdG8gd2hhdCB3ZSBkbyBpbiBw
dXNoKCkpLCBhbmQgbWFudWFsbHkgY2hlY2sKKyAgICAgICAgdGhlIGNvcnJlY3RuZXNzIG9mIHRo
ZSBuZXcgc3BsaXQgc3RhY2sgaW4KKyAgICAgICAgV2FzbTo6TExJbnRHZW5lcmF0b3I6OmFkZExv
b3AoKSwgd2hpY2ggaXMgdGhlIHBsYWNlIHRoYXQga25vd3MgdGhlCisgICAgICAgIGRldGFpbHMg
b2YgdGhpcyBpbnRlcm1lZGlhdGUgc3RhdGUuCisKKyAgICAgICAgRm9yIG1vcmUgZGV0YWlscywg
c2VlOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyI2M4CisK
KyAgICAgICAgKiB3YXNtL1dhc21MTEludEdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6Oldh
c206OkxMSW50R2VuZXJhdG9yOjpjaGVja0NvbnNpc3RlbmN5T2ZFeHByZXNzaW9uU3RhY2spOgor
ICAgICAgICAoSlNDOjpXYXNtOjpMTEludEdlbmVyYXRvcjo6Y2hlY2tDb25zaXN0ZW5jeSk6Cisg
ICAgICAgIChKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjptYXRlcmlhbGl6ZUNvbnN0YW50c0Fu
ZExvY2Fscyk6CisgICAgICAgIChKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjphZGRMb29wKToK
KwogMjAyMS0wNi0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbGVhc2UgYXNzZXJ0IG1lbW9yeSBpbiBKU0M6Oldhc206Ok1lbW9yeTo6Z3Jvd1NoYXJl
ZChKU0M6Oldhc206OlBhZ2VDb3VudCk6OjxsYW1iZGEoKT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21MTEludEdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtTExJbnRHZW5lcmF0b3IuY3BwCmluZGV4IDIwYzQzMDAyNmFhNS4u
YzY5Nzc4NjI1MTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNt
TExJbnRHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21M
TEludEdlbmVyYXRvci5jcHAKQEAgLTM3OSwxMiArMzc5LDggQEAgcHJpdmF0ZToKICNlbmRpZiAv
LyBBU1NFUlRfRU5BQkxFRAogICAgIH0KIAotICAgIHZvaWQgbWF0ZXJpYWxpemVDb25zdGFudHNB
bmRMb2NhbHMoU3RhY2smIGV4cHJlc3Npb25TdGFjaykKKyAgICB2b2lkIG1hdGVyaWFsaXplQ29u
c3RhbnRzQW5kTG9jYWxzKFN0YWNrJiBleHByZXNzaW9uU3RhY2ssIE5vQ29uc2lzdGVuY3lDaGVj
a1RhZykKICAgICB7Ci0gICAgICAgIGlmIChleHByZXNzaW9uU3RhY2suaXNFbXB0eSgpKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKICAgICAgICAg
d2Fsa0V4cHJlc3Npb25TdGFjayhleHByZXNzaW9uU3RhY2ssIFsmXShUeXBlZEV4cHJlc3Npb24m
IGV4cHJlc3Npb24sIFZpcnR1YWxSZWdpc3RlciBzbG90KSB7CiAgICAgICAgICAgICBBU1NFUlQo
ZXhwcmVzc2lvbi52YWx1ZSgpID09IHNsb3QgfHwgZXhwcmVzc2lvbi52YWx1ZSgpLmlzQ29uc3Rh
bnQoKSB8fCBleHByZXNzaW9uLnZhbHVlKCkuaXNBcmd1bWVudCgpIHx8IHN0YXRpY19jYXN0PHVu
c2lnbmVkPihleHByZXNzaW9uLnZhbHVlKCkudG9Mb2NhbCgpKSA8IG1fY29kZUJsb2NrLT5tX251
bVZhcnMpOwogICAgICAgICAgICAgaWYgKGV4cHJlc3Npb24udmFsdWUoKSA9PSBzbG90KQpAQCAt
MzkyLDYgKzM4OCwxNSBAQCBwcml2YXRlOgogICAgICAgICAgICAgV2FzbU1vdjo6ZW1pdCh0aGlz
LCBzbG90LCBleHByZXNzaW9uKTsKICAgICAgICAgICAgIGV4cHJlc3Npb24gPSBUeXBlZEV4cHJl
c3Npb24geyBleHByZXNzaW9uLnR5cGUoKSwgc2xvdCB9OwogICAgICAgICB9KTsKKyAgICB9CisK
KyAgICB2b2lkIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKFN0YWNrJiBleHByZXNzaW9u
U3RhY2spCisgICAgeworICAgICAgICBpZiAoZXhwcmVzc2lvblN0YWNrLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjaGVja0NvbnNpc3RlbmN5KCk7CisgICAgICAg
IG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKGV4cHJlc3Npb25TdGFjaywgTm9Db25zaXN0
ZW5jeUNoZWNrKTsKICAgICAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogICAgIH0KIApAQCAtODcx
LDcgKzg3NiwyMCBAQCBhdXRvIExMSW50R2VuZXJhdG9yOjpzZXRHbG9iYWwodWludDMyX3QgaW5k
ZXgsIEV4cHJlc3Npb25UeXBlIHZhbHVlKSAtPiBQYXJ0aWFsUgogYXV0byBMTEludEdlbmVyYXRv
cjo6YWRkTG9vcChCbG9ja1NpZ25hdHVyZSBzaWduYXR1cmUsIFN0YWNrJiBlbmNsb3NpbmdTdGFj
aywgQ29udHJvbFR5cGUmIGJsb2NrLCBTdGFjayYgbmV3U3RhY2ssIHVpbnQzMl90IGxvb3BJbmRl
eCkgLT4gUGFydGlhbFJlc3VsdAogewogICAgIHNwbGl0U3RhY2soc2lnbmF0dXJlLCBlbmNsb3Np
bmdTdGFjaywgbmV3U3RhY2spOwotICAgIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKG5l
d1N0YWNrKTsKKyAgICBtYXRlcmlhbGl6ZUNvbnN0YW50c0FuZExvY2FscyhuZXdTdGFjaywgTm9D
b25zaXN0ZW5jeUNoZWNrKTsKKyNpZiBBU1NFUlRfRU5BQkxFRAorICAgIC8vIFdlIGNhbm5vdCB5
ZXQgY2FsbCBjaGVja0NvbnNpc3RlbmN5LCBzaW5jZSB0aGUgYXJndW1lbnRzIHdlIGFyZQorICAg
IC8vIG1hdGVyaWFsaXppbmcgZm9yIHRoZSBsb29wIGFyZSBub3QgbmVpdGhlciBpbiB0aGUgZXhw
cmVzc2lvbgorICAgIC8vIG5vciB0aGUgY29udHJvbCBzdGFjaywgYW5kIGl0IHdvbid0IGtub3cg
d2hhdCB0byBkbyBpbiB0aGlzCisgICAgLy8gaW50ZXJtZWRpYXRlIHN0YXRlLiBBcyBhIHNhbml0
eSBjaGVjayBqdXN0IHZlcmlmeSB0aGF0CisgICAgLy8gZXZlcnl0aGluZyBpbiBuZXdTdGFjayBp
cyBhIHZpcnR1YWwgcmVnaXN0ZXIgdGhhdCBpcyBhY3R1YWxseQorICAgIC8vIHBvaW50aW5nIHRv
IGVhY2ggc3RhY2sgcG9zaXRpb24sIHdoaWNoIGlzIHdoYXQgd2Ugc2hvdWxkIGhhdmUKKyAgICAv
LyBhZnRlciB3ZSBzcGxpdCB0aGUgc3RpY2sgYW5kIHRoZSBwcmV2aW91cyBjYWxsIG1hdGVyaWFs
aXplcworICAgIC8vIGNvbnN0YW50cyBhbmQgYWxpYXNlcyBpZiBuZWVkZWQuCisgICAgd2Fsa0V4
cHJlc3Npb25TdGFjayhuZXdTdGFjaywgW10oVmlydHVhbFJlZ2lzdGVyIGV4cHJlc3Npb24sIFZp
cnR1YWxSZWdpc3RlciBzbG90KSB7CisgICAgICAgIEFTU0VSVChleHByZXNzaW9uID09IHNsb3Qp
OworICAgIH0pOworI2VuZGlmCiAKICAgICBSZWY8TGFiZWw+IGJvZHkgPSBuZXdFbWl0dGVkTGFi
ZWwoKTsKICAgICBSZWY8TGFiZWw+IGNvbnRpbnVhdGlvbiA9IG5ld0xhYmVsKCk7Ci0tIAoyLjMx
LjEKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431898</attachid>
            <date>2021-06-21 12:51:47 -0700</date>
            <delta_ts>2021-06-21 14:07:00 -0700</delta_ts>
            <desc>v5</desc>
            <filename>0001-JSC-Fix-consistency-check-during-stack-splitting-in-.patch</filename>
            <type>text/plain</type>
            <size>7984</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAzMzEwOTA2MWQ5ZTQ5ODcwNzMwZjFkOTFhNGRkNTg1MWYwMGRkNzJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/WGFuPTIwTD1DMz1CM3Blej89IDx4YW5AaWdh
bGlhLmNvbT4KRGF0ZTogRnJpLCAxOCBKdW4gMjAyMSAxMjoyOToyMSArMDIwMApTdWJqZWN0OiBb
UEFUQ0hdIFtKU0NdIEZpeCBjb25zaXN0ZW5jeSBjaGVjayBkdXJpbmcgc3RhY2sgc3BsaXR0aW5n
IGluCiBXYXNtOjpMTEludEdlbmVyYXRvcjo6YWRkTG9vcCBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkpT
VGVzdHM6CgoqIHN0cmVzcy93YXNtLWxvb3AtY29uc2lzdGVuY3kuanM6IEFkZGVkLgoodm0uaXNX
YXNtU3VwcG9ydGVkKToKClNvdXJjZS9KYXZhU2NyaXB0Q29yZToKCkl0IGlzIHBvc3NpYmxlIGZv
ciB0aGUgd2FzbSBsbGludCBnZW5lcmF0b3IgdG8gY2FsbApjaGVja0NvbnNpc3RlbmN5KCkgb24g
YSBzdGFjayB0aGF0IGlzIG9ubHkgaGFsZndheSB0aHJvdWdoIGJlaW5nCnByb3Blcmx5IHNldHVw
LiBTcGVjaWZpY2FsbHksIHdoZW4gZ2VuZXJhdGluZyBhIGxvb3AgYmxvY2ssIHdlIHVzZQpzcGxp
dFN0YWNrKCkgdG8gcG9wIHRoZSBhcmd1bWVudHMgZm9yIHRoZSBsb29wIGludG8gYSBuZXcgc3Rh
Y2ssCmFuZCBtYXRlcmlhbGl6ZUNvbnN0YW50c0FuZExvY2FscygpIHRvIG1hdGVyaWFsaXplIHRo
ZSBjb25zdGFudHMKYW5kIGFsaWFzZXMgaW4gdGhlIGxvb3AgYXJndW1lbnRzLCBidXQgdGhlIGFy
Z3VtZW50cyB3b24ndCBiZQphZGRlZCBiYWNrIHRvIHRoZSBzdGFjayB1bnRpbCB0aGUgdmVyeSBl
bmQgb2YgdGhlIGxvb3AgY29kZQpnZW5lcmF0aW9uLiBTaW5jZSBtYXRlcmlhbGl6ZUNvbnN0YW50
c0FuZExvY2FscygpIHdpbGwgY2hlY2sgdGhlCmNvcnJlY3RuZXNzIG9mIHRoZSBleHByZXNzaW9u
IHN0YWNrLCB3aGljaCBpc24ndCB5ZXQgZnVsbHkgZm9ybWVkLAp3ZSdsbCBmYWlsIGl0cyBBU1NF
UlQuIFRvIHdvcmthcm91bmQgdGhpcywgd2UgY3JlYXRlIGEgdmFyaWFudCBvZgptYXRlcmlhbGl6
ZUNvbnN0YW50c0FuZExvY2FscygpIHRoYXQgZG9lcyBub3QgY2hlY2sgZm9yCmNvcnJlY3RuZXNz
IChzaW1pbGFyIHRvIHdoYXQgd2UgZG8gaW4gcHVzaCgpKSwgYW5kIG1hbnVhbGx5IGNoZWNrCnRo
ZSBjb3JyZWN0bmVzcyBvZiB0aGUgbmV3IHNwbGl0IHN0YWNrIGluCldhc206OkxMSW50R2VuZXJh
dG9yOjphZGRMb29wKCksIHdoaWNoIGlzIHRoZSBwbGFjZSB0aGF0IGtub3dzIHRoZQpkZXRhaWxz
IG9mIHRoaXMgaW50ZXJtZWRpYXRlIHN0YXRlLgoKRm9yIG1vcmUgZGV0YWlscywgc2VlOiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyI2M4CgoqIHdhc20vV2Fz
bUxMSW50R2VuZXJhdG9yLmNwcDoKKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6OmNoZWNrQ29u
c2lzdGVuY3lPZkV4cHJlc3Npb25TdGFjayk6CihKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjpj
aGVja0NvbnNpc3RlbmN5KToKKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6Om1hdGVyaWFsaXpl
Q29uc3RhbnRzQW5kTG9jYWxzKToKKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6OmFkZExvb3Ap
OgotLS0KIEpTVGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEw
ICsrKysrKwogSlNUZXN0cy9zdHJlc3Mvd2FzbS1sb29wLWNvbnNpc3RlbmN5LmpzICAgICAgIHwg
MTQgKysrKysrKysrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgfCAzMSArKysrKysrKysrKysrKysrKysrCiAuLi4vd2FzbS9XYXNtTExJbnRHZW5lcmF0b3Iu
Y3BwICAgICAgICAgICAgICAgfCAzMCArKysrKysrKysrKysrKy0tLS0KIDQgZmlsZXMgY2hhbmdl
ZCwgNzkgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBK
U1Rlc3RzL3N0cmVzcy93YXNtLWxvb3AtY29uc2lzdGVuY3kuanMKCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA5YzY1OTkzZmIzMi4uNDdm
MjIxZDU1ZWMxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA2LTE4ICBYYW4gTG9wZXogIDx4YW5AaWdh
bGlhLmNvbT4KKworICAgICAgICBbSlNDXSBGaXggY29uc2lzdGVuY3kgY2hlY2sgZHVyaW5nIHN0
YWNrIHNwbGl0dGluZyBpbiBXYXNtOjpMTEludEdlbmVyYXRvcjo6YWRkTG9vcAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3Mvd2FzbS1sb29w
LWNvbnNpc3RlbmN5LmpzOiBBZGRlZC4KKyAgICAgICAgKHZtLmlzV2FzbVN1cHBvcnRlZCk6CisK
IDIwMjEtMDYtMjEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZWxlYXNlIGFzc2VydCBtZW1vcnkgaW4gSlNDOjpXYXNtOjpNZW1vcnk6Omdyb3dTaGFyZWQo
SlNDOjpXYXNtOjpQYWdlQ291bnQpOjo8bGFtYmRhKCk+CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0
cmVzcy93YXNtLWxvb3AtY29uc2lzdGVuY3kuanMgYi9KU1Rlc3RzL3N0cmVzcy93YXNtLWxvb3At
Y29uc2lzdGVuY3kuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41
ZDQ5MGI4YjVhYmYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy93YXNtLWxvb3At
Y29uc2lzdGVuY3kuanMKQEAgLTAsMCArMSwxNCBAQAorLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNjAxMgoraWYgKCR2bS5pc1dhc21TdXBwb3J0ZWQoKSkgewor
ICAgIC8vIChtb2R1bGUKKyAgICAvLyAodHlwZSAoOzA7KSAoZnVuYyAocGFyYW0gaTMyKSkpCisg
ICAgLy8gKGZ1bmMgKDswOykgKHR5cGUgMCkgKHBhcmFtIGkzMikKKyAgICAvLyAgIGxvY2FsLmdl
dCAwCisgICAgLy8gICBsb2NhbC5nZXQgMAorICAgIC8vICAgbG9vcCAocGFyYW0gaTMyKSAgOzsg
bGFiZWwgPSBAMQorICAgIC8vICAgICBkcm9wCisgICAgLy8gICBlbmQKKyAgICAvLyAgIGRyb3Ap
KQorICAgIHZhciB3YXNtQ29kZSA9IG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUobmV3IFVpbnQ4QXJy
YXkoWzAsIDk3LCAxMTUsIDEwOSwgMSwgMCwgMCwgMCwgMSwgNSwgMSwgOTYsIDEsIDEyNywgMCwg
MywgMiwgMSwgMCwgMTAsIDEzLCAxLCAxMSwgMCwgMHgyMCwgMCwgMHgyMCwgMCwgMHgzLCAwLCAw
eDFBLCAweGIsIDB4MUEsIDB4Yl0pKTsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWQ2MWRiMWExYjIwLi4wYWE4ZWY4MzQ2YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM0IEBACisyMDIxLTA2LTE4ICBYYW4gTG9wZXogIDx4YW5AaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbSlNDXSBGaXggY29uc2lzdGVuY3kgY2hlY2sgZHVyaW5nIHN0YWNrIHNwbGl0dGlu
ZyBpbiBXYXNtOjpMTEludEdlbmVyYXRvcjo6YWRkTG9vcAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgaXMgcG9zc2libGUgZm9yIHRoZSB3YXNtIGxs
aW50IGdlbmVyYXRvciB0byBjYWxsCisgICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKSBvbiBhIHN0
YWNrIHRoYXQgaXMgb25seSBoYWxmd2F5IHRocm91Z2ggYmVpbmcKKyAgICAgICAgcHJvcGVybHkg
c2V0dXAuIFNwZWNpZmljYWxseSwgd2hlbiBnZW5lcmF0aW5nIGEgbG9vcCBibG9jaywgd2UgdXNl
CisgICAgICAgIHNwbGl0U3RhY2soKSB0byBwb3AgdGhlIGFyZ3VtZW50cyBmb3IgdGhlIGxvb3Ag
aW50byBhIG5ldyBzdGFjaywKKyAgICAgICAgYW5kIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9j
YWxzKCkgdG8gbWF0ZXJpYWxpemUgdGhlIGNvbnN0YW50cworICAgICAgICBhbmQgYWxpYXNlcyBp
biB0aGUgbG9vcCBhcmd1bWVudHMsIGJ1dCB0aGUgYXJndW1lbnRzIHdvbid0IGJlCisgICAgICAg
IGFkZGVkIGJhY2sgdG8gdGhlIHN0YWNrIHVudGlsIHRoZSB2ZXJ5IGVuZCBvZiB0aGUgbG9vcCBj
b2RlCisgICAgICAgIGdlbmVyYXRpb24uIFNpbmNlIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9j
YWxzKCkgd2lsbCBjaGVjayB0aGUKKyAgICAgICAgY29ycmVjdG5lc3Mgb2YgdGhlIGV4cHJlc3Np
b24gc3RhY2ssIHdoaWNoIGlzbid0IHlldCBmdWxseSBmb3JtZWQsCisgICAgICAgIHdlJ2xsIGZh
aWwgaXRzIEFTU0VSVC4gVG8gd29ya2Fyb3VuZCB0aGlzLCB3ZSBjcmVhdGUgYSB2YXJpYW50IG9m
CisgICAgICAgIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKCkgdGhhdCBkb2VzIG5vdCBj
aGVjayBmb3IKKyAgICAgICAgY29ycmVjdG5lc3MgKHNpbWlsYXIgdG8gd2hhdCB3ZSBkbyBpbiBw
dXNoKCkpLCBhbmQgbWFudWFsbHkgY2hlY2sKKyAgICAgICAgdGhlIGNvcnJlY3RuZXNzIG9mIHRo
ZSBuZXcgc3BsaXQgc3RhY2sgaW4KKyAgICAgICAgV2FzbTo6TExJbnRHZW5lcmF0b3I6OmFkZExv
b3AoKSwgd2hpY2ggaXMgdGhlIHBsYWNlIHRoYXQga25vd3MgdGhlCisgICAgICAgIGRldGFpbHMg
b2YgdGhpcyBpbnRlcm1lZGlhdGUgc3RhdGUuCisKKyAgICAgICAgRm9yIG1vcmUgZGV0YWlscywg
c2VlOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MDEyI2M4CisK
KyAgICAgICAgKiB3YXNtL1dhc21MTEludEdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6Oldh
c206OkxMSW50R2VuZXJhdG9yOjpjaGVja0NvbnNpc3RlbmN5T2ZFeHByZXNzaW9uU3RhY2spOgor
ICAgICAgICAoSlNDOjpXYXNtOjpMTEludEdlbmVyYXRvcjo6Y2hlY2tDb25zaXN0ZW5jeSk6Cisg
ICAgICAgIChKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjptYXRlcmlhbGl6ZUNvbnN0YW50c0Fu
ZExvY2Fscyk6CisgICAgICAgIChKU0M6Oldhc206OkxMSW50R2VuZXJhdG9yOjphZGRMb29wKToK
KwogMjAyMS0wNi0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbGVhc2UgYXNzZXJ0IG1lbW9yeSBpbiBKU0M6Oldhc206Ok1lbW9yeTo6Z3Jvd1NoYXJl
ZChKU0M6Oldhc206OlBhZ2VDb3VudCk6OjxsYW1iZGEoKT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21MTEludEdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtTExJbnRHZW5lcmF0b3IuY3BwCmluZGV4IDIwYzQzMDAyNmFhNS4u
OTg3YTYxOGQ4YWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNt
TExJbnRHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21M
TEludEdlbmVyYXRvci5jcHAKQEAgLTM3OSwxMiArMzc5LDggQEAgcHJpdmF0ZToKICNlbmRpZiAv
LyBBU1NFUlRfRU5BQkxFRAogICAgIH0KIAotICAgIHZvaWQgbWF0ZXJpYWxpemVDb25zdGFudHNB
bmRMb2NhbHMoU3RhY2smIGV4cHJlc3Npb25TdGFjaykKKyAgICB2b2lkIG1hdGVyaWFsaXplQ29u
c3RhbnRzQW5kTG9jYWxzKFN0YWNrJiBleHByZXNzaW9uU3RhY2ssIE5vQ29uc2lzdGVuY3lDaGVj
a1RhZykKICAgICB7Ci0gICAgICAgIGlmIChleHByZXNzaW9uU3RhY2suaXNFbXB0eSgpKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKICAgICAgICAg
d2Fsa0V4cHJlc3Npb25TdGFjayhleHByZXNzaW9uU3RhY2ssIFsmXShUeXBlZEV4cHJlc3Npb24m
IGV4cHJlc3Npb24sIFZpcnR1YWxSZWdpc3RlciBzbG90KSB7CiAgICAgICAgICAgICBBU1NFUlQo
ZXhwcmVzc2lvbi52YWx1ZSgpID09IHNsb3QgfHwgZXhwcmVzc2lvbi52YWx1ZSgpLmlzQ29uc3Rh
bnQoKSB8fCBleHByZXNzaW9uLnZhbHVlKCkuaXNBcmd1bWVudCgpIHx8IHN0YXRpY19jYXN0PHVu
c2lnbmVkPihleHByZXNzaW9uLnZhbHVlKCkudG9Mb2NhbCgpKSA8IG1fY29kZUJsb2NrLT5tX251
bVZhcnMpOwogICAgICAgICAgICAgaWYgKGV4cHJlc3Npb24udmFsdWUoKSA9PSBzbG90KQpAQCAt
MzkyLDYgKzM4OCwxNSBAQCBwcml2YXRlOgogICAgICAgICAgICAgV2FzbU1vdjo6ZW1pdCh0aGlz
LCBzbG90LCBleHByZXNzaW9uKTsKICAgICAgICAgICAgIGV4cHJlc3Npb24gPSBUeXBlZEV4cHJl
c3Npb24geyBleHByZXNzaW9uLnR5cGUoKSwgc2xvdCB9OwogICAgICAgICB9KTsKKyAgICB9CisK
KyAgICB2b2lkIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKFN0YWNrJiBleHByZXNzaW9u
U3RhY2spCisgICAgeworICAgICAgICBpZiAoZXhwcmVzc2lvblN0YWNrLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjaGVja0NvbnNpc3RlbmN5KCk7CisgICAgICAg
IG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKGV4cHJlc3Npb25TdGFjaywgTm9Db25zaXN0
ZW5jeUNoZWNrKTsKICAgICAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogICAgIH0KIApAQCAtODcx
LDcgKzg3NiwyMCBAQCBhdXRvIExMSW50R2VuZXJhdG9yOjpzZXRHbG9iYWwodWludDMyX3QgaW5k
ZXgsIEV4cHJlc3Npb25UeXBlIHZhbHVlKSAtPiBQYXJ0aWFsUgogYXV0byBMTEludEdlbmVyYXRv
cjo6YWRkTG9vcChCbG9ja1NpZ25hdHVyZSBzaWduYXR1cmUsIFN0YWNrJiBlbmNsb3NpbmdTdGFj
aywgQ29udHJvbFR5cGUmIGJsb2NrLCBTdGFjayYgbmV3U3RhY2ssIHVpbnQzMl90IGxvb3BJbmRl
eCkgLT4gUGFydGlhbFJlc3VsdAogewogICAgIHNwbGl0U3RhY2soc2lnbmF0dXJlLCBlbmNsb3Np
bmdTdGFjaywgbmV3U3RhY2spOwotICAgIG1hdGVyaWFsaXplQ29uc3RhbnRzQW5kTG9jYWxzKG5l
d1N0YWNrKTsKKyAgICBtYXRlcmlhbGl6ZUNvbnN0YW50c0FuZExvY2FscyhuZXdTdGFjaywgTm9D
b25zaXN0ZW5jeUNoZWNrKTsKKyNpZiBBU1NFUlRfRU5BQkxFRAorICAgIC8vIFdlIGNhbm5vdCB5
ZXQgY2FsbCBjaGVja0NvbnNpc3RlbmN5LCBzaW5jZSB0aGUgYXJndW1lbnRzIHdlIGFyZQorICAg
IC8vIG1hdGVyaWFsaXppbmcgZm9yIHRoZSBsb29wIGFyZSBub3QgbmVpdGhlciBpbiB0aGUgZXhw
cmVzc2lvbgorICAgIC8vIG5vciB0aGUgY29udHJvbCBzdGFjaywgYW5kIGl0IHdvbid0IGtub3cg
d2hhdCB0byBkbyBpbiB0aGlzCisgICAgLy8gaW50ZXJtZWRpYXRlIHN0YXRlLiBBcyBhIHNhbml0
eSBjaGVjayBqdXN0IHZlcmlmeSB0aGF0CisgICAgLy8gZXZlcnl0aGluZyBpbiBuZXdTdGFjayBp
cyBhIHZpcnR1YWwgcmVnaXN0ZXIgdGhhdCBpcyBhY3R1YWxseQorICAgIC8vIHBvaW50aW5nIHRv
IGVhY2ggc3RhY2sgcG9zaXRpb24sIHdoaWNoIGlzIHdoYXQgd2Ugc2hvdWxkIGhhdmUKKyAgICAv
LyBhZnRlciB3ZSBzcGxpdCB0aGUgc3RhY2sgYW5kIHRoZSBwcmV2aW91cyBjYWxsIG1hdGVyaWFs
aXplcworICAgIC8vIGNvbnN0YW50cyBhbmQgYWxpYXNlcyBpZiBuZWVkZWQuCisgICAgd2Fsa0V4
cHJlc3Npb25TdGFjayhuZXdTdGFjaywgW10oVmlydHVhbFJlZ2lzdGVyIGV4cHJlc3Npb24sIFZp
cnR1YWxSZWdpc3RlciBzbG90KSB7CisgICAgICAgIEFTU0VSVChleHByZXNzaW9uID09IHNsb3Qp
OworICAgIH0pOworI2VuZGlmCiAKICAgICBSZWY8TGFiZWw+IGJvZHkgPSBuZXdFbWl0dGVkTGFi
ZWwoKTsKICAgICBSZWY8TGFiZWw+IGNvbnRpbnVhdGlvbiA9IG5ld0xhYmVsKCk7Ci0tIAoyLjMx
LjEKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>