<?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>150192</bug_id>
          
          <creation_ts>2015-10-15 15:16:57 -0700</creation_ts>
          <short_desc>Null dereference loading Blink layout test fast/forms/color/input-color-onchange-event.html</short_desc>
          <delta_ts>2015-10-19 09:53:14 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Honeycutt">jhoneycutt</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>kling</cc>
    
    <cc>lforschler</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1133622</commentid>
    <comment_count>0</comment_count>
      <attachid>263199</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2015-10-15 15:16:57 -0700</bug_when>
    <thetext>Created attachment 263199
crashing test

Null dereference loading Blink layout test fast/forms/color/input-color-onchange-event.html.


Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGABRT)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000014

VM Regions Near 0x14:
--&gt; 
    __TEXT                 0000000107e85000-0000000107f1f000 [  616K] r-x/rwx SM=COW  /Users/USER/*

Application Specific Information:
CRASHING TEST: blink-tests-that-are-different/fast/forms/color/input-color-onchange-event.html
================================================================
==25562==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000014 (pc 0x00010801aec2 bp 0x7fff57d73650 sp 0x7fff57d73650 T0)
    #0 0x10801aec1 in WebCore::Node::getFlag(WebCore::Node::NodeFlags) const Node.h:641
    #1 0x108020c31 in WebCore::Node::hasTagName(WebCore::HTMLQualifiedName const&amp;) const HTMLElement.h:161
    #2 0x108007d06 in WebCore::Internals::selectColorInColorChooser(WebCore::Element*, WTF::String const&amp;) Internals.cpp:892
    #3 0x10804fc6a in WebCore::jsInternalsPrototypeFunctionSelectColorInColorChooser(JSC::ExecState*) JSInternals.cpp:1624
    #4 0x5948e0601027  (&lt;unknown module&gt;)
    #5 0x108cb864f in llint_entry (/Users/jhoneycutt/src/OpenSource/WebKitBuild2/Release/JavaScriptCore.framework/Versions/A/JavaScriptCore+0xab464f)
    #6 0x108cb2a0a in vmEntryToJavaScript (/Users/jhoneycutt/src/OpenSource/WebKitBuild2/Release/JavaScriptCore.framework/Versions/A/JavaScriptCore+0xaaea0a)
    #7 0x108a1407d in JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) JITCode.cpp:80
    #8 0x1089ca17f in JSC::Interpreter::execute(JSC::EvalExecutable*, JSC::ExecState*, JSC::JSValue, JSC::JSScope*) Interpreter.cpp:1269
    #9 0x1089c9542 in JSC::eval(JSC::ExecState*) Interpreter.cpp:182
    #10 0x108cab0f6 in llint_slow_path_call_eval LLIntSlowPaths.cpp:1312
    #11 0x108cb8cd9 in llint_entry (/Users/jhoneycutt/src/OpenSource/WebKitBuild2/Release/JavaScriptCore.framework/Versions/A/JavaScriptCore+0xab4cd9)
    #12 0x108cb864f in llint_entry (/Users/jhoneycutt/src/OpenSource/WebKitBuild2/Release/JavaScriptCore.framework/Versions/A/JavaScriptCore+0xab464f)
    #13 0x108cb2a0a in vmEntryToJavaScript (/Users/jhoneycutt/src/OpenSource/WebKitBuild2/Release/JavaScriptCore.framework/Versions/A/JavaScriptCore+0xaaea0a)
    #14 0x108a1407d in JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) JITCode.cpp:80
    #15 0x1089d0cc6 in JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*) Interpreter.cpp:961
    #16 0x108393689 in JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) Completion.cpp:104
    #17 0x10e97e3ad in WebCore::JSMainThreadExecState::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) JSMainThreadExecState.h:62
    #18 0x10f5ba410 in WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld&amp;) ScriptController.cpp:164
    #19 0x10f5ba618 in WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&amp;) ScriptController.cpp:180
    #20 0x10f5cc586 in WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&amp;) ScriptElement.cpp:309
    #21 0x10f5c9e6a in WebCore::ScriptElement::prepareScript(WTF::TextPosition const&amp;, WebCore::ScriptElement::LegacyTypeSupport) ScriptElement.cpp:242
    #22 0x10e2bf9cb in WebCore::HTMLScriptRunner::runScript(WebCore::Element*, WTF::TextPosition const&amp;) HTMLScriptRunner.cpp:308
    #23 0x10e2bf705 in WebCore::HTMLScriptRunner::execute(WTF::PassRefPtr&lt;WebCore::Element&gt;, WTF::TextPosition const&amp;) HTMLScriptRunner.cpp:177
    #24 0x10e1eaa6f in WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() HTMLDocumentParser.cpp:195
    #25 0x10e1eace3 in WebCore::HTMLDocumentParser::canTakeNextToken(WebCore::HTMLDocumentParser::SynchronousMode, WebCore::PumpSession&amp;) HTMLDocumentParser.cpp:213
    #26 0x10e1ea2a8 in WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) HTMLDocumentParser.cpp:259
    #27 0x10e1ebc9d in WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution() HTMLDocumentParser.cpp:496
    #28 0x10e1ebf61 in WebCore::HTMLDocumentParser::notifyFinished(WebCore::CachedResource*) HTMLDocumentParser.cpp:536
    #29 0x10d80dca7 in WebCore::CachedResource::checkNotify() CachedResource.cpp:297
    #30 0x10f896588 in WebCore::SubresourceLoader::didFinishLoading(double) SubresourceLoader.cpp:372
    #31 0x7fff8c4a3850 in __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke (/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork+0x2e850)
    #32 0x7fff8c4a3765 in -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] (/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork+0x2e765)
    #33 0x7fff8c4a366a in -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] (/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork+0x2e66a)
    #34 0x7fff8c4a8491 in ___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke (/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork+0x33491)
    #35 0x7fff8c63c976 in ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 (/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork+0x1c7976)
    #36 0x7fff9a99c3c2 in _dispatch_client_callout (/usr/lib/system/libdispatch.dylib+0x23c2)
    #37 0x7fff9a9aa0bd in _dispatch_block_invoke (/usr/lib/system/libdispatch.dylib+0x100bd)
    #38 0x7fff8c4a3527 in RunloopBlockContext::_invoke_block(void const*, void*) (/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork+0x2e527)
    #39 0x7fff96f5ce63 in CFArrayApplyFunction (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation+0x4ce63)
    #40 0x7fff8c4a3420 in RunloopBlockContext::perform() (/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork+0x2e420)
    #41 0x7fff8c4a32c1 in MultiplexerSource::perform() (/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork+0x2e2c1)
    #42 0x7fff8c4a30e3 in MultiplexerSource::_perform(void*) (/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork+0x2e0e3)
    #43 0x7fff96fba8b0 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation+0xaa8b0)
    #44 0x7fff96f9a0ab in __CFRunLoopDoSources0 (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation+0x8a0ab)
    #45 0x7fff96f995ce in __CFRunLoopRun (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation+0x895ce)
    #46 0x7fff96f98fc7 in CFRunLoopRunSpecific (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation+0x88fc7)
    #47 0x107ea798d in runTest(std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt; const&amp;) DumpRenderTree.mm:2030
    #48 0x107ea6f39 in runTestingServerLoop() DumpRenderTree.mm:1180
    #49 0x107ea6267 in dumpRenderTree(int, char const**) DumpRenderTree.mm:1288
    #50 0x107ea82b1 in DumpRenderTreeMain(int, char const**) DumpRenderTree.mm:1418
    #51 0x7fff931e95ac in start (/usr/lib/system/libdyld.dylib+0x35ac)
    #52 0x1  (&lt;unknown module&gt;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133624</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-10-15 15:17:53 -0700</bug_when>
    <thetext>&lt;rdar://problem/23135050&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134207</commentid>
    <comment_count>2</comment_count>
      <attachid>263378</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-10-17 11:27:17 -0700</bug_when>
    <thetext>Created attachment 263378
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134230</commentid>
    <comment_count>3</comment_count>
      <attachid>263378</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-10-17 12:49:54 -0700</bug_when>
    <thetext>Comment on attachment 263378
Patch

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

I am saying review+ but I do have doubts.

&gt; Source/WebCore/ChangeLog:18
&gt; +        - Tightens the IDL parameter type to HTMLInputElement instead of Element
&gt; +          as this is the expected type.
&gt; +        - Adds [StrictTypeChecking] IDL extended attribute so that the JS bindings
&gt; +          will take care of validating the input type and throw an exception for us.

Why not just do the null check instead of making all these other changes? I agree they make the function in Internals slightly more elegant, but is it worth the cost?

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:975
&gt; +            push(@headerContent, &quot;    WEBCORE_EXPORT static RefPtr&lt;NodeFilter&gt; toWrapped(JSC::VM&amp;, JSC::JSValue);\n&quot;);

Wow, all these new WEBCORE_EXPORT on all bindings mean we are going to be exporting a lot more functions, I think! Will that have a cost that we would like to avoid in production code? Are these exports needed only for testing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134263</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-10-17 16:21:38 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 263378 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=263378&amp;action=review
&gt; 
&gt; I am saying review+ but I do have doubts.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:18
&gt; &gt; +        - Tightens the IDL parameter type to HTMLInputElement instead of Element
&gt; &gt; +          as this is the expected type.
&gt; &gt; +        - Adds [StrictTypeChecking] IDL extended attribute so that the JS bindings
&gt; &gt; +          will take care of validating the input type and throw an exception for us.
&gt; 
&gt; Why not just do the null check instead of making all these other changes? I
&gt; agree they make the function in Internals slightly more elegant, but is it
&gt; worth the cost?
&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:975
&gt; &gt; +            push(@headerContent, &quot;    WEBCORE_EXPORT static RefPtr&lt;NodeFilter&gt; toWrapped(JSC::VM&amp;, JSC::JSValue);\n&quot;);
&gt; 
&gt; Wow, all these new WEBCORE_EXPORT on all bindings mean we are going to be
&gt; exporting a lot more functions, I think! Will that have a cost that we would
&gt; like to avoid in production code? Are these exports needed only for testing?

Ok. This is indeed a lot of overhead (extra exports) just for an internals function. I&apos;ll do a simple null-check.
I don&apos;t think we even need to throw an exception. Throwing is the expected behavior from an IDL standpoint and this is what the blink test expects as well.
However, given that this is an internals function, I don&apos;t think it is worth the extra code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134281</commentid>
    <comment_count>5</comment_count>
      <attachid>263395</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-10-17 18:00:55 -0700</bug_when>
    <thetext>Created attachment 263395
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134603</commentid>
    <comment_count>6</comment_count>
      <attachid>263395</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-19 09:53:09 -0700</bug_when>
    <thetext>Comment on attachment 263395
Patch

Clearing flags on attachment: 263395

Committed r191294: &lt;http://trac.webkit.org/changeset/191294&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134604</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-19 09:53:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>263199</attachid>
            <date>2015-10-15 15:16:57 -0700</date>
            <delta_ts>2015-10-15 15:16:57 -0700</delta_ts>
            <desc>crashing test</desc>
            <filename>input-color-onchange-event.html</filename>
            <type>text/html</type>
            <size>1844</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgo8aHRtbD4KPGhl
YWQ+CjxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
CjwvaGVhZD4KPGJvZHk+CjxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgo8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KPHNjcmlwdD4KZGVzY3JpcHRpb24oJ1Rlc3QgaWYgY2hhbmdlIGV2ZW50IGZpcmVz
IHByb3Blcmx5IHdoZW4gY29sb3IgY2hvb3NlciBjaGFuZ2VzLiBCdWcgNjY4NDggPGJyPiBUbyBt
YW51YWxseSB0ZXN0IHRoaXMsIGNsaWNrIG9uIHRoZSBpbnB1dCBjb2xvciBlbGVtZW50IGluIHRo
ZSB0b3AgbGVmdCBjb3JuZXIgYW5kIGNoYW5nZSB0aGUgdmFsdWUgZnJvbSB0aGUgY29sb3IgY2hv
b3Nlci4gU2VlIGlmIHRoZSBudW1iZXIgb2YgInZhbHVlIGNoYW5nZWQiIG1lc3NhZ2VzIG1hdGNo
ZXMgdGhlIG51bWJlciBvZiB0aW1lcyB5b3UgY2hhbmdlZCB0aGUgY29sb3IuJyk7Cgp2YXIgaW5w
dXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOwppbnB1dC50eXBlID0gJ2NvbG9y
JzsKaW5wdXQudmFsdWUgPSAnIzAwMDAwMCc7CmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5w
dXQpOwoKaW5wdXQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnOwppbnB1dC5zdHlsZS5sZWZ0
ID0gJzAnOwppbnB1dC5zdHlsZS50b3AgPSAnMCc7CmlucHV0LnN0eWxlLndpZHRoID0gJzIwcHgn
OwppbnB1dC5zdHlsZS5oZWlnaHQgPSAnMjBweCc7Cgp2YXIgb25DaGFuZ2UgPSAwOwoKaW5wdXQu
b25jaGFuZ2UgPSBmdW5jdGlvbigpIHsKICAgIGRlYnVnKCJjaGFuZ2UgZXZlbnQgZGlzcGF0Y2hl
ZCAtIHZhbHVlIGNoYW5nZWQgdG8gIiArIGlucHV0LnZhbHVlKTsKICAgIG9uQ2hhbmdlKys7Cn07
CgppbnB1dC5vbmlucHV0ID0gZnVuY3Rpb24oKSB7CiAgICBkZWJ1ZygiaW5wdXQgZXZlbnQgZGlz
cGF0Y2hlZCAtIHZhbHVlIGlzOiAgIiArIGlucHV0LnZhbHVlKTsKfTsKCmV2ZW50U2VuZGVyLm1v
dXNlTW92ZVRvKDEwLCAxMCk7CmV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwpldmVudFNlbmRlci5t
b3VzZVVwKCk7CgovLyBUZXN0IHRoYXQgaW5jb3JyZWN0IGVsZW1lbnQgYXJndW1lbnRzIGFyZSAo
bm90KSBoYW5kbGVkLgpzaG91bGRUaHJvdygiaW50ZXJuYWxzLnNlbGVjdENvbG9ySW5Db2xvckNo
b29zZXIoe30sICcjZmYwMDAwJyk7Iik7CnNob3VsZFRocm93KCJpbnRlcm5hbHMuc2VsZWN0Q29s
b3JJbkNvbG9yQ2hvb3Nlcihkb2N1bWVudCwgJyNmZjAwMDAnKTsiKTsKCi8vIGlucHV0Lm9uY2hh
bmdlIHNob3VsZCBiZSBjYWxsZWQKaW50ZXJuYWxzLnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIo
aW5wdXQsICcjZmYwMDAwJyk7CmludGVybmFscy5lbmRDb2xvckNob29zZXIoaW5wdXQpOwovLyBp
bnB1dC5vbmNoYW5nZSBzaG91bGQgbm90IGJlIGNhbGxlZAppbnRlcm5hbHMuc2VsZWN0Q29sb3JJ
bkNvbG9yQ2hvb3NlcihpbnB1dCwgJyNmZjAwMDAnKTsKaW50ZXJuYWxzLmVuZENvbG9yQ2hvb3Nl
cihpbnB1dCk7CnNob3VsZEJlKCdpbnB1dC52YWx1ZScsICciI2ZmMDAwMCInKTsKCmRlYnVnKCdD
aGFuZ2UgZXZlbnQgaXMgb25seSBkaXNwYXRjaGVkLCB3aGVuIGNvbG9yIGNob29zZXIgaXMgY2xv
c2VkJyk7Cm9uQ2hhbmdlID0gMDsKaW50ZXJuYWxzLnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIo
aW5wdXQsICcjZmYwMDAyJyk7CnNob3VsZEJlKCdvbkNoYW5nZScsICcwJyk7CmludGVybmFscy5l
bmRDb2xvckNob29zZXIoaW5wdXQpOwpzaG91bGRCZSgnb25DaGFuZ2UnLCAnMScpOwoKPC9zY3Jp
cHQ+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263378</attachid>
            <date>2015-10-17 11:27:17 -0700</date>
            <delta_ts>2015-10-17 18:00:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150192-20151017112644.patch</filename>
            <type>text/plain</type>
            <size>31242</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDJlYmZiOGY0NjJlZDM1
ZTc5Y2ViOTY5OTIyZTNjZDBlNTcwZDQ2NC4uYjBmYjM2MGVmNjIzMDBhMjliODJhZmI4ZmJjM2E2
NzFjYmE4NDY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE1LTEwLTE3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTnVsbCBkZXJlZmVyZW5jZSBs
b2FkaW5nIEJsaW5rIGxheW91dCB0ZXN0IGZhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25j
aGFuZ2UtZXZlbnQuaHRtbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTUwMTkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMzEzNTA1MD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDYWxsaW5nIGludGVy
bmFscy5zZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKCkgd2l0aCBhIG5vbi1FbGVtZW50IHdvdWxk
CisgICAgICAgIGNhdXNlIGEgbnVsbCBkZXJlZmVyZW5jZS4gVGhpcyBpcyBiZWNhdXNlIGluIHN1
Y2ggY2FzZSwgdGhlIGltcGxlbWVudGF0aW9uCisgICAgICAgIG1ldGhvZCBpcyBwYXNzZWQgYSBu
dWxsIHBvaW50ZXIgYW5kIHdlIHdvdWxkIGZhaWwgdG8gbnVsbC1jaGVjayBpdC4KKworICAgICAg
ICBUaGlzIHBhdGNoOgorICAgICAgICAtIERvZXMgYSBwcm9wZXIgbnVsbCBjaGVjayBvZiB0aGUg
aW5wdXRFbGVtZW50IHBhcmFtZXRlci4KKyAgICAgICAgLSBUaWdodGVucyB0aGUgSURMIHBhcmFt
ZXRlciB0eXBlIHRvIEhUTUxJbnB1dEVsZW1lbnQgaW5zdGVhZCBvZiBFbGVtZW50CisgICAgICAg
ICAgYXMgdGhpcyBpcyB0aGUgZXhwZWN0ZWQgdHlwZS4KKyAgICAgICAgLSBBZGRzIFtTdHJpY3RU
eXBlQ2hlY2tpbmddIElETCBleHRlbmRlZCBhdHRyaWJ1dGUgc28gdGhhdCB0aGUgSlMgYmluZGlu
Z3MKKyAgICAgICAgICB3aWxsIHRha2UgY2FyZSBvZiB2YWxpZGF0aW5nIHRoZSBpbnB1dCB0eXBl
IGFuZCB0aHJvdyBhbiBleGNlcHRpb24gZm9yIHVzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywg
ZXhpc3RpbmcgdGVzdCB3YXMgdXBkYXRlZC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9N
QmluZGluZy5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
OgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICBFeHBvcnQgbW9yZSBzeW1ib2xz
IHNvIHRoYXQgdGhleSBjYW4gYmUgdXNlZCBmcm9tIEludGVybmFscy4KKworICAgICAgICAqIGh0
bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgIEdlbmVyYXRlIHRvV3JhcHBlZCgpIGZ1
bmN0aW9uIGZvciBIVE1MSW5wdXRFbGVtZW50IHNvIHRoYXQgd2UgY2FuCisgICAgICAgIHRvIHN0
cmljdCB0eXBlIGNoZWNraW5nIG9uIEhUTUxJbnB1dEVsZW1lbnQgcGFyYW1ldGVycy4KKworICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFs
czo6c2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3Nlcik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuaDoKKyAgICAgICAgVXBkYXRlIGlucHV0IHBhcmFtZXRlciB0eXBlIHRvIEhUTUxJbnB1dEVs
ZW1lbnQuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisgICAgICAgIC0gVGln
aHRoZW4gcGFyYW1ldGVyIHR5cGUgdG8gSFRNTElucHV0RWxlbWVudC4KKyAgICAgICAgLSBBZGQg
W1N0cmljdFR5cGVDaGVja2luZ10gSURMIGV4dGVuZGVkIGF0dHJpYnV0ZS4KKwogMjAxNS0xMC0x
NyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgogCiAgICAgICAg
IEZpbmFsaXplIGJ1ZyAxNDk5NTIgcGF0Y2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01CaW5kaW5nLmgKaW5kZXggYzY0YTFlNzY5YzE1NTYyNmQwMGRmYTg4MDZlMjBiZjhlMmI3NjQy
Ni4uMmU3YWNlNmNiNjY4ZjhhOGY0ZTRiMDg3ZDc2MWM4NmIzMDQ3MmNlMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKQEAgLTgwLDcgKzgwLDcgQEAgV0VCQ09S
RV9FWFBPUlQgdm9pZCB0aHJvd1NldHRlclR5cGVFcnJvcihKU0M6OkV4ZWNTdGF0ZSYsIGNvbnN0
IGNoYXIqIGludGVyZmFjZU4KIAogV0VCQ09SRV9FWFBPUlQgSlNDOjpFbmNvZGVkSlNWYWx1ZSB0
aHJvd0FyZ3VtZW50TXVzdEJlRW51bUVycm9yKEpTQzo6RXhlY1N0YXRlJiwgdW5zaWduZWQgYXJn
dW1lbnRJbmRleCwgY29uc3QgY2hhciogYXJndW1lbnROYW1lLCBjb25zdCBjaGFyKiBmdW5jdGlv
bkludGVyZmFjZU5hbWUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgY29uc3QgY2hhciogZXhw
ZWN0ZWRWYWx1ZXMpOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSB0aHJvd0FyZ3VtZW50TXVzdEJlRnVu
Y3Rpb25FcnJvcihKU0M6OkV4ZWNTdGF0ZSYsIHVuc2lnbmVkIGFyZ3VtZW50SW5kZXgsIGNvbnN0
IGNoYXIqIGFyZ3VtZW50TmFtZSwgY29uc3QgY2hhciogZnVuY3Rpb25JbnRlcmZhY2VOYW1lLCBj
b25zdCBjaGFyKiBmdW5jdGlvbk5hbWUpOwotSlNDOjpFbmNvZGVkSlNWYWx1ZSB0aHJvd0FyZ3Vt
ZW50VHlwZUVycm9yKEpTQzo6RXhlY1N0YXRlJiwgdW5zaWduZWQgYXJndW1lbnRJbmRleCwgY29u
c3QgY2hhciogYXJndW1lbnROYW1lLCBjb25zdCBjaGFyKiBmdW5jdGlvbkludGVyZmFjZU5hbWUs
IGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgY29uc3QgY2hhciogZXhwZWN0ZWRUeXBlKTsKK1dF
QkNPUkVfRVhQT1JUIEpTQzo6RW5jb2RlZEpTVmFsdWUgdGhyb3dBcmd1bWVudFR5cGVFcnJvcihK
U0M6OkV4ZWNTdGF0ZSYsIHVuc2lnbmVkIGFyZ3VtZW50SW5kZXgsIGNvbnN0IGNoYXIqIGFyZ3Vt
ZW50TmFtZSwgY29uc3QgY2hhciogZnVuY3Rpb25JbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFyKiBm
dW5jdGlvbk5hbWUsIGNvbnN0IGNoYXIqIGV4cGVjdGVkVHlwZSk7CiBKU0M6OkVuY29kZWRKU1Zh
bHVlIHRocm93Q29uc3RydWN0b3JEb2N1bWVudFVuYXZhaWxhYmxlRXJyb3IoSlNDOjpFeGVjU3Rh
dGUmLCBjb25zdCBjaGFyKiBpbnRlcmZhY2VOYW1lKTsKIFdFQkNPUkVfRVhQT1JUIEpTQzo6RW5j
b2RlZEpTVmFsdWUgdGhyb3dHZXR0ZXJUeXBlRXJyb3IoSlNDOjpFeGVjU3RhdGUmLCBjb25zdCBj
aGFyKiBpbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFyKiBhdHRyaWJ1dGVOYW1lKTsKIFdFQkNPUkVf
RVhQT1JUIEpTQzo6RW5jb2RlZEpTVmFsdWUgdGhyb3dUaGlzVHlwZUVycm9yKEpTQzo6RXhlY1N0
YXRlJiwgY29uc3QgY2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3QgY2hhciogZnVuY3Rpb25OYW1l
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KaW5kZXggMzA1YzRmYTU5Yzk5OWE1MmI0ZTQ2M2JmZGNhZmU5MWE3YWQ2ZTJkZi4uZjlk
NDMxZjdkZjA4YTczMjZkMjZlMzA2ZTA2NTY3YjA4MWQzYTMzZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTk3MiwxMSAr
OTcyLDExIEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgICMgSlNWYWx1ZSB0byBpbXBsZW1lbnRh
dGlvbiB0eXBlCiAgICAgaWYgKFNob3VsZEdlbmVyYXRlVG9XcmFwcGVkKCRoYXNQYXJlbnQsICRp
bnRlcmZhY2UpKSB7CiAgICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiTm9kZUZpbHRlciIp
IHsKLSAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3RhdGljIFJlZlB0cjxO
b2RlRmlsdGVyPiB0b1dyYXBwZWQoSlNDOjpWTSYsIEpTQzo6SlNWYWx1ZSk7XG4iKTsKKyAgICAg
ICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJl
ZlB0cjxOb2RlRmlsdGVyPiB0b1dyYXBwZWQoSlNDOjpWTSYsIEpTQzo6SlNWYWx1ZSk7XG4iKTsK
ICAgICAgICAgfSBlbHNpZiAoJGludGVyZmFjZU5hbWUgZXEgIkRPTVN0cmluZ0xpc3QiKSB7Ci0g
ICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBSZWZQdHI8RE9NU3Ry
aW5nTGlzdD4gdG9XcmFwcGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKTtcbiIpOwor
ICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBXRUJDT1JFX0VYUE9SVCBzdGF0
aWMgUmVmUHRyPERPTVN0cmluZ0xpc3Q+IHRvV3JhcHBlZChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
SlNWYWx1ZSk7XG4iKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHB1c2goQGhlYWRl
ckNvbnRlbnQsICIgICAgc3RhdGljICRpbXBsVHlwZSogdG9XcmFwcGVkKEpTQzo6SlNWYWx1ZSk7
XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljICRpbXBsVHlwZSogdG9XcmFwcGVkKEpTQzo6SlNWYWx1ZSk7XG4iKTsKICAgICAg
ICAgfQogICAgIH0KIApAQCAtMTAzNiwxMiArMTAzNiwxMiBAQCBzdWIgR2VuZXJhdGVIZWFkZXIK
ICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIk5vZGUiKSB7CiAgICAgICAgIHB1c2goQGhlYWRl
ckNvbnRlbnQsICJcbiIpOwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAicHJvdGVjdGVk
OlxuIik7Ci0gICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3RhdGljIGNvbnN0IEpT
Qzo6Q2xhc3NJbmZvIHNfaW5mbztcbiIpOworICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAi
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBjb25zdCBKU0M6OkNsYXNzSW5mbyBzX2luZm87XG4i
KTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgInB1YmxpYzpcbiIpOwogICAgICAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBjb25zdCBKU0M6OkNsYXNzSW5mbyogaW5m
bygpIHsgcmV0dXJuICZzX2luZm87IH1cblxuIik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcHVz
aChAaGVhZGVyQ29udGVudCwgIlxuIik7Ci0gICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIg
ICAgREVDTEFSRV9JTkZPO1xuXG4iKTsKKyAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAg
ICBERUNMQVJFX0VYUE9SVF9JTkZPO1xuXG4iKTsKICAgICB9CiAgICAgIyBTdHJ1Y3R1cmUgSUQK
ICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmpl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3Rp
dmVET01PYmplY3QuaAppbmRleCA1Mzk5MjI3OTRmNTlmM2RkNmVhNDhjN2IxYzgxOGVhN2NiNDI3
ZDY2Li5mZGQxNThhN2YxNjVlNjFkYzM3MDhhNTU3MmQzMjQ0MWIwZjllOGQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9N
T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEFjdGl2ZURPTU9iamVjdC5oCkBAIC0zOSwxMSArMzksMTEgQEAgcHVibGljOgogCiAgICAg
c3RhdGljIEpTQzo6SlNPYmplY3QqIGNyZWF0ZVByb3RvdHlwZShKU0M6OlZNJiwgSlNDOjpKU0ds
b2JhbE9iamVjdCopOwogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBnZXRQcm90b3R5cGUoSlND
OjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKLSAgICBzdGF0aWMgVGVzdEFjdGl2ZURPTU9i
amVjdCogdG9XcmFwcGVkKEpTQzo6SlNWYWx1ZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IFRlc3RBY3RpdmVET01PYmplY3QqIHRvV3JhcHBlZChKU0M6OkpTVmFsdWUpOwogICAgIHN0YXRp
YyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0M6OkpTT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUq
LCBKU0M6OlByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgdm9p
ZCBkZXN0cm95KEpTQzo6SlNDZWxsKik7CiAKLSAgICBERUNMQVJFX0lORk87CisgICAgREVDTEFS
RV9FWFBPUlRfSU5GTzsKIAogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0
dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6
SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5vSW50ZXJm
YWNlT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuaAppbmRleCAyNmZjNGNi
ZTQ2MWExOTZiNzg3ZjZkMzQxYTM4ODdjMGY4NDAxZjU3Li40ZGFkYzAyZmNkZTYwMDJmNTdjOTdi
N2ExZjA0MzUxYmFiZThjNDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuaApAQCAtMzksMTAgKzM5LDEw
IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBjcmVhdGVQcm90b3R5cGUo
SlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKICAgICBzdGF0aWMgSlNDOjpKU09iamVj
dCogZ2V0UHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7Ci0gICAgc3Rh
dGljIFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCogdG9XcmFwcGVk
KEpTQzo6SlNWYWx1ZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFRlc3RDdXN0b21Db25z
dHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCogdG9XcmFwcGVkKEpTQzo6SlNWYWx1ZSk7CiAg
ICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0M6OkpTQ2VsbCopOwogCi0gICAgREVDTEFSRV9JTkZP
OworICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUq
IGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRl
ci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3Rv
bU5hbWVkR2V0dGVyLmgKaW5kZXggOTBmYWJlYzg1NmYyODIxMTJkNDJhM2U4ZmQ4YzM5M2QzZjlk
ZDU2NS4uYmVjZjNjMzJjMjMzODRkMDA0MWRlNDA2NjU3MTUzYzgxNDg2ZjY2ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbU5h
bWVkR2V0dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKQEAgLTM5LDEyICszOSwxMiBAQCBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgSlNDOjpKU09iamVjdCogY3JlYXRlUHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6
OkpTR2xvYmFsT2JqZWN0Kik7CiAgICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIGdldFByb3RvdHlw
ZShKU0M6OlZNJiwgSlNDOjpKU0dsb2JhbE9iamVjdCopOwotICAgIHN0YXRpYyBUZXN0Q3VzdG9t
TmFtZWRHZXR0ZXIqIHRvV3JhcHBlZChKU0M6OkpTVmFsdWUpOworICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqIHRvV3JhcHBlZChKU0M6OkpTVmFsdWUpOwog
ICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0M6OkpTT2JqZWN0KiwgSlNDOjpF
eGVjU3RhdGUqLCBKU0M6OlByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICBz
dGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQzo6SlNPYmplY3QqLCBKU0M6
OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsK
ICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQzo6SlNDZWxsKik7CiAKLSAgICBERUNMQVJFX0lO
Rk87CisgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVy
ZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVu
dENvbnN0cnVjdG9yLmgKaW5kZXggOWM4ZDY4ZGJiMjUwM2EyYmVmNjEyOGNkZDBmYzBhZWU0ZGI3
YjAzYy4uNGVjNTEwNmQyMGZjMDQ4NGM5NzkzZDU5MTllYWNkYTIzNWIzZTYyZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29u
c3RydWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCkBAIC00MSwxMCArNDEsMTAgQEAgcHVibGljOgogCiAg
ICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIGNyZWF0ZVByb3RvdHlwZShKU0M6OlZNJiwgSlNDOjpK
U0dsb2JhbE9iamVjdCopOwogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBnZXRQcm90b3R5cGUo
SlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKLSAgICBzdGF0aWMgVGVzdEV2ZW50Q29u
c3RydWN0b3IqIHRvV3JhcHBlZChKU0M6OkpTVmFsdWUpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyBUZXN0RXZlbnRDb25zdHJ1Y3RvciogdG9XcmFwcGVkKEpTQzo6SlNWYWx1ZSk7CiAgICAg
c3RhdGljIHZvaWQgZGVzdHJveShKU0M6OkpTQ2VsbCopOwogCi0gICAgREVDTEFSRV9JTkZPOwor
ICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNy
ZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmgK
aW5kZXggYWQxNGMyMzgwZjVmMDI1OTNhZjJiZWYxZGI2ZTg0Y2E1NTMyYjMwMi4uNjMyNDYwYjM1
MWZiMTYzMTQ1ZWIyYjdiYTgyYzNkYTg5Mjk2ZDdhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmgK
QEAgLTQwLDEyICs0MCwxMiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgSlNDOjpKU09iamVjdCog
Y3JlYXRlUHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAgICAgc3Rh
dGljIEpTQzo6SlNPYmplY3QqIGdldFByb3RvdHlwZShKU0M6OlZNJiwgSlNDOjpKU0dsb2JhbE9i
amVjdCopOwotICAgIHN0YXRpYyBUZXN0RXZlbnRUYXJnZXQqIHRvV3JhcHBlZChKU0M6OkpTVmFs
dWUpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBUZXN0RXZlbnRUYXJnZXQqIHRvV3JhcHBl
ZChKU0M6OkpTVmFsdWUpOwogICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0M6
OkpTT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlByb3BlcnR5TmFtZSwgSlNDOjpQcm9w
ZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpT
Qzo6SlNPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlND
OjpQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQzo6SlNDZWxsKik7
CiAKLSAgICBERUNMQVJFX0lORk87CisgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAogICAgIHN0
YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEV4Y2VwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV4Y2VwdGlvbi5oCmluZGV4IGQ3NTFlYzE0NWQxMGU3OThjMDMyMTQ0YTZkZTY2OTIw
MWE1MmI5NTIuLmQ4OGYzMTM5MmFiYTRiZGY2ZTg2ZTE3M2FkOGRhNjI5NmI4YzRlNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNl
cHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RXhjZXB0aW9uLmgKQEAgLTQwLDExICs0MCwxMSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMg
SlNDOjpKU09iamVjdCogY3JlYXRlUHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2Jq
ZWN0Kik7CiAgICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIGdldFByb3RvdHlwZShKU0M6OlZNJiwg
SlNDOjpKU0dsb2JhbE9iamVjdCopOwotICAgIHN0YXRpYyBUZXN0RXhjZXB0aW9uKiB0b1dyYXBw
ZWQoSlNDOjpKU1ZhbHVlKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgVGVzdEV4Y2VwdGlv
biogdG9XcmFwcGVkKEpTQzo6SlNWYWx1ZSk7CiAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVy
dHlTbG90KEpTQzo6SlNPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6UHJvcGVydHlOYW1l
LCBKU0M6OlByb3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDOjpKU0Nl
bGwqKTsKIAotICAgIERFQ0xBUkVfSU5GTzsKKyAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCiAg
ICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpT
Qzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuaAppbmRleCBkMzEyYzY0
NjI1NTQ3NDBjNmM3NDRkYjcyNjVlZDRjZGQzMDZiMmM5Li43YjFmNmYyMWE4ZDlmYjFlNTE4Yjhi
NjViMGIwODg1ZjU5NTcxNTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxl
LmgKQEAgLTM5LDEwICszOSwxMCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgSlNDOjpKU09iamVj
dCogY3JlYXRlUHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAgICAg
c3RhdGljIEpTQzo6SlNPYmplY3QqIGdldFByb3RvdHlwZShKU0M6OlZNJiwgSlNDOjpKU0dsb2Jh
bE9iamVjdCopOwotICAgIHN0YXRpYyBUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSogdG9XcmFwcGVk
KEpTQzo6SlNWYWx1ZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFRlc3RHZW5lcmF0ZUlz
UmVhY2hhYmxlKiB0b1dyYXBwZWQoSlNDOjpKU1ZhbHVlKTsKICAgICBzdGF0aWMgdm9pZCBkZXN0
cm95KEpTQzo6SlNDZWxsKik7CiAKLSAgICBERUNMQVJFX0lORk87CisgICAgREVDTEFSRV9FWFBP
UlRfSU5GTzsKIAogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpT
Qzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1
ZSBwcm90b3R5cGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCmluZGV4IGIwNzFjYjZmOGI2MTRl
ZjFiZmVlZjUwNjFmNjc3ZGM3N2Q5NGI0YzguLjI3Zjc4NDc1MGNkNjBmZmU4NzIwZGExZTQyYjU2
OWFiMjY1YWY2ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgKQEAgLTQxLDE0ICs0MSwxNCBAQCBwdWJs
aWM6CiAKICAgICBzdGF0aWMgSlNDOjpKU09iamVjdCogY3JlYXRlUHJvdG90eXBlKEpTQzo6Vk0m
LCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAgICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIGdldFBy
b3RvdHlwZShKU0M6OlZNJiwgSlNDOjpKU0dsb2JhbE9iamVjdCopOwotICAgIHN0YXRpYyBUZXN0
SW50ZXJmYWNlKiB0b1dyYXBwZWQoSlNDOjpKU1ZhbHVlKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgVGVzdEludGVyZmFjZSogdG9XcmFwcGVkKEpTQzo6SlNWYWx1ZSk7CiAgICAgc3RhdGlj
IGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQzo6SlNPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSos
IEpTQzo6UHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyB2b2lk
IHB1dChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpQcm9wZXJ0eU5hbWUsIEpT
Qzo6SlNWYWx1ZSwgSlNDOjpQdXRQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgdm9pZCBwdXRC
eUluZGV4KEpTQzo6SlNDZWxsKiwgSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5h
bWUsIEpTQzo6SlNWYWx1ZSwgYm9vbCBzaG91bGRUaHJvdyk7CiAgICAgYm9vbCBwdXREZWxlZ2F0
ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6UHJvcGVydHlOYW1lLCBKU0M6OkpTVmFsdWUsIEpTQzo6
UHV0UHJvcGVydHlTbG90Jik7CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0M6OkpTQ2VsbCop
OwogCi0gICAgREVDTEFSRV9JTkZPOworICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKICAgICBz
dGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yLmgKaW5kZXggNDIwMjk0MmQy
Yjc5MjZlZmVjNmMwOGNhZTc4MWRlMDM3MWIyODgwZC4uOTkyMTY2ZGU2ZDJjY2M2ZDk3YzJiYzdk
Yjg5MWYwNWYyMjU0MzJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9y
LmgKQEAgLTM5LDcgKzM5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBn
ZXRQcm90b3R5cGUoSlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKICAgICBzdGF0aWMg
dm9pZCBkZXN0cm95KEpTQzo6SlNDZWxsKik7CiAKLSAgICBERUNMQVJFX0lORk87CisgICAgREVD
TEFSRV9FWFBPUlRfSU5GTzsKIAogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3Ry
dWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
Qzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyLmgKaW5kZXggMmUyN2FkMGJjYjhlZGI4NjA1NzRhMWU2NjYwMTMyZjFlNzgw
ZGE2NC4uNDhlZjkwMGY5ZGM2ODAzYjMwNTgyM2JlZGJjMTdkY2M2MDgzZjc4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCkBAIC0zOSwxMCArMzksMTAgQEAg
cHVibGljOgogCiAgICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIGNyZWF0ZVByb3RvdHlwZShKU0M6
OlZNJiwgSlNDOjpKU0dsb2JhbE9iamVjdCopOwogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBn
ZXRQcm90b3R5cGUoSlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKLSAgICBzdGF0aWMg
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIHRvV3JhcHBlZChKU0M6OkpTVmFsdWUpOworICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogdG9XcmFw
cGVkKEpTQzo6SlNWYWx1ZSk7CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0M6OkpTQ2VsbCop
OwogCi0gICAgREVDTEFSRV9JTkZPOworICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKICAgICBz
dGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCmluZGV4IGRlNDBjN2NmYjU0NWRiY2Zl
ODYyZTE0ZmQ1N2RkZmNlZWJhMGQzYjQuLjIxNmMzMTJlZjViNWM4NzUxZGI3MzYyMTYxNjlkN2Jl
Y2JhYTkxNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuaApAQCAtMzksMTAgKzM5
LDEwIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBjcmVhdGVQcm90b3R5
cGUoSlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKICAgICBzdGF0aWMgSlNDOjpKU09i
amVjdCogZ2V0UHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7Ci0gICAg
c3RhdGljIFRlc3ROYW1lZENvbnN0cnVjdG9yKiB0b1dyYXBwZWQoSlNDOjpKU1ZhbHVlKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgVGVzdE5hbWVkQ29uc3RydWN0b3IqIHRvV3JhcHBlZChK
U0M6OkpTVmFsdWUpOwogICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDOjpKU0NlbGwqKTsKIAot
ICAgIERFQ0xBUkVfSU5GTzsKKyAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCiAgICAgc3RhdGlj
IEpTQzo6U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5v
ZGUuaAppbmRleCA4ZmQwZDNkMjJjZDQ1ZDc5Y2NhN2NjYWEzYWRiYTEzN2Q4MDY3OTA1Li40ZTVk
ZjEzMzE4MTBjMjIyMGNkY2Y2OWU3Yjk5MTIxNTU5NjA2MWI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmgKQEAgLTM5LDcg
KzM5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBjcmVhdGVQcm90b3R5
cGUoSlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKICAgICBzdGF0aWMgSlNDOjpKU09i
amVjdCogZ2V0UHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAKLSAg
ICBERUNMQVJFX0lORk87CisgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAogICAgIHN0YXRpYyBK
U0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5v
bmRldGVybWluaXN0aWMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmgKaW5kZXggYjFkMTA3Y2E2Yzk4ZTA4NGM1MjdhNzJh
MWEwYTQwN2QwYjU1NGM5NC4uNGY0ODY3NmJmZTJhZTU2Y2NlMTIxNjNjM2Q0ZDY2MWJjZDhhYjM0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5vbmRldGVybWluaXN0aWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5oCkBAIC0zOSwxMCArMzksMTAgQEAg
cHVibGljOgogCiAgICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIGNyZWF0ZVByb3RvdHlwZShKU0M6
OlZNJiwgSlNDOjpKU0dsb2JhbE9iamVjdCopOwogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBn
ZXRQcm90b3R5cGUoSlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKLSAgICBzdGF0aWMg
VGVzdE5vbmRldGVybWluaXN0aWMqIHRvV3JhcHBlZChKU0M6OkpTVmFsdWUpOworICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyBUZXN0Tm9uZGV0ZXJtaW5pc3RpYyogdG9XcmFwcGVkKEpTQzo6SlNW
YWx1ZSk7CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0M6OkpTQ2VsbCopOwogCi0gICAgREVD
TEFSRV9JTkZPOworICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKICAgICBzdGF0aWMgSlNDOjpT
dHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaAppbmRl
eCBlZjE0MDkyMzg3NDE1OWU2OTFkMTZmZjE4N2FiZWJmODllZTdmZjFiLi5mMTM1MjMwYjMzOGYw
NDA4MDIxZTZhOTNhNzI1NGI5MDYyOWVlMDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oCkBAIC0zOSwxMSArMzksMTEgQEAg
cHVibGljOgogCiAgICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIGNyZWF0ZVByb3RvdHlwZShKU0M6
OlZNJiwgSlNDOjpKU0dsb2JhbE9iamVjdCopOwogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBn
ZXRQcm90b3R5cGUoSlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKLSAgICBzdGF0aWMg
VGVzdE9iaiogdG9XcmFwcGVkKEpTQzo6SlNWYWx1ZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIFRlc3RPYmoqIHRvV3JhcHBlZChKU0M6OkpTVmFsdWUpOwogICAgIHN0YXRpYyBib29sIGdl
dE93blByb3BlcnR5U2xvdChKU0M6OkpTT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlBy
b3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95
KEpTQzo6SlNDZWxsKik7CiAKLSAgICBERUNMQVJFX0lORk87CisgICAgREVDTEFSRV9FWFBPUlRf
SU5GTzsKIAogICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6
Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBw
cm90b3R5cGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
LmgKaW5kZXggYjdiOWVhN2NlYWQxMzYzMTBmYjRiNTA5MmRmZWE3ZWE4ZWIwNTU5YS4uZjM3ZjFh
Yjg2MWIxNTVlZTFkZTJhYmY3NzdiYzMwYzBjZjYwNmQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oCkBAIC0zOSwxMCArMzksMTAgQEAgcHVibGljOgogCiAg
ICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIGNyZWF0ZVByb3RvdHlwZShKU0M6OlZNJiwgSlNDOjpK
U0dsb2JhbE9iamVjdCopOwogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBnZXRQcm90b3R5cGUo
SlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKLSAgICBzdGF0aWMgVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnMqIHRvV3JhcHBlZChKU0M6OkpTVmFsdWUpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyogdG9XcmFwcGVkKEpTQzo6SlNW
YWx1ZSk7CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0M6OkpTQ2VsbCopOwogCi0gICAgREVD
TEFSRV9JTkZPOworICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKICAgICBzdGF0aWMgSlNDOjpT
dHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlk
ZUJ1aWx0aW5zLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T3ZlcnJpZGVCdWlsdGlucy5oCmluZGV4IGY3ZmMzZGRlMTIzMmNhZTFlNDFhNWRmZmNmZTJi
M2Q1YmJlMDhmNWYuLjc3ZjJjMjQ1NGQ4MjllZDU1ZWE1NmNiYjkxOTc5ZmIzZTI2ZDllY2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
dmVycmlkZUJ1aWx0aW5zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuaApAQCAtMzksMTIgKzM5LDEyIEBAIHB1Ymxp
YzoKIAogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBjcmVhdGVQcm90b3R5cGUoSlNDOjpWTSYs
IEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKICAgICBzdGF0aWMgSlNDOjpKU09iamVjdCogZ2V0UHJv
dG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7Ci0gICAgc3RhdGljIFRlc3RP
dmVycmlkZUJ1aWx0aW5zKiB0b1dyYXBwZWQoSlNDOjpKU1ZhbHVlKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBzdGF0aWMgVGVzdE92ZXJyaWRlQnVpbHRpbnMqIHRvV3JhcHBlZChKU0M6OkpTVmFsdWUp
OwogICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU0M6OkpTT2JqZWN0KiwgSlND
OjpFeGVjU3RhdGUqLCBKU0M6OlByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAg
ICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTQzo6SlNPYmplY3QqLCBK
U0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3Qm
KTsKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQzo6SlNDZWxsKik7CiAKLSAgICBERUNMQVJF
X0lORk87CisgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAogICAgIHN0YXRpYyBKU0M6OlN0cnVj
dHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCmluZGV4IDc1YTcy
NWJkNDA2MTgyMjFiNmJmNzk1ZDIwMmU5NDBlNWI5M2FmNzQuLjc2ZjAwMDg1YjkwYWRhMWNhZDNm
Y2E0ZDVlY2IxNGU1OTc0YTQ2OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKQEAgLTQxLDEwICs0MSwxMCBAQCBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgSlNDOjpKU09iamVjdCogY3JlYXRlUHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6
OkpTR2xvYmFsT2JqZWN0Kik7CiAgICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIGdldFByb3RvdHlw
ZShKU0M6OlZNJiwgSlNDOjpKU0dsb2JhbE9iamVjdCopOwotICAgIHN0YXRpYyBUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKiB0b1dyYXBwZWQoSlNDOjpKU1ZhbHVlKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSog
dG9XcmFwcGVkKEpTQzo6SlNWYWx1ZSk7CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0M6OkpT
Q2VsbCopOwogCi0gICAgREVDTEFSRV9JTkZPOworICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAK
ICAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwg
SlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBl
KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RUeXBlZGVmcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgKaW5kZXggMWRiYThmMGU3MmRkODJmNGM2YzM0ZjZmYTk3
OGNlODNhOGE0YmIxMi4uNjdkODIxOWYyNzk3NTUwZWQ1MzU1ODM1MDBkOTdhZmIwN2U3NzM2YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFR5cGVkZWZzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFR5cGVkZWZzLmgKQEAgLTM5LDExICszOSwxMSBAQCBwdWJsaWM6CiAKICAgICBzdGF0
aWMgSlNDOjpKU09iamVjdCogY3JlYXRlUHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFs
T2JqZWN0Kik7CiAgICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIGdldFByb3RvdHlwZShKU0M6OlZN
JiwgSlNDOjpKU0dsb2JhbE9iamVjdCopOwotICAgIHN0YXRpYyBUZXN0VHlwZWRlZnMqIHRvV3Jh
cHBlZChKU0M6OkpTVmFsdWUpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBUZXN0VHlwZWRl
ZnMqIHRvV3JhcHBlZChKU0M6OkpTVmFsdWUpOwogICAgIHN0YXRpYyBib29sIGdldE93blByb3Bl
cnR5U2xvdChKU0M6OkpTT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlByb3BlcnR5TmFt
ZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQzo6SlND
ZWxsKik7CiAKLSAgICBERUNMQVJFX0lORk87CisgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAog
ICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBK
U0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUp
CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTYXR0cmlidXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNhdHRyaWJ1dGUuaAppbmRleCA5NDc2NWZmNzZiNTZmMjEwY2M4ZTM5ZGUwMzBhM2Y3NDZi
ZDY3YjAzLi4zZjhkYzE3NDhhMjljMDNiZjQ2YWQ2MmYyYjExMTc3YzI0ODIwMWY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1
dGUuaApAQCAtNDAsMTAgKzQwLDEwIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBKU0M6OkpTT2Jq
ZWN0KiBjcmVhdGVQcm90b3R5cGUoSlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKICAg
ICBzdGF0aWMgSlNDOjpKU09iamVjdCogZ2V0UHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xv
YmFsT2JqZWN0Kik7Ci0gICAgc3RhdGljIGF0dHJpYnV0ZSogdG9XcmFwcGVkKEpTQzo6SlNWYWx1
ZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGF0dHJpYnV0ZSogdG9XcmFwcGVkKEpTQzo6
SlNWYWx1ZSk7CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0M6OkpTQ2VsbCopOwogCi0gICAg
REVDTEFSRV9JTkZPOworICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKICAgICBzdGF0aWMgSlND
OjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQogICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5o
CmluZGV4IGI3OThkYTgwMjIxMjg3ZDVjNWMwNWNmYzBiYTQxYWFiYTdlOTRhNzMuLmRhZGY0NmEw
NzkyNjMwOTYyMGJjNTczNWRkMzMwNzcwMTJkZTcxMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuaApAQCAtMzksMTAgKzM5
LDEwIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBjcmVhdGVQcm90b3R5
cGUoSlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKICAgICBzdGF0aWMgSlNDOjpKU09i
amVjdCogZ2V0UHJvdG90eXBlKEpTQzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7Ci0gICAg
c3RhdGljIHJlYWRvbmx5KiB0b1dyYXBwZWQoSlNDOjpKU1ZhbHVlKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBzdGF0aWMgcmVhZG9ubHkqIHRvV3JhcHBlZChKU0M6OkpTVmFsdWUpOwogICAgIHN0YXRp
YyB2b2lkIGRlc3Ryb3koSlNDOjpKU0NlbGwqKTsKIAotICAgIERFQ0xBUkVfSU5GTzsKKyAgICBE
RUNMQVJFX0VYUE9SVF9JTkZPOwogCiAgICAgc3RhdGljIEpTQzo6U3RydWN0dXJlKiBjcmVhdGVT
dHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNDOjpKU1ZhbHVlIHByb3RvdHlwZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmlkbAppbmRleCAyMmQ1ZDkxMWNhZmM5NWJlZGY3NzYxZTNlZDFlN2MxNjQ2NDVi
YTczLi5kYWZiNTMzMzhiZThiYWVjZDM3ZDJmOWY3YTgxMTM3MjdlNmM5OGU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKQEAgLTE5LDcgKzE5LDkgQEAKICAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICovCiAKLWludGVyZmFjZSBIVE1MSW5wdXRFbGVt
ZW50IDogSFRNTEVsZW1lbnQgeworWworICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdAorXSBp
bnRlcmZhY2UgSFRNTElucHV0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICBbUmVmbGVjdF0g
YXR0cmlidXRlIERPTVN0cmluZyBhY2NlcHQ7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01T
dHJpbmcgYWx0OwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGF1dG9jb21wbGV0
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCAyOWMwZjRkMzZjYWZkZTY3
YjM0NGVlNzA5NTVlNGQ1MWVkZmMyMmU4Li5iMThmZTAwM2NmOWJiZWVlZThlMDg1MWQzYzI4YjMz
ZWViMmUyNmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC04ODgsMTMg
Kzg4OCwxMSBAQCBTdHJpbmcgSW50ZXJuYWxzOjp2aXNpYmxlUGxhY2Vob2xkZXIoRWxlbWVudCog
ZWxlbWVudCkKIH0KIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQotdm9pZCBJbnRlcm5h
bHM6OnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoRWxlbWVudCogZWxlbWVudCwgY29uc3QgU3Ry
aW5nJiBjb2xvclZhbHVlKQordm9pZCBJbnRlcm5hbHM6OnNlbGVjdENvbG9ySW5Db2xvckNob29z
ZXIoSFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50LCBjb25zdCBTdHJpbmcmIGNvbG9yVmFs
dWUpCiB7Ci0gICAgaWYgKCFpczxIVE1MSW5wdXRFbGVtZW50PigqZWxlbWVudCkpCi0gICAgICAg
IHJldHVybjsKLSAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQgPSBlbGVtZW50LT50
b0lucHV0RWxlbWVudCgpOwogICAgIGlmICghaW5wdXRFbGVtZW50KQogICAgICAgICByZXR1cm47
CisKICAgICBpbnB1dEVsZW1lbnQtPnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoQ29sb3IoY29s
b3JWYWx1ZSkpOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA1
ZWY3ZGUwNGVmNjdiMzllNjdlZjEwNjJjZGRmNDBiN2FhZmVmYTFkLi4zN2JmOTcxMmQ4OGUyMTcw
YWI2YjA0MDc5MTJlZWUxNDY2ZGU4NWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
QEAgLTUxLDYgKzUxLDcgQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50OwogY2xhc3Mg
RmlsZTsKIGNsYXNzIEZyYW1lOworY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIGNsYXNzIEhUTUxN
ZWRpYUVsZW1lbnQ7CiBjbGFzcyBJbnNwZWN0b3JTdHViRnJvbnRlbmQ7CiBjbGFzcyBJbnRlcm5h
bFNldHRpbmdzOwpAQCAtMTQzLDcgKzE0NCw3IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyB2aXNp
YmxlUGxhY2Vob2xkZXIoRWxlbWVudCopOwogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQot
ICAgIHZvaWQgc2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3NlcihFbGVtZW50KiwgY29uc3QgU3RyaW5n
JiBjb2xvclZhbHVlKTsKKyAgICB2b2lkIHNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoSFRNTElu
cHV0RWxlbWVudCosIGNvbnN0IFN0cmluZyYgY29sb3JWYWx1ZSk7CiAjZW5kaWYKICAgICBWZWN0
b3I8U3RyaW5nPiBmb3JtQ29udHJvbFN0YXRlT2ZQcmV2aW91c0hpc3RvcnlJdGVtKEV4Y2VwdGlv
bkNvZGUmKTsKICAgICB2b2lkIHNldEZvcm1Db250cm9sU3RhdGVPZlByZXZpb3VzSGlzdG9yeUl0
ZW0oY29uc3QgVmVjdG9yPFN0cmluZz4mLCBFeGNlcHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKaW5kZXggOGZlMjgwMDg5ZDY5YzNkMTkwNmQ1Njk3NDM1MTJjODg1
ZWEzMDdlZS4uODUxMjkwYmJkYmU3ZWFkZTRlOWZmMDcyMjlhNTA4NjJmOTFjZTcyNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTE2LDcgKzExNiw3IEBAIGVudW0gTWVk
aWFDb250cm9sRXZlbnQgewogCiAgICAgRE9NU3RyaW5nIHZpc2libGVQbGFjZWhvbGRlcihFbGVt
ZW50IGVsZW1lbnQpOwogI2lmIGRlZmluZWQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICYmIEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SCi0gICAgdm9pZCBzZWxlY3RDb2xvckluQ29sb3JDaG9vc2Vy
KEVsZW1lbnQgZWxlbWVudCwgRE9NU3RyaW5nIGNvbG9yVmFsdWUpOworICAgIFtTdHJpY3RUeXBl
Q2hlY2tpbmddIHZvaWQgc2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3NlcihIVE1MSW5wdXRFbGVtZW50
IGVsZW1lbnQsIERPTVN0cmluZyBjb2xvclZhbHVlKTsKICNlbmRpZgogICAgIFtSYWlzZXNFeGNl
cHRpb25dIERPTVN0cmluZ1tdIGZvcm1Db250cm9sU3RhdGVPZlByZXZpb3VzSGlzdG9yeUl0ZW0o
KTsKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldEZvcm1Db250cm9sU3RhdGVPZlByZXZp
b3VzSGlzdG9yeUl0ZW0oc2VxdWVuY2U8RE9NU3RyaW5nPiB2YWx1ZXMpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU5NGEy
YjhiMDc1N2NlMWZhZDEzZDJkMzk3NGQzY2RjMTUxMDliNjguLjYzNjI3ZGYwOWQ3ZjBhYWI5MWI4
N2RjZjhkMThmYmVlNjcyMTg5ZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNS0xMC0xNyAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIE51bGwgZGVyZWZlcmVu
Y2UgbG9hZGluZyBCbGluayBsYXlvdXQgdGVzdCBmYXN0L2Zvcm1zL2NvbG9yL2lucHV0LWNvbG9y
LW9uY2hhbmdlLWV2ZW50Lmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1MDE5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjMxMzUwNTA+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wb3J0IG1v
cmUgY2hlY2tzIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgQmxpbmsgdGVzdC4KKworICAgICAgICAq
IGZhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQu
aHRtbDoKKwogMjAxNS0xMC0xNiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmUgWyBEZWJ1ZyBdIHF1YWxpZmllcnMgZnJvbSBleHBlY3RhdGlvbnMg
Zm9yIHNvbWUgaW1wb3J0ZWQgQmxpbmsgdGVzdCwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC1l
eHBlY3RlZC50eHQKaW5kZXggYzg3OWEwYjdjOTI0NjQ0NTc5YTIyY2RlYThlYTg0NTdhZTRjZWU5
Yy4uZTQzZmM3NjM0MmZmZTMwMDYyNWYxZTgwZGRmMzVkMWM5ZWQ2OTBmNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xv
ci1vbmNoYW5nZS1ldmVudC1leHBlY3RlZC50eHQKQEAgLTQsNiArNCwxMiBAQCBUbyBtYW51YWxs
eSB0ZXN0IHRoaXMsIGNsaWNrIG9uIHRoZSBpbnB1dCBjb2xvciBlbGVtZW50IGluIHRoZSB0b3Ag
bGVmdCBjb3JuZXIgYQogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLXZhbHVlIGNoYW5n
ZWQgdG8gI2ZmMDAwMAorUEFTUyBpbnRlcm5hbHMuc2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3Nlcih7
fSwgJyNmZjAwMDAnKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2Vs
ZW1lbnQnKSB0byBJbnRlcm5hbHMuc2VsZWN0Q29sb3JJbkNvbG9yQ2hvb3NlciBtdXN0IGJlIGFu
IGluc3RhbmNlIG9mIEhUTUxJbnB1dEVsZW1lbnQuCitQQVNTIGludGVybmFscy5zZWxlY3RDb2xv
ckluQ29sb3JDaG9vc2VyKGRvY3VtZW50LCAnI2ZmMDAwMCcpOyB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgnZWxlbWVudCcpIHRvIEludGVybmFscy5zZWxlY3RDb2xvcklu
Q29sb3JDaG9vc2VyIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgSFRNTElucHV0RWxlbWVudC4KK2lu
cHV0IGV2ZW50IGRpc3BhdGNoZWQgLSB2YWx1ZSBpczogICNmZjAwMDAKK2NoYW5nZSBldmVudCBk
aXNwYXRjaGVkIC0gdmFsdWUgY2hhbmdlZCB0byAjZmYwMDAwCiBQQVNTIGlucHV0LnZhbHVlIGlz
ICIjZmYwMDAwIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29s
b3Itb25jaGFuZ2UtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY29sb3IvaW5w
dXQtY29sb3Itb25jaGFuZ2UtZXZlbnQuaHRtbAppbmRleCAyMmExNTI0N2YzZTFhOWE5OGY2MjRk
YTIwODJhNjJiNjVjZjdjYWQwLi42ZDEzNjlhM2ZiZDQwNGI5MzJiNWVkN2JlZjkwYzcxNzY3OTAy
MzE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NvbG9yL2lucHV0LWNvbG9y
LW9uY2hhbmdlLWV2ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xvci9p
bnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC5odG1sCkBAIC0xLDcgKzEsNyBAQAogPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgogPGh0bWw+CiA8aGVhZD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KIDwv
aGVhZD4KIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CkBAIC0yMSwxMyArMjEsMjEg
QEAgaW5wdXQuc3R5bGUud2lkdGggPSAnMjBweCc7CiBpbnB1dC5zdHlsZS5oZWlnaHQgPSAnMjBw
eCc7CiAKIGlucHV0Lm9uY2hhbmdlID0gZnVuY3Rpb24oKSB7Ci0gICAgZGVidWcoInZhbHVlIGNo
YW5nZWQgdG8gIiArIGlucHV0LnZhbHVlKTsKKyAgICBkZWJ1ZygiY2hhbmdlIGV2ZW50IGRpc3Bh
dGNoZWQgLSB2YWx1ZSBjaGFuZ2VkIHRvICIgKyBpbnB1dC52YWx1ZSk7Cit9OworCitpbnB1dC5v
bmlucHV0ID0gZnVuY3Rpb24oKSB7CisgICAgZGVidWcoImlucHV0IGV2ZW50IGRpc3BhdGNoZWQg
LSB2YWx1ZSBpczogICIgKyBpbnB1dC52YWx1ZSk7CiB9OwogCiBldmVudFNlbmRlci5tb3VzZU1v
dmVUbygxMCwgMTApOwogZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CiBldmVudFNlbmRlci5tb3Vz
ZVVwKCk7CiAKKy8vIFRlc3QgdGhhdCBpbmNvcnJlY3QgZWxlbWVudCBhcmd1bWVudHMgYXJlIChu
b3QpIGhhbmRsZWQuCitzaG91bGRUaHJvdygiaW50ZXJuYWxzLnNlbGVjdENvbG9ySW5Db2xvckNo
b29zZXIoe30sICcjZmYwMDAwJyk7Iik7CitzaG91bGRUaHJvdygiaW50ZXJuYWxzLnNlbGVjdENv
bG9ySW5Db2xvckNob29zZXIoZG9jdW1lbnQsICcjZmYwMDAwJyk7Iik7CisKIC8vIGlucHV0Lm9u
Y2hhbmdlIHNob3VsZCBiZSBjYWxsZWQKIGludGVybmFscy5zZWxlY3RDb2xvckluQ29sb3JDaG9v
c2VyKGlucHV0LCAnI2ZmMDAwMCcpOwogLy8gaW5wdXQub25jaGFuZ2Ugc2hvdWxkIG5vdCBiZSBj
YWxsZWQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263395</attachid>
            <date>2015-10-17 18:00:55 -0700</date>
            <delta_ts>2015-10-19 09:53:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150192-20151017180023.patch</filename>
            <type>text/plain</type>
            <size>5424</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFkZGRkMzQwNzdkNDYy
OTYwZjdhNTAyOWE5MTkzM2UxOGM1ODBmNC4uMzFhZWU0YWQxMTFhMzRhMDE4NWQ3YjMxYzc4NzFj
NjM5ZWExNGQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTEwLTE3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTnVsbCBkZXJlZmVyZW5jZSBs
b2FkaW5nIEJsaW5rIGxheW91dCB0ZXN0IGZhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25j
aGFuZ2UtZXZlbnQuaHRtbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTUwMTkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMzEzNTA1MD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBDYWxsaW5nIGludGVybmFs
cy5zZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKCkgd2l0aCBhIG5vbi1FbGVtZW50IHdvdWxkCisg
ICAgICAgIGNhdXNlIGEgbnVsbCBkZXJlZmVyZW5jZS4gVGhpcyBpcyBiZWNhdXNlIGluIHN1Y2gg
Y2FzZSwgdGhlIGltcGxlbWVudGF0aW9uCisgICAgICAgIG1ldGhvZCBpcyBwYXNzZWQgYSBudWxs
IHBvaW50ZXIgYW5kIHdlIHdvdWxkIGZhaWwgdG8gbnVsbC1jaGVjayBpdC4gVGhpcworICAgICAg
ICBwYXRjaCBub3cgZG9lcyB0aGUgbnVsbC1jaGVjay4KKworICAgICAgICBObyBuZXcgdGVzdHMs
IGV4aXN0aW5nIHRlc3Qgd2FzIHVwZGF0ZWQuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNlbGVjdENvbG9ySW5Db2xvckNo
b29zZXIpOgorCiAyMDE1LTEwLTE3ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAog
ICAgICAgICBJbXBsZW1lbnQgdGhlIENTUzQgJ3JldmVydCcga2V5d29yZC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCAyOWMwZjRkMzZjYWZkZTY3YjM0NGVlNzA5NTVlNGQ1
MWVkZmMyMmU4Li44YzZmMTIyMzg2ODI0YWViZjNiZDc2ZmM0ZTc5MzJlOGZkZWY5MmRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC04OTAsMTIgKzg5MCwxMCBAQCBTdHJp
bmcgSW50ZXJuYWxzOjp2aXNpYmxlUGxhY2Vob2xkZXIoRWxlbWVudCogZWxlbWVudCkKICNpZiBF
TkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKIHZvaWQgSW50ZXJuYWxzOjpzZWxlY3RDb2xvckluQ29s
b3JDaG9vc2VyKEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IFN0cmluZyYgY29sb3JWYWx1ZSkKIHsK
LSAgICBpZiAoIWlzPEhUTUxJbnB1dEVsZW1lbnQ+KCplbGVtZW50KSkKKyAgICBpZiAoIWlzPEhU
TUxJbnB1dEVsZW1lbnQ+KGVsZW1lbnQpKQogICAgICAgICByZXR1cm47Ci0gICAgSFRNTElucHV0
RWxlbWVudCogaW5wdXRFbGVtZW50ID0gZWxlbWVudC0+dG9JbnB1dEVsZW1lbnQoKTsKLSAgICBp
ZiAoIWlucHV0RWxlbWVudCkKLSAgICAgICAgcmV0dXJuOwotICAgIGlucHV0RWxlbWVudC0+c2Vs
ZWN0Q29sb3JJbkNvbG9yQ2hvb3NlcihDb2xvcihjb2xvclZhbHVlKSk7CisgICAgYXV0byYgaW5w
dXRFbGVtZW50ID0gZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oKmVsZW1lbnQpOworICAgIGlu
cHV0RWxlbWVudC5zZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKENvbG9yKGNvbG9yVmFsdWUpKTsK
IH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGE4N2Y2MTk2MzYyZTI2M2U0ZmJkMjQ5MWE1ZmJjYWUzNTE0
OTM2OC4uNDFkODk1NzM4OGFmMGE5OGMzMDVmODA5YWU0ZDE1MTVkZWYzNzlhMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDE1LTEwLTE3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgTnVsbCBkZXJlZmVyZW5jZSBsb2FkaW5nIEJsaW5rIGxheW91dCB0ZXN0IGZh
c3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2UtZXZlbnQuaHRtbAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwMTkyCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8yMzEzNTA1MD4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICBJbXBvcnQgbW9yZSBjaGVja3MgZnJvbSB0aGUgY29ycmVzcG9uZGluZyBC
bGluayB0ZXN0LgorCisgICAgICAgICogZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNo
YW5nZS1ldmVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9mb3Jtcy9jb2xvci9pbnB1
dC1jb2xvci1vbmNoYW5nZS1ldmVudC5odG1sOgorCiAyMDE1LTEwLTE3ICBEYXZpZCBIeWF0dCAg
PGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgdGhlIENTUzQgJ3JldmVydCcg
a2V5d29yZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY29sb3IvaW5wdXQt
Y29sb3Itb25jaGFuZ2UtZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC1leHBlY3RlZC50eHQKaW5kZXggYzg3
OWEwYjdjOTI0NjQ0NTc5YTIyY2RlYThlYTg0NTdhZTRjZWU5Yy4uODhjZDcxMzlhMThhMWY4NzJj
MzM0MjAyYWZlNTc2NDNlZmMxYjlkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC1leHBl
Y3RlZC50eHQKQEAgLTQsNiArNCwxNiBAQCBUbyBtYW51YWxseSB0ZXN0IHRoaXMsIGNsaWNrIG9u
IHRoZSBpbnB1dCBjb2xvciBlbGVtZW50IGluIHRoZSB0b3AgbGVmdCBjb3JuZXIgYQogT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLXZhbHVlIGNoYW5nZWQgdG8gI2ZmMDAwMAorUEFTUyBv
bkNoYW5nZUNvdW50IGlzIDAKK2ludGVybmFscy5zZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKHt9
LCAnI2ZmMDAwMCcpOworaW50ZXJuYWxzLnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoZG9jdW1l
bnQsICcjZmYwMDAwJyk7CitQQVNTIG9uQ2hhbmdlQ291bnQgaXMgMAoraW5wdXQgZXZlbnQgZGlz
cGF0Y2hlZCAtIHZhbHVlIGlzOiAgI2ZmMDAwMAorY2hhbmdlIGV2ZW50IGRpc3BhdGNoZWQgLSB2
YWx1ZSBjaGFuZ2VkIHRvICNmZjAwMDAKK1BBU1Mgb25DaGFuZ2VDb3VudCBpcyAxCitQQVNTIG9u
Q2hhbmdlQ291bnQgaXMgMQogUEFTUyBpbnB1dC52YWx1ZSBpcyAiI2ZmMDAwMCIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NvbG9yL2lucHV0LWNvbG9yLW9uY2hhbmdlLWV2ZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NvbG9yL2lucHV0LWNvbG9yLW9uY2hhbmdlLWV2
ZW50Lmh0bWwKaW5kZXggMjJhMTUyNDdmM2UxYTlhOThmNjI0ZGEyMDgyYTYyYjY1Y2Y3Y2FkMC4u
Y2I2NDNhMDBiOTk4MWZiYjc1MDc2YzdkODEyZWNlZDBmOWRkOTFkNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9jb2xvci9pbnB1dC1jb2xvci1vbmNoYW5nZS1ldmVudC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY29sb3IvaW5wdXQtY29sb3Itb25jaGFuZ2Ut
ZXZlbnQuaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgpAQCAtMjAsMTggKzIwLDMyIEBAIGlucHV0LnN0eWxlLnRvcCA9
ICcwJzsKIGlucHV0LnN0eWxlLndpZHRoID0gJzIwcHgnOwogaW5wdXQuc3R5bGUuaGVpZ2h0ID0g
JzIwcHgnOwogCit2YXIgb25DaGFuZ2VDb3VudCA9IDA7CiBpbnB1dC5vbmNoYW5nZSA9IGZ1bmN0
aW9uKCkgewotICAgIGRlYnVnKCJ2YWx1ZSBjaGFuZ2VkIHRvICIgKyBpbnB1dC52YWx1ZSk7Cisg
ICAgZGVidWcoImNoYW5nZSBldmVudCBkaXNwYXRjaGVkIC0gdmFsdWUgY2hhbmdlZCB0byAiICsg
aW5wdXQudmFsdWUpOworICAgIG9uQ2hhbmdlQ291bnQrKzsKK307CisKK2lucHV0Lm9uaW5wdXQg
PSBmdW5jdGlvbigpIHsKKyAgICBkZWJ1ZygiaW5wdXQgZXZlbnQgZGlzcGF0Y2hlZCAtIHZhbHVl
IGlzOiAgIiArIGlucHV0LnZhbHVlKTsKIH07CiAKIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEw
LCAxMCk7CiBldmVudFNlbmRlci5tb3VzZURvd24oKTsKIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsK
IAorc2hvdWxkQmUoJ29uQ2hhbmdlQ291bnQnLCAnMCcpOworLy8gVGVzdCB0aGF0IGluY29ycmVj
dCBlbGVtZW50IGFyZ3VtZW50cyBhcmUgKG5vdCkgaGFuZGxlZC4KK2V2YWxBbmRMb2coImludGVy
bmFscy5zZWxlY3RDb2xvckluQ29sb3JDaG9vc2VyKHt9LCAnI2ZmMDAwMCcpOyIpOworZXZhbEFu
ZExvZygiaW50ZXJuYWxzLnNlbGVjdENvbG9ySW5Db2xvckNob29zZXIoZG9jdW1lbnQsICcjZmYw
MDAwJyk7Iik7CitzaG91bGRCZSgnb25DaGFuZ2VDb3VudCcsICcwJyk7CisKIC8vIGlucHV0Lm9u
Y2hhbmdlIHNob3VsZCBiZSBjYWxsZWQKIGludGVybmFscy5zZWxlY3RDb2xvckluQ29sb3JDaG9v
c2VyKGlucHV0LCAnI2ZmMDAwMCcpOworc2hvdWxkQmUoJ29uQ2hhbmdlQ291bnQnLCAnMScpOwog
Ly8gaW5wdXQub25jaGFuZ2Ugc2hvdWxkIG5vdCBiZSBjYWxsZWQKIGludGVybmFscy5zZWxlY3RD
b2xvckluQ29sb3JDaG9vc2VyKGlucHV0LCAnI2ZmMDAwMCcpOworc2hvdWxkQmUoJ29uQ2hhbmdl
Q291bnQnLCAnMScpOwogCiBzaG91bGRCZSgnaW5wdXQudmFsdWUnLCAnIiNmZjAwMDAiJyk7CiA8
L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>