<?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>153157</bug_id>
          
          <creation_ts>2016-01-15 15:07:34 -0800</creation_ts>
          <short_desc>CSP: Use the served CSP header for dedicated workers</short_desc>
          <delta_ts>2016-01-31 19:10:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>153562</blocked>
    
    <blocked>153612</blocked>
    
    <blocked>153622</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mkwst</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1155977</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-01-15 15:07:34 -0800</bug_when>
    <thetext>We should merge &lt;https://src.chromium.org/viewvc/blink?view=rev&amp;revision=194094&gt; and &lt;https://src.chromium.org/viewvc/blink?view=rev&amp;revision=194143&gt; (in order).

Use the served CSP header for dedicated workers

This CL makes workers obey the CSP that was served as a header along
with the worker script, instead of inheriting the CSP from the document
that spawned the worker. (Blob and file URLs still inherit the CSP from
the parent document.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159608</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-01-27 20:44:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/24383254&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159732</commentid>
    <comment_count>2</comment_count>
      <attachid>270118</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-01-28 09:03:56 -0800</bug_when>
    <thetext>Created attachment 270118
Patch and Layout Test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159733</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-28 09:05:58 -0800</bug_when>
    <thetext>Attachment 270118 did not pass style-queue:


ERROR: Source/WebCore/workers/DedicatedWorkerThread.h:37:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/workers/WorkerGlobalScopeProxy.h:41:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/workers/WorkerMessagingProxy.h:43:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/workers/DedicatedWorkerGlobalScope.h:39:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/workers/WorkerThread.h:38:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 5 in 26 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159746</commentid>
    <comment_count>4</comment_count>
      <attachid>270120</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-01-28 09:37:58 -0800</bug_when>
    <thetext>Created attachment 270120
Patch and Layout Test

Add files ContentSecurityPolicyResponseHeaders.{cpp, h} to the CMake build system and Visual Studio project file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159754</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-28 09:46:37 -0800</bug_when>
    <thetext>Attachment 270120 did not pass style-queue:


ERROR: Source/WebCore/workers/DedicatedWorkerThread.h:37:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/workers/WorkerGlobalScopeProxy.h:41:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/workers/WorkerMessagingProxy.h:43:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/workers/DedicatedWorkerGlobalScope.h:39:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/workers/WorkerThread.h:38:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 5 in 29 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159782</commentid>
    <comment_count>6</comment_count>
      <attachid>270127</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-01-28 10:54:35 -0800</bug_when>
    <thetext>Created attachment 270127
Patch and Layout Tests

Updated patch to inherit CSP from owner document of worker when script URL of worker is a file URL as per comment #0. Added tests LayoutTests/fast/workers/worker-inherits-csp-blocks-{eval, xhr}.html to ensure we do not regress this behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159788</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-28 10:57:26 -0800</bug_when>
    <thetext>Attachment 270127 did not pass style-queue:


ERROR: Source/WebCore/workers/DedicatedWorkerThread.h:37:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/workers/WorkerGlobalScopeProxy.h:41:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/workers/WorkerMessagingProxy.h:43:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/workers/DedicatedWorkerGlobalScope.h:39:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/workers/WorkerThread.h:38:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 5 in 35 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1159977</commentid>
    <comment_count>8</comment_count>
      <attachid>270127</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-01-28 18:51:58 -0800</bug_when>
    <thetext>Comment on attachment 270127
Patch and Layout Tests

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

r=me. I don&apos;t know why the patch will not apply on the WK2 bot, but presumably its a machine-specific issue. Please watch test results carefully after landing.

&gt; Source/WebCore/ChangeLog:58
&gt; +        (WebCore::ContentSecurityPolicyResponseHeaders::isolatedCopy): Make an copy of this object that is

Make *a* copy! :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160722</commentid>
    <comment_count>9</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-01-31 19:10:06 -0800</bug_when>
    <thetext>Committed r195948: &lt;http://trac.webkit.org/changeset/195948&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270118</attachid>
            <date>2016-01-28 09:03:56 -0800</date>
            <delta_ts>2016-01-28 09:37:55 -0800</delta_ts>
            <desc>Patch and Layout Test</desc>
            <filename>bug-153157-20160128090330.patch</filename>
            <type>text/plain</type>
            <size>61716</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1NzQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODA2ZmRkZjgwNzMwYjJm
ZDZlZmM5MWRjNWZiNjg5M2FmM2MxOWRmMi4uNmM0ZGNjOTc0ODdmZjVkYWRjYTU5NmI2OGJiMzli
YWJiYTliZDRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDE2LTAxLTI4ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBDU1A6IFVzZSB0aGUgc2Vy
dmVkIENTUCBoZWFkZXIgZm9yIGRlZGljYXRlZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTMxNTcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzI0MzgzMjU0PgorICAgICAgICBBbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1MzE1NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQzODMy
NDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5z
cGlyZWQgYnkgQmxpbmsgY29tbWl0OgorICAgICAgICA8aHR0cHM6Ly9zcmMuY2hyb21pdW0ub3Jn
L3ZpZXd2Yy9ibGluaz9yZXZpc2lvbj0xOTQxNDMmdmlldz1yZXZpc2lvbj4KKworICAgICAgICBJ
bXBsZW1lbnQgc3VwcG9ydCBmb3IgcmVzcGVjdGluZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAo
Q1NQKSBIVFRQIGhlYWRlcnMgaW5jbHVkZWQgaW4gdGhlCisgICAgICAgIEhUVFAgcmVzcG9uc2Ug
Zm9yIGEgV2ViIFdvcmtlcidzIHNjcmlwdCBhcyBwZXIgc2VjdGlvbiBXb3JrZXJzIG9mIHRoZSBD
U1AgMi4wIHNwZWMsCisgICAgICAgIDxodHRwczovL3czYy5naXRodWIuaW8vd2ViYXBwc2VjLWNz
cC8yLyNwcm9jZXNzaW5nLW1vZGVsLXdvcmtlcnM+ICgyOSBBdWd1c3QgMjAxNSkuCisKKyAgICAg
ICAgQ3VycmVudGx5IGEgV2ViIFdvcmtlciBhbHdheXMgaW5oZXJpdHMgdGhlIENTUCBvZiBpdHMg
b3duZXIgZG9jdW1lbnQuIEluc3RlYWQgYSB3ZWIgd29ya2VyCisgICAgICAgIHdpbGwgaW5oZXJp
dCB0aGUgQ1NQIG9mIGl0cyBvd25lciBkb2N1bWVudCBvbmx5IGlmIGl0cyBzY3JpcHQgaXMgaW5j
YXBhYmxlIG9mIGRlZmluaW5nIGEKKyAgICAgICAgY29udGVudCBzZWN1cml0eSBwb2xpY3kgKGUu
Zy4gaXRzIG9yaWdpbiBpcyBhIGdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyKS4gT3RoZXJ3aXNl
LCB0aGUKKyAgICAgICAgQ1NQIEhUVFAgaGVhZGVycyBkZWxpdmVyZWQgd2l0aCB0aGUgc2NyaXB0
IHdpbGwgYmUgdXNlZCB0byBkZWZpbmUgdGhlIENTUCBmb3IgdGhlIHdvcmtlci4KKworICAgICAg
ICBUZXN0OiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXIt
YmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwuaHRtbAorCisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgZmlsZXMgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLntjcHAsIGh9LgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cHJvY2Vzc0h0dHBFcXVpdik6IFVwZGF0ZSBjb2Rl
IHRvIHVzZSBlbnVtIGNsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGUuCisgICAg
ICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpkaWRCZWdpbkRvY3VtZW50KTogRXh0cmFjdCBsb2dpYyB0byBjb2xsZWN0IENvbnRlbnQg
U2VjdXJpdHkgUG9saWN5IEhUVFAgaGVhZGVycworICAgICAgICBpbnRvIGNsYXNzIENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyBhbmQgbWFrZSB1c2Ugb2YgaXQgaGVyZS4KKyAg
ICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6aGVhZGVyVHlwZSk6IE1vZGlmaWVkIHRvIHVzZSBlbnVt
IGNsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGUuCisgICAgICAgIChXZWJDb3Jl
OjpDU1BEaXJlY3RpdmVMaXN0OjpDU1BEaXJlY3RpdmVMaXN0KTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVzcG9uc2VIZWFkZXJzKTogQ3JlYXRlcyBhbmQg
cmV0dXJucyBhIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycworICAgICAgICBv
YmplY3Qgd2l0aCB0aGUgcGFyc2VkIENTUCBwb2xpY3kgaGVhZGVycy4KKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRlcnMpOiBQcm9jZXNzZWQg
dGhlIENTUCBwb2xpY3kgaGVhZGVycyByZXByZXNlbnRlZCBieSB0aGUKKyAgICAgICAgc3BlY2lm
aWVkIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyBvYmplY3QuCisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRlcHJlY2F0ZWRIZWFkZXIpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjpkZXByZWNhdGVk
SGVhZGVyVHlwZSk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5
UG9saWN5Lmg6IERlZmluZXMgYSBjbGFzcyB0aGF0IHJlcHJlc2VudHMgYSBjb2xsZWN0aW9uIG9m
IENTUCBwb2xpY3kgaGVhZGVycy4KKyAgICAgICAgVGhpcyBjbGFzcyBoYXMgdHdvIHB1cnBvc2Vz
OgorICAgICAgICAgICAgLSBJdCBleHRyYWN0cyB0aGUgQ1NQIHBvbGljeSBoZWFkZXJzIGZyb20g
YSBIVFRQIHJlc3BvbnNlIChSZXNvdXJjZVJlc3BvbnNlIG9iamVjdCkuIFdlIG1ha2UgdXNlIG9m
CisgICAgICAgICAgICB0aGlzIGZ1bmN0aW9uYWxpdHkgaW4gYm90aCBGcmFtZUxvYWRlcjo6ZGlk
QmVnaW5Eb2N1bWVudCgpIGFuZCBXb3JrZXI6OmRpZFJlY2VpdmVSZXNwb25zZSgpLgorICAgICAg
ICAgICAgLSBJdCBzZXJ2ZXMgYXMgYSBtZW1lbnRvIHRoYXQgZXh0ZXJuYWxpemVzIHRoZSBpbnRl
cm5hbCBDU1AgcG9saWN5IGRldGFpbHMgb2YgYW4gaW5zdGFuY2Ugb2YKKyAgICAgICAgICAgIENv
bnRlbnRTZWN1cml0eVBvbGljeS4gV2UgbWFrZSB1c2Ugb2YgdGhpcyBtZW1lbnRvIGZ1bmN0aW9u
YWxpdHkgdG8gc3VwcG9ydCBpbmhlcml0aW5nIHRoZQorICAgICAgICAgICAgQ1NQIHBvbGljeSBv
ZiB0aGUgd29ya2VyJ3Mgb3duZXIgZG9jdW1lbnQgaW4gYSB0aHJlYWQtc2FmZSBtYW5uZXIuIFlv
dSBjYW4gY3JlYXRlIGFuZCByZXN0b3JlCisgICAgICAgICAgICBhIG1lbWVudG8gdXNpbmcgQ29u
dGVudFNlY3VyaXR5UG9saWN5OjpyZXNwb25zZUhlYWRlcnMoKSBhbmQgQ29udGVudFNlY3VyaXR5
UG9saWN5OjpkaWRSZWNlaXZlSGVhZGVycygpLCByZXNwZWN0aXZlbHkuCisgICAgICAgICogcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM6OkNv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyk6IEV4dHJhY3RzIHRoZQorICAgICAg
ICBDU1AgSFRUUCBoZWFkZXJzIGZyb20gYSBSZXNvdXJjZVJlc3BvbnNlIG9iamVjdC4KKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVyczo6aXNvbGF0
ZWRDb3B5KTogTWFrZSBhbiBjb3B5IG9mIHRoaXMgb2JqZWN0IHRoYXQgaXMKKyAgICAgICAgc2Fm
ZSB0byBwYXNzIHRvIGFub3RoZXIgdGhyZWFkLgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oOiBBZGRlZC4KKyAgICAgICAgKiB3b3JrZXJz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUpOiBNb2RpZmllZCB0byB1c2UgY2xhc3MgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLgorICAgICAgICAqIHdvcmtlcnMvRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdv
cmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6
OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFk
OjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRlZGlj
YXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUpOiBEaXR0by4KKyAgICAg
ICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNl
KTogQ3JlYXRlIGEgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIGlmIHRoZSBv
cmlnaW4gb2YKKyAgICAgICAgdGhlIHdvcmtlcidzIHNjcmlwdCBpcyBjYXBhYmxlIG9mIHByb3Zp
ZGluZyBhIENTUC4gT3RoZXJ3aXNlLCB3ZSB3aWxsIGluaGVyaXQgdGhlIENTUCBvZiB0aGUgd29y
a2VyJ3Mgb3duZXIKKyAgICAgICAgZG9jdW1lbnQgaW4gV29ya2VyOjpub3RpZnlGaW5pc2hlZCgp
LgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpub3RpZnlGaW5pc2hlZCk6IFBhc3MgdGhlIGFw
cHJvcHJpYXRlIENTUCByZXNwb25zZSBoZWFkZXJzIHRvIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpz
dGFydFdvcmtlckdsb2JhbFNjb3BlKCkuCisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Oldvcmtlckdsb2JhbFNjb3BlOjphcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyk6IFJlbmFtZWQ7IGZvcm1lcmx5IG5hbWVkIGFwcGx5Q29udGVudFNlY3VyaXR5UG9saWN5
RnJvbVN0cmluZygpLgorICAgICAgICBNb2RpZmllZCB0byB0YWtlIGEgQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzIGFuZCBhcHBseSBpdCB0byB0aGUgQ29udGVudFNlY3VyaXR5
UG9saWN5IG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIHdvcmtlci4KKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlckdsb2JhbFNjb3BlOjphcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeUZyb21TdHJp
bmcpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKTogUGFzcyB0
aGUgd29ya2VyJ3MgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIG9iamVjdC4K
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJUaHJlYWRTdGFydHVwRGF0YTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOiBBZGRlZCBm
aWVsZCBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyB0byBzdG9yZQorICAg
ICAgICB0aGUgQ1NQIHJlc3BvbnNlIGhlYWRlcnMgdG8gYmUgYXBwbGllZCB0byB0aGUgd29ya2Vy
J3MgQ29udGVudFNlY3VyaXR5UG9saWN5IG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
clRocmVhZDo6V29ya2VyVGhyZWFkKTogTW9kaWZpZWQgdG8gdXNlIENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycy4KKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6d29y
a2VyVGhyZWFkKTogUGFzcyB0aGUgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
IG9iamVjdCBmcm9tIHRoZSBzdGFydCB1cCBkYXRhIHN0cnVjdAorICAgICAgICB0byBEZWRpY2F0
ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKCkuCisgICAgICAgICogd29y
a2Vycy9Xb3JrZXJUaHJlYWQuaDoKKwogMjAxNi0wMS0yOCAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFVuZXhwZWN0ZWQgY29udGVudCB3cmFwcGluZyBhdCBodHRw
Oi8vZW1haWwub3NoLmNvbS9ILzIvdjEwMDAwMDE1MjQ3NGZlYjhlYzdjMWExZjRiYmU1YzdjMC9I
VE1MCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggMTE3Y2IzNjM4YmM5YjE5ZDg3M2UwYjAzMzY5NGU4NzdkNDVkZmFhMy4uNmRiODgw
YTJjMGYxZmM3NDk1OWUzNDVmYzZjYTg3ODFkNDE4NGM1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjE2Miw2ICs2MTYyLDgg
QEAKIAkJQ0UxMjUyNTMxQTFCRUMwNjAwODY0NDgwIC8qIE5TU3RyaW5nU1BJLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTEyNTI1MjFBMUJFQzA2MDA4
NjQ0ODAgLyogTlNTdHJpbmdTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlDRTEyNTI1NTFBMUJFQzBFMDA4NjQ0ODAgLyogTlNVUkxEb3dubG9h
ZFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Ux
MjUyNTQxQTFCRUMwRTAwODY0NDgwIC8qIE5TVVJMRG93bmxvYWRTUEkuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTEyNTI1QjFBMUMwMTgyMDA4
NjQ0ODAgLyogQ0ZOZXR3b3JrU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRTEyNTI1QTFBMUMwMTgyMDA4NjQ0ODAgLyogQ0ZOZXR3b3JrU1BJLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0U2REFE
RjkxQzU5MUU2QTAwM0Y2QTg4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTZE
QURGNzFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLmNwcCAqLzsgfTsKKwkJQ0U2REFERkExQzU5MUU2QTAwM0Y2QTg4IC8qIENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0U2REFERjgxQzU5MUU2QTAwM0Y2QTg4IC8qIENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oICovOyB9OwogCQlDRTdCMkRCMzE1ODZBQkFEMDA5
OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTdCMkRBRjE1ODZBQkFEMDA5OEIzRkEgLyog
QWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0U3QjJEQjQxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVy
bmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENFN0IyREIwMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRl
eHRVSUNvbnRyb2xsZXIubW0gKi87IH07CiAJCUNFN0IyREI1MTU4NkFCQUQwMDk4QjNGQSAvKiBU
ZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENFN0IyREIxMTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0ZXJuYXRp
dmVXaXRoUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtMTQwODUsNiArMTQwODcsOCBAQAogCQlDRTEyNTI1QTFBMUMwMTgyMDA4NjQ0ODAg
LyogQ0ZOZXR3b3JrU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENGTmV0
d29ya1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRTVDQjFCMzE0RURBQjZG
MDBCQjI3OTUgLyogRXZlbnRTZW5kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRXZlbnRTZW5kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U2RDg5Mjk0
QzdBQUNFMEFEODlCM0REIC8qIE1hdGhNTE1lbmNsb3NlRWxlbWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoTUxNZW5jbG9zZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0U2REFERjcxQzU5MUU2QTAwM0Y2QTg4IC8qIENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuY3BwOyBwYXRo
ID0gY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNkRBREY4MUM1OTFFNkEwMDNGNkE4OCAvKiBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmg7IHBhdGggPSBj
c3AvQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNFN0IyREFGMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRl
eHRVSUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWx0ZXJu
YXRpdmVUZXh0VUlDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNF
N0IyREIwMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBbHRlcm5hdGl2ZVRleHRV
SUNvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFN0IyREIxMTU4
NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjk0OCw2ICsyMjk1Miw4IEBACiAJCQljaGlsZHJlbiA9
ICgKIAkJCQk5N0M0NzFEOTEyRjkyNUJDMDA4NjM1NEIgLyogQ29udGVudFNlY3VyaXR5UG9saWN5
LmNwcCAqLywKIAkJCQk5N0M0NzFEQTEyRjkyNUJEMDA4NjM1NEIgLyogQ29udGVudFNlY3VyaXR5
UG9saWN5LmggKi8sCisJCQkJQ0U2REFERjcxQzU5MUU2QTAwM0Y2QTg4IC8qIENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5jcHAgKi8sCisJCQkJQ0U2REFERjgxQzU5MUU2QTAw
M0Y2QTg4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oICovLAogCQkJ
KTsKIAkJCW5hbWUgPSBjc3A7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjQ5ODYs
NiArMjQ5OTIsNyBAQAogCQkJCTVDREZBNkM4MUFBNEYyREEwMEVBODc0NiAvKiBDb250ZW50RXh0
ZW5zaW9uQWN0aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M5M0YzNEUxQUE2QkYwNzAwQTk4
QkFCIC8qIENvbnRlbnRFeHRlbnNpb25Db21waWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NG
REM1N0QxQUMxRDgwNTAwRTI0QTU3IC8qIENvbnRlbnRFeHRlbnNpb25FcnJvci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQ0U2REFERkExQzU5MUU2QTAwM0Y2QTg4IC8qIENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjZGMEM4OTgxQTJFNzI0
QjAwMjc5NEY4IC8qIENvbnRlbnRFeHRlbnNpb25QYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTI2RjBDODlDMUEyRUMxMTAwMDI3OTRGOCAvKiBDb250ZW50RXh0ZW5zaW9uUnVsZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMjZGMEM4QTAxQTJFQzNCRTAwMjc5NEY4IC8qIENvbnRlbnRFeHRlbnNp
b25zQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTY3OCw2ICszMTY4NSw3IEBACiAJCQkJ
N0M0OEE2RDAxOTFDOUQ2NTAwMDI2Njc0IC8qIFdlYktpdE5hbWVzcGFjZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBNURFQkRBMzE2RkI5MDg3MDA4MzZGRTAgLyogV2ViS2l0UGxheWJhY2tUYXJn
ZXRBdmFpbGFiaWxpdHlFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUMwRkYyNDBFNENF
QjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUNFNkRBREY5MUM1OTFFNkEwMDNGNkE4OCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZDRjMzMkUwRjJCOUEyNTAwNEI2
Nzk1IC8qIFdlYkxheWVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcwOUQ3OEUxQUU1NTU1NDAw
NEU0MkY4IC8qIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MDcwOUQ3OTIxQUU1NTU3RTAwNEU0MkY4IC8qIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuY3Bw
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAwZTdjNjFmZmY2M2Zl
ZTAwODkxZGZlZTZlOWU0ODkzMGUyNDFmYjBhLi44YTEwMDQ0OTEwZWY4OTE0ZmNhODNjMWRhNGY5
MGI5NTEwZmJmNjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTMyNTgsMTkgKzMyNTgs
MTkgQEAgdm9pZCBEb2N1bWVudDo6cHJvY2Vzc0h0dHBFcXVpdihjb25zdCBTdHJpbmcmIGVxdWl2
LCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBIVFRQ
SGVhZGVyTmFtZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OgotICAgICAgICBjb250ZW50U2VjdXJp
dHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OkVuZm9yY2UpOworICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2
ZUhlYWRlcihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBlOjpFbmZvcmNl
KTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEhUVFBIZWFkZXJOYW1lOjpDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXBvcnRPbmx5OgotICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3koKS0+
ZGlkUmVjZWl2ZUhlYWRlcihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydCk7
CisgICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVyKGNvbnRl
bnQsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGU6OlJlcG9ydCk7CiAgICAgICAgIGJy
ZWFrOwogCiAgICAgY2FzZSBIVFRQSGVhZGVyTmFtZTo6WFdlYktpdENTUDoKLSAgICAgICAgY29u
dGVudFNlY3VyaXR5UG9saWN5KCktPmRpZFJlY2VpdmVIZWFkZXIoY29udGVudCwgQ29udGVudFNl
Y3VyaXR5UG9saWN5OjpQcmVmaXhlZEVuZm9yY2UpOworICAgICAgICBjb250ZW50U2VjdXJpdHlQ
b2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQb2xpY3lI
ZWFkZXJUeXBlOjpQcmVmaXhlZEVuZm9yY2UpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2Ug
SFRUUEhlYWRlck5hbWU6OlhXZWJLaXRDU1BSZXBvcnRPbmx5OgotICAgICAgICBjb250ZW50U2Vj
dXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OlByZWZpeGVkUmVwb3J0KTsKKyAgICAgICAgY29udGVudFNlY3VyaXR5UG9saWN5KCkt
PmRpZFJlY2VpdmVIZWFkZXIoY29udGVudCwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlw
ZTo6UHJlZml4ZWRSZXBvcnQpOwogICAgICAgICBicmVhazsKIAogICAgIGRlZmF1bHQ6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBlZTA0MmI3NmRkYjg3YzAzOWFiZjg3
ZjM0NTIwMTgxMDc5YmI1NjNjLi5jMGU4NDgzZWQ1NTMzZjdmMDlkODI3Y2FlZGMzODVlOWIwMDBh
Zjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTY4NSwyMSArNjg1
LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6ZGlkQmVnaW5Eb2N1bWVudChib29sIGRpc3BhdGNoKQog
ICAgICAgICBpZiAoIWRuc1ByZWZldGNoQ29udHJvbC5pc0VtcHR5KCkpCiAgICAgICAgICAgICBt
X2ZyYW1lLmRvY3VtZW50KCktPnBhcnNlRE5TUHJlZmV0Y2hDb250cm9sSGVhZGVyKGRuc1ByZWZl
dGNoQ29udHJvbCk7CiAKLSAgICAgICAgU3RyaW5nIHBvbGljeVZhbHVlID0gbV9kb2N1bWVudExv
YWRlci0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRT
ZWN1cml0eVBvbGljeSk7Ci0gICAgICAgIGlmICghcG9saWN5VmFsdWUuaXNFbXB0eSgpKQotICAg
ICAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlk
UmVjZWl2ZUhlYWRlcihwb2xpY3lWYWx1ZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpFbmZvcmNl
KTsKLQotICAgICAgICBwb2xpY3lWYWx1ZSA9IG1fZG9jdW1lbnRMb2FkZXItPnJlc3BvbnNlKCku
aHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDb250ZW50U2VjdXJpdHlQb2xpY3lSZXBv
cnRPbmx5KTsKLSAgICAgICAgaWYgKCFwb2xpY3lWYWx1ZS5pc0VtcHR5KCkpCi0gICAgICAgICAg
ICBtX2ZyYW1lLmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZl
SGVhZGVyKHBvbGljeVZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydCk7Ci0KLSAg
ICAgICAgcG9saWN5VmFsdWUgPSBtX2RvY3VtZW50TG9hZGVyLT5yZXNwb25zZSgpLmh0dHBIZWFk
ZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6WFdlYktpdENTUCk7Ci0gICAgICAgIGlmICghcG9saWN5
VmFsdWUuaXNFbXB0eSgpKQotICAgICAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5jb250ZW50
U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihwb2xpY3lWYWx1ZSwgQ29udGVudFNl
Y3VyaXR5UG9saWN5OjpQcmVmaXhlZEVuZm9yY2UpOwotCi0gICAgICAgIHBvbGljeVZhbHVlID0g
bV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5h
bWU6OlhXZWJLaXRDU1BSZXBvcnRPbmx5KTsKLSAgICAgICAgaWYgKCFwb2xpY3lWYWx1ZS5pc0Vt
cHR5KCkpCi0gICAgICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBv
bGljeSgpLT5kaWRSZWNlaXZlSGVhZGVyKHBvbGljeVZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OlByZWZpeGVkUmVwb3J0KTsKKyAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5jb250ZW50
U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcnMoQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzKG1fZG9jdW1lbnRMb2FkZXItPnJlc3BvbnNlKCkpKTsKIAogICAgICAg
ICBTdHJpbmcgaGVhZGVyQ29udGVudExhbmd1YWdlID0gbV9kb2N1bWVudExvYWRlci0+cmVzcG9u
c2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRMYW5ndWFnZSk7CiAg
ICAgICAgIGlmICghaGVhZGVyQ29udGVudExhbmd1YWdlLmlzRW1wdHkoKSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggYjNj
NjFiZjg2N2YyZjkyMDU5NGU3NGRhZTAwNzNkNjhiYzRkNWQ0ZS4uMzllNWYwZTRmMGMxMjBmNzRj
Mzc4OTY5ZTYwZjlkZWIxZTc1NGEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9j
c3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Nz
cC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCkBAIC03NjAsMTEgKzc2MCwxMSBAQCBwcml2YXRl
OgogY2xhc3MgQ1NQRGlyZWN0aXZlTGlzdCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxDU1BEaXJlY3RpdmVMaXN0PiBj
cmVhdGUoQ29udGVudFNlY3VyaXR5UG9saWN5KiwgY29uc3QgU3RyaW5nJiwgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpIZWFkZXJUeXBlKTsKLSAgICBDU1BEaXJlY3RpdmVMaXN0KENvbnRlbnRTZWN1
cml0eVBvbGljeSosIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSk7CisgICAgc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxDU1BEaXJlY3RpdmVMaXN0PiBjcmVhdGUoQ29udGVudFNlY3Vy
aXR5UG9saWN5KiwgY29uc3QgU3RyaW5nJiwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlw
ZSk7CisgICAgQ1NQRGlyZWN0aXZlTGlzdChDb250ZW50U2VjdXJpdHlQb2xpY3kqLCBDb250ZW50
U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBlKTsKIAogICAgIGNvbnN0IFN0cmluZyYgaGVhZGVyKCkg
Y29uc3QgeyByZXR1cm4gbV9oZWFkZXI7IH0KLSAgICBDb250ZW50U2VjdXJpdHlQb2xpY3k6Okhl
YWRlclR5cGUgaGVhZGVyVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVyVHlwZTsgfQorICAg
IENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGUgaGVhZGVyVHlwZSgpIGNvbnN0IHsgcmV0
dXJuIG1faGVhZGVyVHlwZTsgfQogCiAgICAgYm9vbCBhbGxvd0phdmFTY3JpcHRVUkxzKGNvbnN0
IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGlu
ZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0OwogICAgIGJv
b2wgYWxsb3dJbmxpbmVFdmVudEhhbmRsZXJzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29u
c3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgQ29udGVudFNlY3VyaXR5UG9saWN5
OjpSZXBvcnRpbmdTdGF0dXMpIGNvbnN0OwpAQCAtODI0LDcgKzgyNCw3IEBAIHByaXZhdGU6CiAg
ICAgQ29udGVudFNlY3VyaXR5UG9saWN5KiBtX3BvbGljeTsKIAogICAgIFN0cmluZyBtX2hlYWRl
cjsKLSAgICBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgbV9oZWFkZXJUeXBlOwor
ICAgIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGUgbV9oZWFkZXJUeXBlOwogCiAgICAg
Ym9vbCBtX3JlcG9ydE9ubHk7CiAgICAgYm9vbCBtX2hhdmVTYW5kYm94UG9saWN5OwpAQCAtODQ4
LDE3ICs4NDgsMTcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9ldmFsRGlzYWJsZWRFcnJvck1l
c3NhZ2U7CiB9OwogCi1DU1BEaXJlY3RpdmVMaXN0OjpDU1BEaXJlY3RpdmVMaXN0KENvbnRlbnRT
ZWN1cml0eVBvbGljeSogcG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUg
dHlwZSkKK0NTUERpcmVjdGl2ZUxpc3Q6OkNTUERpcmVjdGl2ZUxpc3QoQ29udGVudFNlY3VyaXR5
UG9saWN5KiBwb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGUgdHlwZSkKICAg
ICA6IG1fcG9saWN5KHBvbGljeSkKICAgICAsIG1faGVhZGVyVHlwZSh0eXBlKQogICAgICwgbV9y
ZXBvcnRPbmx5KGZhbHNlKQogICAgICwgbV9oYXZlU2FuZGJveFBvbGljeShmYWxzZSkKICAgICAs
IG1fcmVmbGVjdGVkWFNTRGlzcG9zaXRpb24oQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZWZsZWN0
ZWRYU1NVbnNldCkKIHsKLSAgICBtX3JlcG9ydE9ubHkgPSAodHlwZSA9PSBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OlJlcG9ydCB8fCB0eXBlID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UHJlZml4
ZWRSZXBvcnQpOworICAgIG1fcmVwb3J0T25seSA9ICh0eXBlID09IENvbnRlbnRTZWN1cml0eVBv
bGljeUhlYWRlclR5cGU6OlJlcG9ydCB8fCB0eXBlID09IENvbnRlbnRTZWN1cml0eVBvbGljeUhl
YWRlclR5cGU6OlByZWZpeGVkUmVwb3J0KTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPENTUERpcmVj
dGl2ZUxpc3Q+IENTUERpcmVjdGl2ZUxpc3Q6OmNyZWF0ZShDb250ZW50U2VjdXJpdHlQb2xpY3kq
IHBvbGljeSwgY29uc3QgU3RyaW5nJiBoZWFkZXIsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVh
ZGVyVHlwZSB0eXBlKQorc3RkOjp1bmlxdWVfcHRyPENTUERpcmVjdGl2ZUxpc3Q+IENTUERpcmVj
dGl2ZUxpc3Q6OmNyZWF0ZShDb250ZW50U2VjdXJpdHlQb2xpY3kqIHBvbGljeSwgY29uc3QgU3Ry
aW5nJiBoZWFkZXIsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGUgdHlwZSkKIHsKICAg
ICBhdXRvIGRpcmVjdGl2ZXMgPSBzdGQ6Om1ha2VfdW5pcXVlPENTUERpcmVjdGl2ZUxpc3Q+KHBv
bGljeSwgdHlwZSk7CiAgICAgZGlyZWN0aXZlcy0+cGFyc2UoaGVhZGVyKTsKQEAgLTEzNTgsNyAr
MTM1OCwyMiBAQCB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6Y29weVN0YXRlRnJvbShjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3kqIG90aGVyKQogICAgICAgICBkaWRSZWNlaXZlSGVhZGVy
KHBvbGljeS0+aGVhZGVyKCksIHBvbGljeS0+aGVhZGVyVHlwZSgpKTsKIH0KIAotdm9pZCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OmRpZFJlY2VpdmVIZWFkZXIoY29uc3QgU3RyaW5nJiBoZWFkZXIs
IEhlYWRlclR5cGUgdHlwZSkKK0NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OnJlc3BvbnNlSGVhZGVycygpIGNvbnN0Cit7CisgICAgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIHJlc3VsdDsKKyAgICByZXN1bHQubV9o
ZWFkZXJzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobV9wb2xpY2llcy5zaXplKCkpOworICAgIGZv
ciAoYXV0byYgcG9saWN5IDogbV9wb2xpY2llcykKKyAgICAgICAgcmVzdWx0Lm1faGVhZGVycy51
bmNoZWNrZWRBcHBlbmQoeyBwb2xpY3ktPmhlYWRlcigpLCBwb2xpY3ktPmhlYWRlclR5cGUoKSB9
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
ZGlkUmVjZWl2ZUhlYWRlcnMoY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiBoZWFkZXJzKQoreworICAgIGZvciAoYXV0byYgaGVhZGVyIDogaGVhZGVycy5tX2hlYWRl
cnMpCisgICAgICAgIGRpZFJlY2VpdmVIZWFkZXIoaGVhZGVyLmZpcnN0LCBoZWFkZXIuc2Vjb25k
KTsKK30KKwordm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRpZFJlY2VpdmVIZWFkZXIoY29u
c3QgU3RyaW5nJiBoZWFkZXIsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGUgdHlwZSkK
IHsKICAgICAvLyBSRkMyNjE2LCBzZWN0aW9uIDQuMiBzcGVjaWZpZXMgdGhhdCBoZWFkZXJzIGFw
cGVhcmluZyBtdWx0aXBsZSB0aW1lcyBjYW4KICAgICAvLyBiZSBjb21iaW5lZCB3aXRoIGEgY29t
bWEuIFdhbGsgdGhlIGhlYWRlciBzdHJpbmcsIGFuZCBwYXJzZSBlYWNoIGNvbW1hCkBAIC0xMzkw
LDE2ICsxNDA1LDYgQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnNldE92ZXJyaWRlQWxs
b3dJbmxpbmVTdHlsZShib29sIHZhbHVlKQogICAgIG1fb3ZlcnJpZGVJbmxpbmVTdHlsZUFsbG93
ZWQgPSB2YWx1ZTsKIH0KIAotY29uc3QgU3RyaW5nJiBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRl
cHJlY2F0ZWRIZWFkZXIoKSBjb25zdAotewotICAgIHJldHVybiBtX3BvbGljaWVzLmlzRW1wdHko
KSA/IGVtcHR5U3RyaW5nKCkgOiBtX3BvbGljaWVzWzBdLT5oZWFkZXIoKTsKLX0KLQotQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIENvbnRlbnRTZWN1cml0eVBvbGljeTo6ZGVwcmVj
YXRlZEhlYWRlclR5cGUoKSBjb25zdAotewotICAgIHJldHVybiBtX3BvbGljaWVzLmlzRW1wdHko
KSA/IEVuZm9yY2UgOiBtX3BvbGljaWVzWzBdLT5oZWFkZXJUeXBlKCk7Ci19Ci0KIHRlbXBsYXRl
PGJvb2wgKENTUERpcmVjdGl2ZUxpc3Q6OiphbGxvd2VkKShDb250ZW50U2VjdXJpdHlQb2xpY3k6
OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q+CiBib29sIGlzQWxsb3dlZEJ5QWxsKGNvbnN0IENTUERp
cmVjdGl2ZUxpc3RWZWN0b3ImIHBvbGljaWVzLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9y
dGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0dXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Y3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCmluZGV4IGNlZGYxZTIzZjFhMjI1ZTljODRjYzkw
YmY1ZWZmMDVmZDM2MmMyOTEuLmFiM2NiMzQyYjg1NDViNWExMWVmNmYxMjcxYjUyOWQ2OWY3ODI2
ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBv
bGljeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGlj
eS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIENvbnRlbnRTZWN1cml0eVBvbGljeV9oCiAj
ZGVmaW5lIENvbnRlbnRTZWN1cml0eVBvbGljeV9oCiAKKyNpbmNsdWRlICJDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJT
Y3JpcHRTdGF0ZS5oIgogI2luY2x1ZGUgPG1lbW9yeT4KQEAgLTU2LDEzICs1Nyw2IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgY29weVN0YXRlRnJvbShjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3kq
KTsKIAotICAgIGVudW0gSGVhZGVyVHlwZSB7Ci0gICAgICAgIFJlcG9ydCwKLSAgICAgICAgRW5m
b3JjZSwKLSAgICAgICAgUHJlZml4ZWRSZXBvcnQsCi0gICAgICAgIFByZWZpeGVkRW5mb3JjZQot
ICAgIH07Ci0KICAgICBlbnVtIGNsYXNzIFJlcG9ydGluZ1N0YXR1cyB7CiAgICAgICAgIFNlbmRS
ZXBvcnQsCiAgICAgICAgIFN1cHByZXNzUmVwb3J0CkBAIC03NywxMiArNzEsOSBAQCBwdWJsaWM6
CiAgICAgICAgIEJsb2NrUmVmbGVjdGVkWFNTCiAgICAgfTsKIAotICAgIHZvaWQgZGlkUmVjZWl2
ZUhlYWRlcihjb25zdCBTdHJpbmcmLCBIZWFkZXJUeXBlKTsKLQotICAgIC8vIFRoZXNlIGZ1bmN0
aW9ucyBhcmUgd3JvbmcgYmVjYXVzZSB0aGV5IGFzc3VtZSB0aGF0IHRoZXJlIGlzIG9ubHkgb25l
IGhlYWRlci4KLSAgICAvLyBGSVhNRTogUmVwbGFjZSB0aGVtIHdpdGggZnVuY3Rpb25zIHRoYXQg
cmV0dXJuIHZlY3RvcnMuCi0gICAgY29uc3QgU3RyaW5nJiBkZXByZWNhdGVkSGVhZGVyKCkgY29u
c3Q7Ci0gICAgSGVhZGVyVHlwZSBkZXByZWNhdGVkSGVhZGVyVHlwZSgpIGNvbnN0OworICAgIENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyByZXNwb25zZUhlYWRlcnMoKSBjb25z
dDsKKyAgICB2b2lkIGRpZFJlY2VpdmVIZWFkZXJzKGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYpOworICAgIHZvaWQgZGlkUmVjZWl2ZUhlYWRlcihjb25zdCBTdHJp
bmcmLCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBlKTsKIAogICAgIGJvb2wgYWxsb3dK
YXZhU2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5h
bE51bWJlciYgY29udGV4dExpbmUsIGJvb2wgb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xpY3kg
PSBmYWxzZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgPSBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1czo6U2VuZFJlcG9ydCkgY29uc3Q7CiAgICAg
Ym9vbCBhbGxvd0lubGluZUV2ZW50SGFuZGxlcnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBj
b25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBib29sIG92ZXJyaWRlQ29udGVu
dFNlY3VyaXR5UG9saWN5ID0gZmFsc2UsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5n
U3RhdHVzID0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXM6OlNlbmRSZXBv
cnQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3Nw
L0NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGI2
N2I5MWQ0MjRmMjBhZWU5Y2NiY2M3MDIzNjg3YTRhODhlNTFiNgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycy5jcHAKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKKwor
I2luY2x1ZGUgIkhUVFBIZWFkZXJOYW1lcy5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2Uu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnM6OkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyhjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3sKKyAgICBTdHJpbmcgcG9saWN5VmFsdWUgPSByZXNw
b25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRTZWN1cml0eVBvbGlj
eSk7CisgICAgaWYgKCFwb2xpY3lWYWx1ZS5pc0VtcHR5KCkpCisgICAgICAgIG1faGVhZGVycy5h
cHBlbmQoeyBwb2xpY3lWYWx1ZSwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZTo6RW5m
b3JjZSB9KTsKKworICAgIHBvbGljeVZhbHVlID0gcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhU
VFBIZWFkZXJOYW1lOjpDb250ZW50U2VjdXJpdHlQb2xpY3lSZXBvcnRPbmx5KTsKKyAgICBpZiAo
IXBvbGljeVZhbHVlLmlzRW1wdHkoKSkKKyAgICAgICAgbV9oZWFkZXJzLmFwcGVuZCh7IHBvbGlj
eVZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBlOjpSZXBvcnQgfSk7CisKKyAg
ICBwb2xpY3lWYWx1ZSA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6
WFdlYktpdENTUCk7CisgICAgaWYgKCFwb2xpY3lWYWx1ZS5pc0VtcHR5KCkpCisgICAgICAgIG1f
aGVhZGVycy5hcHBlbmQoeyBwb2xpY3lWYWx1ZSwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVy
VHlwZTo6UHJlZml4ZWRFbmZvcmNlIH0pOworCisgICAgcG9saWN5VmFsdWUgPSByZXNwb25zZS5o
dHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OlhXZWJLaXRDU1BSZXBvcnRPbmx5KTsKKyAg
ICBpZiAoIXBvbGljeVZhbHVlLmlzRW1wdHkoKSkKKyAgICAgICAgbV9oZWFkZXJzLmFwcGVuZCh7
IHBvbGljeVZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBlOjpQcmVmaXhlZFJl
cG9ydCB9KTsKK30KKworQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIENvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVyczo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sK
KyAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgaXNvbGF0ZWRDb3B5Owor
ICAgIGlzb2xhdGVkQ29weS5tX2hlYWRlcnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX2hlYWRl
cnMuc2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8mIGhlYWRlciA6IG1faGVhZGVycykKKyAgICAgICAg
aXNvbGF0ZWRDb3B5Lm1faGVhZGVycy51bmNoZWNrZWRBcHBlbmQoeyBoZWFkZXIuZmlyc3QuaXNv
bGF0ZWRDb3B5KCksIGhlYWRlci5zZWNvbmQgfSk7CisgICAgcmV0dXJuIGlzb2xhdGVkQ29weTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41MGM3YzRhN2ZlMmYwNjMyNTJlNDY3ODI2MTQ1YTdlZDhhNDQ3MTk2Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzX2gKKyNkZWZpbmUgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzX2gKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3k7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNl
OworCitlbnVtIGNsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGUgeworICAgIFJl
cG9ydCwKKyAgICBFbmZvcmNlLAorICAgIFByZWZpeGVkUmVwb3J0LAorICAgIFByZWZpeGVkRW5m
b3JjZSwKK307CisKK2NsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyB7
CitwdWJsaWM6CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmKTsKKworICAgIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyBpc29sYXRlZENvcHkoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xh
c3MgQ29udGVudFNlY3VyaXR5UG9saWN5OworCisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzKCkgPSBkZWZhdWx0OworCisgICAgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcs
IENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGU+PiBtX2hlYWRlcnM7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnNfaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCAxNWYwMTRlNTg1YTQ5NDA3ZWQ3ZjAwNzlk
NjcwMTVkMWEwMjI5OTU5Li45MWM3ZjIzMTFiODJmMDUyYjZhNDhmZGE3MGRiNDE0ZGRlMmM1NjI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgiCiAKKyNpbmNsdWRlICJDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIK
ICNpbmNsdWRlICJEZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlICJNZXNzYWdlRXZl
bnQuaCIKQEAgLTM5LDEwICs0MCwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZjxE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNy
ZWF0ZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIERlZGljYXRlZFdv
cmtlclRocmVhZCYgdGhyZWFkLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5
cGUsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbikKK1JlZjxEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25z
dCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIERlZGljYXRlZFdvcmtlclRocmVh
ZCYgdGhyZWFkLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgUGFzc1JlZlB0cjxTZWN1cml0eU9y
aWdpbj4gdG9wT3JpZ2luKQogewogICAgIFJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4g
Y29udGV4dCA9IGFkb3B0UmVmKCpuZXcgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUodXJsLCB1
c2VyQWdlbnQsIHRocmVhZCwgdG9wT3JpZ2luKSk7Ci0gICAgY29udGV4dC0+YXBwbHlDb250ZW50
U2VjdXJpdHlQb2xpY3lGcm9tU3RyaW5nKGNvbnRlbnRTZWN1cml0eVBvbGljeSwgY29udGVudFNl
Y3VyaXR5UG9saWN5VHlwZSk7CisgICAgY29udGV4dC0+YXBwbHlDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMoY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKTsK
ICAgICByZXR1cm4gY29udGV4dDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IGYxZmQ5NjljYzg2MTA2MmM3MWMy
OTkzMmNlYzI3YTUyOGQ3MjJmZjAuLjI5YjcyMmEwZDc1MzJmN2E1MzA3ZjdkMDY4M2Y0NGRkMTNj
Y2NmOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlLmgKQEAgLTMxLDE4ICszMSwxOCBAQAogI2lmbmRlZiBEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZV9oCiAjZGVmaW5lIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlX2gKIAot
I2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0
LmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCisgICAgY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOwogICAg
IGNsYXNzIERlZGljYXRlZFdvcmtlclRocmVhZDsKIAogICAgIGNsYXNzIERlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtlckdsb2JhbFNjb3BlIHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgV29ya2VyR2xvYmFsU2NvcGUgQmFzZTsKLSAgICAgICAgc3RhdGljIFJl
ZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlKGNvbnN0IFVSTCYsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBjb25zdCBTdHJpbmcmIGNv
bnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIGNv
bnRlbnRTZWN1cml0eVBvbGljeVR5cGUsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9y
aWdpbik7CisgICAgICAgIHN0YXRpYyBSZWY8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+IGNy
ZWF0ZShjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgRGVkaWNhdGVkV29ya2Vy
VGhyZWFkJiwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgUGFz
c1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKTsKICAgICAgICAgdmlydHVhbCB+RGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoKTsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFk
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcApp
bmRleCBiZDQxMzMwY2IzZThhZDRhOGNiZjE3NTZlNDc3ZjYzZmI1OWZhNjE2Li4zYmQxYmE3YmZi
NzYwNzZlNjZmY2QzYjUyMThmZjYxOTYyNzJjNDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCkBAIC0zMiwxOSArMzIsMjAgQEAKIAog
I2luY2x1ZGUgIkRlZGljYXRlZFdvcmtlclRocmVhZC5oIgogCisjaW5jbHVkZSAiQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmgiCiAjaW5jbHVkZSAiRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIldv
cmtlck9iamVjdFByb3h5LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmPERlZGljYXRl
ZFdvcmtlclRocmVhZD4gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUoY29uc3QgVVJMJiBz
Y3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNv
ZGUsIFdvcmtlckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyT2JqZWN0UHJv
eHkmIHdvcmtlck9iamVjdFByb3h5LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBj
b25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5
OjpIZWFkZXJUeXBlIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUsIGNvbnN0IFNlY3VyaXR5T3Jp
Z2luKiB0b3BPcmlnaW4pCitSZWY8RGVkaWNhdGVkV29ya2VyVGhyZWFkPiBEZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQ6OmNyZWF0ZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtl
ckxvYWRlclByb3h5LCBXb3JrZXJPYmplY3RQcm94eSYgd29ya2VyT2JqZWN0UHJveHksIFdvcmtl
clRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBjb25z
dCBTZWN1cml0eU9yaWdpbiogdG9wT3JpZ2luKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IERlZGljYXRlZFdvcmtlclRocmVhZChzY3JpcHRVUkwsIHVzZXJBZ2VudCwgc291cmNlQ29kZSwg
d29ya2VyTG9hZGVyUHJveHksIHdvcmtlck9iamVjdFByb3h5LCBzdGFydE1vZGUsIGNvbnRlbnRT
ZWN1cml0eVBvbGljeSwgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgdG9wT3JpZ2luKSk7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRGVkaWNhdGVkV29ya2VyVGhyZWFkKHNjcmlwdFVSTCwg
dXNlckFnZW50LCBzb3VyY2VDb2RlLCB3b3JrZXJMb2FkZXJQcm94eSwgd29ya2VyT2JqZWN0UHJv
eHksIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCB0b3BP
cmlnaW4pKTsKIH0KIAotRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2Vy
T2JqZWN0UHJveHkmIHdvcmtlck9iamVjdFByb3h5LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3Rh
cnRNb2RlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpIZWFkZXJUeXBlIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUsIGNvbnN0IFNl
Y3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pCi0gICAgOiBXb3JrZXJUaHJlYWQodXJsLCB1c2VyQWdl
bnQsIHNvdXJjZUNvZGUsIHdvcmtlckxvYWRlclByb3h5LCB3b3JrZXJPYmplY3RQcm94eSwgc3Rh
cnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUs
IHRvcE9yaWdpbikKK0RlZGljYXRlZFdvcmtlclRocmVhZDo6RGVkaWNhdGVkV29ya2VyVGhyZWFk
KGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBz
b3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHksIFdvcmtlck9i
amVjdFByb3h5JiB3b3JrZXJPYmplY3RQcm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0
TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BP
cmlnaW4pCisgICAgOiBXb3JrZXJUaHJlYWQodXJsLCB1c2VyQWdlbnQsIHNvdXJjZUNvZGUsIHdv
cmtlckxvYWRlclByb3h5LCB3b3JrZXJPYmplY3RQcm94eSwgc3RhcnRNb2RlLCBjb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHRvcE9yaWdpbikKICAgICAsIG1fd29ya2VyT2Jq
ZWN0UHJveHkod29ya2VyT2JqZWN0UHJveHkpCiB7CiB9CkBAIC01Myw5ICs1NCw5IEBAIERlZGlj
YXRlZFdvcmtlclRocmVhZDo6fkRlZGljYXRlZFdvcmtlclRocmVhZCgpCiB7CiB9CiAKLVJlZjxX
b3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0
cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRl
clR5cGUgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdp
bj4gdG9wT3JpZ2luKQorUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIFBhc3NSZWZQdHI8U2VjdXJpdHlP
cmlnaW4+IHRvcE9yaWdpbikKIHsKLSAgICByZXR1cm4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGU6OmNyZWF0ZSh1cmwsIHVzZXJBZ2VudCwgKnRoaXMsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwg
Y29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgdG9wT3JpZ2luKTsKKyAgICByZXR1cm4gRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZSh1cmwsIHVzZXJBZ2VudCwgKnRoaXMsIGNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgdG9wT3JpZ2luKTsKIH0KIAogdm9pZCBE
ZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OnJ1bkV2ZW50TG9vcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaAppbmRleCBiNTY2ZTNiOGE5ZTM2OGRkNDQ3
MDE0MWRjNTAwOWFlODJiYjYzZDkxLi44NTk0ZWY3YWRhZjFhMmViNTJjMzg0ZTdmOWVhNzcwNjhk
ZDY0NWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtl
clRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhy
ZWFkLmgKQEAgLTMwLDI1ICszMCwyNSBAQAogI2lmbmRlZiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWRf
aAogI2RlZmluZSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWRfaAogCi0jaW5jbHVkZSAiQ29udGVudFNl
Y3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorICAgIGNsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
czsKICAgICBjbGFzcyBXb3JrZXJPYmplY3RQcm94eTsKIAogICAgIGNsYXNzIERlZGljYXRlZFdv
cmtlclRocmVhZCA6IHB1YmxpYyBXb3JrZXJUaHJlYWQgewogICAgIHB1YmxpYzoKLSAgICAgICAg
c3RhdGljIFJlZjxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ+IGNyZWF0ZShjb25zdCBVUkwmIHNjcmlw
dFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
V29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJPYmplY3RQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0
TW9kZSwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6SGVhZGVyVHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbik7Cisg
ICAgICAgIHN0YXRpYyBSZWY8RGVkaWNhdGVkV29ya2VyVGhyZWFkPiBjcmVhdGUoY29uc3QgVVJM
JiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJj
ZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyT2JqZWN0UHJveHkmLCBXb3JrZXJUaHJl
YWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYs
IGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pOwogICAgICAgICBXb3JrZXJPYmplY3RQ
cm94eSYgd29ya2VyT2JqZWN0UHJveHkoKSBjb25zdCB7IHJldHVybiBtX3dvcmtlck9iamVjdFBy
b3h5OyB9CiAgICAgICAgIHZpcnR1YWwgfkRlZGljYXRlZFdvcmtlclRocmVhZCgpOwogCiAgICAg
cHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRl
V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNv
bnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OkhlYWRlclR5cGUsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbikgb3ZlcnJp
ZGU7CisgICAgICAgIHZpcnR1YWwgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgUGFzc1JlZlB0cjxTZWN1cml0eU9y
aWdpbj4gdG9wT3JpZ2luKSBvdmVycmlkZTsKICAgICAgICAgdmlydHVhbCB2b2lkIHJ1bkV2ZW50
TG9vcCgpIG92ZXJyaWRlOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgRGVkaWNhdGVkV29ya2Vy
VGhyZWFkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyT2JqZWN0UHJveHkmLCBXb3Jr
ZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0
b3BPcmlnaW4pOworICAgICAgICBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29uc3QgVVJMJiwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9h
ZGVyUHJveHkmLCBXb3JrZXJPYmplY3RQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgY29uc3QgU2VjdXJpdHlP
cmlnaW4qIHRvcE9yaWdpbik7CiAKICAgICAgICAgV29ya2VyT2JqZWN0UHJveHkmIG1fd29ya2Vy
T2JqZWN0UHJveHk7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCA0MWYw
YTViYjFiOGU1NzA5ODE3ODkwZmRiZmIxMTVkNjVmMDUxZGM1Li4zYTBlMzNlYmQzOTBhZjAwMzAx
OTI2ZmIxNWU5YTE3MzRhNmM0ODUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC0z
MSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJDYWNoZWRS
ZXNvdXJjZUxvYWRlci5oIgorI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUg
IkV2ZW50TmFtZXMuaCIKQEAgLTQwLDYgKzQxLDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQuaCIKICNpbmNsdWRlICJOZXR3
b3JrU3RhdGVOb3RpZmllci5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVk
ZSAiVGV4dEVuY29kaW5nLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIgog
I2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlci5oIgpAQCAtMTUwLDggKzE1MiwxMSBAQCB2b2lk
IFdvcmtlcjo6bm90aWZ5TmV0d29ya1N0YXRlQ2hhbmdlKGJvb2wgaXNPbkxpbmUpCiAgICAgbV9j
b250ZXh0UHJveHktPm5vdGlmeU5ldHdvcmtTdGF0ZUNoYW5nZShpc09uTGluZSk7CiB9CiAKLXZv
aWQgV29ya2VyOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJikKK3ZvaWQgV29ya2VyOjpkaWRSZWNlaXZlUmVzcG9uc2Uo
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSkKIHsKKyAgICBjb25zdCBVUkwmIHJlc3BvbnNlVVJMID0gcmVzcG9uc2UudXJsKCk7CisgICAg
aWYgKCFyZXNwb25zZVVSTC5wcm90b2NvbElzKCJibG9iIikgJiYgIVNlY3VyaXR5T3JpZ2luOjpj
cmVhdGUocmVzcG9uc2VVUkwpLT5pc1VuaXF1ZSgpKQorICAgICAgICBtX2NvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyA9IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyhyZXNwb25zZSk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZl
U2NyaXB0UmVzcG9uc2Uoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBpZGVudGlmaWVyKTsKIH0K
IApAQCAtMTYwLDggKzE2NSw4IEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAgICAg
aWYgKG1fc2NyaXB0TG9hZGVyLT5mYWlsZWQoKSkKICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxzZSwgdHJ1ZSkpOwogICAgIGVs
c2UgewotICAgICAgICBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlID0gRG9udFBhdXNl
V29ya2VyR2xvYmFsU2NvcGVPblN0YXJ0OwotICAgICAgICBtX2NvbnRleHRQcm94eS0+c3RhcnRX
b3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIG1fc2NyaXB0TG9hZGVy
LT5zY3JpcHQoKSwgc3RhcnRNb2RlKTsKKyAgICAgICAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMg
PSBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyA/IG1fY29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgOiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5yZXNwb25zZUhlYWRlcnMoKTsKKyAgICAgICAg
bV9jb250ZXh0UHJveHktPnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPnVy
bCgpLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+
dXJsKCkpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycywgRG9udFBhdXNlV29ya2VyR2xvYmFsU2NvcGVPblN0YXJ0KTsKICAgICAg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRlZChzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCksIG1fc2NyaXB0TG9hZGVyLT5pZGVudGlmaWVyKCksIG1fc2NyaXB0TG9hZGVy
LT5zY3JpcHQoKSk7CiAgICAgfQogICAgIG1fc2NyaXB0TG9hZGVyID0gbnVsbHB0cjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlci5oCmluZGV4IDA5ODU3NTE5MTBiNGU5MjJkZDA1ZmIwM2MyMzBlMGZkMWY5
MjBkY2YuLmNkM2QxMTEyMjJjODQxYjJlMDRlOGZhOTc2ZDM5YWUyMDg1YmI4ZDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXIuaApAQCAtMjksMTEgKzI5LDEzIEBACiAKICNpbmNsdWRlICJBYnN0cmFj
dFdvcmtlci5oIgogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgIkNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkV2ZW50TGlzdGVu
ZXIuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0Lmgi
CiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9t
aWNTdHJpbmdIYXNoLmg+CkBAIC04Myw2ICs4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgICAgICBSZWZQdHI8V29ya2VyU2NyaXB0TG9hZGVyPiBtX3NjcmlwdExvYWRlcjsKICAgICAg
ICAgV29ya2VyR2xvYmFsU2NvcGVQcm94eSogbV9jb250ZXh0UHJveHk7IC8vIFRoZSBwcm94eSBv
dXRsaXZlcyB0aGUgd29ya2VyIHRvIHBlcmZvcm0gdGhyZWFkIHNodXRkb3duLgorICAgICAgICBP
cHRpb25hbDxDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM+IG1fY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5k
ZXggMzAyN2E1MjYwNTRkNTEzODlkOThlNmY3MTRkZmNkYjAxZjdmY2RhMS4uYzZmY2YyZGRjNjBm
NWQ0MjY3M2ViOGIyZmU2ZjRlZGU5ZGMzYzI0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTg1LDEwICs4NSwxMCBAQCBXb3JrZXJHbG9iYWxT
Y29wZTo6fldvcmtlckdsb2JhbFNjb3BlKCkKICAgICB0aHJlYWQoKS53b3JrZXJSZXBvcnRpbmdQ
cm94eSgpLndvcmtlckdsb2JhbFNjb3BlRGVzdHJveWVkKCk7CiB9CiAKLXZvaWQgV29ya2VyR2xv
YmFsU2NvcGU6OmFwcGx5Q29udGVudFNlY3VyaXR5UG9saWN5RnJvbVN0cmluZyhjb25zdCBTdHJp
bmcmIHBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIGNvbnRlbnRTZWN1
cml0eVBvbGljeVR5cGUpCit2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjphcHBseUNvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyhjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycykKIHsKICAg
ICBzZXRDb250ZW50U2VjdXJpdHlQb2xpY3koc3RkOjptYWtlX3VuaXF1ZTxDb250ZW50U2VjdXJp
dHlQb2xpY3k+KHRoaXMpKTsKLSAgICBjb250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2
ZUhlYWRlcihwb2xpY3ksIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUpOworICAgIGNvbnRlbnRT
ZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMpOwogfQogCiBVUkwgV29ya2VyR2xvYmFsU2NvcGU6OmNvbXBsZXRlVVJM
KGNvbnN0IFN0cmluZyYgdXJsKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZS5oCmluZGV4IDJhY2VmY2VmNTVjODExZmEyMWQ2MjIwYzk1MjM4NmQxZTBlMTFm
ZTMuLmQ0ZGIzNTE0MmZjMTI2NGI5NjQ2M2Y0YzA4MTA0NzAzZmQxNzAzNzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNp
Zm5kZWYgV29ya2VyR2xvYmFsU2NvcGVfaAogI2RlZmluZSBXb3JrZXJHbG9iYWxTY29wZV9oCiAK
LSNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJFdmVudExpc3Rl
bmVyLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCkBAIC00NSw2ICs0NCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBCbG9iOworICAgIGNsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVyczsKICAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb247CiAgICAgY2xhc3MgV29ya2VyTG9jYXRp
b247CiAgICAgY2xhc3MgV29ya2VyTmF2aWdhdG9yOwpAQCAtMTMxLDcgKzEzMSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIHByb3RlY3RlZDoKICAgICAgICAgV29ya2VyR2xvYmFsU2Nv
cGUoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIFdvcmtlclRocmVhZCYsIFBh
c3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbik7Ci0gICAgICAgIHZvaWQgYXBwbHlD
b250ZW50U2VjdXJpdHlQb2xpY3lGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgY29udGVudFNlY3Vy
aXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUpOworICAgICAgICB2
b2lkIGFwcGx5Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKGNvbnN0IENvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYpOwogCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgUmVm
UHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiYmKSBvdmVycmlkZTsKICAgICAgICAgdm9p
ZCBhZGRNZXNzYWdlVG9Xb3JrZXJDb25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQg
bGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBSZWZQdHI8SW5zcGVjdG9yOjpTY3Jp
cHRDYWxsU3RhY2s+JiYsIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVz
dElkZW50aWZpZXIgPSAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZVByb3h5LmgKaW5kZXggZjVmYmY0ZjU5MzMwZDE2NDZlNmU0MThjMDY3YWYwZDBlZTcy
YjUwOC4uNmJkODhjNGIyZDBhODVjNDdlNDc1NDQwNzNmNzYyODkxZjlmZmU3MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKQEAgLTM4LDYg
KzM4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisgICAgY2xhc3MgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOwogICAgIGNsYXNzIFVSTDsKICAgICBjbGFzcyBXb3Jr
ZXI7CiAKQEAgLTQ4LDcgKzQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZp
cnR1YWwgfldvcmtlckdsb2JhbFNjb3BlUHJveHkoKSB7IH0KIAotICAgICAgICB2aXJ0dWFsIHZv
aWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3Rh
cnRNb2RlKSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3Bl
KGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMmLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUpID0gMDsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQg
dGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggODQ1NmFiYmNmZTJlOTU1NWFh
NzViOWY1ZjE1NWY5Mjc2NWMzZTk4Ni4uNjk5ZTliNzdmN2JmMTY1ZjllOTgwYTA1NjNlN2M0OTkz
NTlmNzdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdp
bmdQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5jcHAKQEAgLTcyLDEyICs3MiwxMiBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtl
ck1lc3NhZ2luZ1Byb3h5KCkKICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KSAmJiBjdXJyZW50VGhyZWFkKCkgPT0gZG93bmNhc3Q8V29y
a2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpLnRocmVhZCgpLnRocmVh
ZElEKCkpKTsKIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNv
bnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSkK
K3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3Qg
VVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNv
dXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUg
c3RhcnRNb2RlKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8gYmUgcmV2aXNpdGVkIHdo
ZW4gd2Ugc3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBBU1NFUlQobV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0KTsKICAgICBEb2N1bWVudCYgZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1
bWVudD4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7Ci0gICAgUmVmUHRyPERlZGljYXRlZFdv
cmtlclRocmVhZD4gdGhyZWFkID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2NyaXB0
VVJMLCB1c2VyQWdlbnQsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBkb2N1
bWVudC5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGVwcmVjYXRlZEhlYWRlcigpLCBkb2N1bWVu
dC5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGVwcmVjYXRlZEhlYWRlclR5cGUoKSwgZG9jdW1l
bnQudG9wT3JpZ2luKCkpOworICAgIFJlZlB0cjxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ+IHRocmVh
ZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNjcmlwdFVSTCwgdXNlckFnZW50LCBz
b3VyY2VDb2RlLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLCBkb2N1bWVudC50b3BPcmlnaW4oKSk7CiAgICAgd29ya2VyVGhyZWFk
Q3JlYXRlZCh0aHJlYWQpOwogICAgIHRocmVhZC0+c3RhcnQoKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAppbmRleCBlYjdhZjU4NGU2NmQ2Mjhi
NzUzMjUzYzc1MzU2OWM5NGJhYjU4YTU4Li5hYTViODkxYTgyNGZlMzcxZDY4NTgwMDIzMDFlNWIy
YTZmMjBhMGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5oCkBAIC00MCw2ICs0MCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorICAgIGNs
YXNzIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVyczsKICAgICBjbGFzcyBEZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQ7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKICAg
ICBjbGFzcyBXb3JrZXI7CkBAIC01MSw3ICs1Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgV29ya2VyR2xvYmFsU2NvcGVQcm94eS4KICAg
ICAgICAgLy8gKE9ubHkgdXNlIHRoZXNlIG1ldGhvZHMgaW4gdGhlIHdvcmtlciBvYmplY3QgdGhy
ZWFkLikKLSAgICAgICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3Qg
VVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNv
dXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSkgb3ZlcnJpZGU7CisgICAgICAgIHZpcnR1
YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUp
IG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2Nv
cGUoKSBvdmVycmlkZTsKICAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJH
bG9iYWxTY29wZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIHN0ZDo6dW5pcXVl
X3B0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pIG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFs
IGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggYzc3ZWE5YzMzNDExYzkyMDAyMjcxYzkzMDhh
OTY3ZTNkZGUzNDUzNS4uODEyMjM4MDVjZDc3MTM1MDA3YmZjOGJmNjllOWI5NzU4OGNmYjQ5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtMjgsNiArMjgsNyBA
QAogCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCiAKKyNpbmNsdWRlICJDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZS5oIgogI2luY2x1ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJTZWN1
cml0eU9yaWdpbi5oIgpAQCAtNjksMzMgKzcwLDMxIEBAIHVuc2lnbmVkIFdvcmtlclRocmVhZDo6
d29ya2VyVGhyZWFkQ291bnQoKQogc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIHsKICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNv
bnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5n
JiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IFN0cmluZyYgY29udGVu
dFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgY29udGVu
dFNlY3VyaXR5UG9saWN5VHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbik7Cisg
ICAgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0
YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgY29u
c3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbik7CiAKICAgICBVUkwgbV9zY3JpcHRVUkw7CiAg
ICAgU3RyaW5nIG1fdXNlckFnZW50OwogICAgIFN0cmluZyBtX3NvdXJjZUNvZGU7CiAgICAgV29y
a2VyVGhyZWFkU3RhcnRNb2RlIG1fc3RhcnRNb2RlOwotICAgIFN0cmluZyBtX2NvbnRlbnRTZWN1
cml0eVBvbGljeTsKLSAgICBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgbV9jb250
ZW50U2VjdXJpdHlQb2xpY3lUeXBlOworICAgIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVyczsKICAgICBSZWZQ
dHI8U2VjdXJpdHlPcmlnaW4+IG1fdG9wT3JpZ2luOwogfTsKIAotV29ya2VyVGhyZWFkU3RhcnR1
cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJl
YWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGlj
eSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVR5cGUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pCitXb3JrZXJUaHJlYWRTdGFy
dHVwRGF0YTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRo
cmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBjb25zdCBT
ZWN1cml0eU9yaWdpbiogdG9wT3JpZ2luKQogICAgIDogbV9zY3JpcHRVUkwoc2NyaXB0VVJMLmlz
b2xhdGVkQ29weSgpKQogICAgICwgbV91c2VyQWdlbnQodXNlckFnZW50Lmlzb2xhdGVkQ29weSgp
KQogICAgICwgbV9zb3VyY2VDb2RlKHNvdXJjZUNvZGUuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBt
X3N0YXJ0TW9kZShzdGFydE1vZGUpCi0gICAgLCBtX2NvbnRlbnRTZWN1cml0eVBvbGljeShjb250
ZW50U2VjdXJpdHlQb2xpY3kuaXNvbGF0ZWRDb3B5KCkpCi0gICAgLCBtX2NvbnRlbnRTZWN1cml0
eVBvbGljeVR5cGUoY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSkKKyAgICAsIG1fY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycy5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fdG9wT3JpZ2luKHRvcE9yaWdpbiA/ICZ0
b3BPcmlnaW4tPmlzb2xhdGVkQ29weSgpLmdldCgpIDogbnVsbHB0cikKIHsKIH0KIAotV29ya2Vy
VGhyZWFkOjpXb3JrZXJUaHJlYWQoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiB3
b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyUmVwb3J0aW5nUHJveHkmIHdvcmtlclJlcG9ydGluZ1By
b3h5LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBTdHJpbmcmIGNvbnRl
bnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIGNvbnRl
bnRTZWN1cml0eVBvbGljeVR5cGUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pCitX
b3JrZXJUaHJlYWQ6OldvcmtlclRocmVhZChjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJv
eHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJSZXBvcnRpbmdQcm94eSYgd29ya2VyUmVwb3J0
aW5nUHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzLCBjb25zdCBTZWN1cml0eU9yaWdpbiogdG9wT3JpZ2luKQogICAgIDogbV90aHJl
YWRJRCgwKQogICAgICwgbV93b3JrZXJMb2FkZXJQcm94eSh3b3JrZXJMb2FkZXJQcm94eSkKICAg
ICAsIG1fd29ya2VyUmVwb3J0aW5nUHJveHkod29ya2VyUmVwb3J0aW5nUHJveHkpCi0gICAgLCBt
X3N0YXJ0dXBEYXRhKHN0ZDo6bWFrZV91bmlxdWU8V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+KHNj
cmlwdFVSTCwgdXNlckFnZW50LCBzb3VyY2VDb2RlLCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0
eVBvbGljeSwgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgdG9wT3JpZ2luKSkKKyAgICAsIG1f
c3RhcnR1cERhdGEoc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4oc2Ny
aXB0VVJMLCB1c2VyQWdlbnQsIHNvdXJjZUNvZGUsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzLCB0b3BPcmlnaW4pKQogI2lmIEVOQUJMRShOT1RJRklDQVRJ
T05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAgICAgLCBtX25vdGlmaWNhdGlv
bkNsaWVudCgwKQogI2VuZGlmCkBAIC0xNDUsNyArMTQ0LDcgQEAgdm9pZCBXb3JrZXJUaHJlYWQ6
OndvcmtlclRocmVhZCgpCiAKICAgICB7CiAgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX3RocmVh
ZENyZWF0aW9uTXV0ZXgpOwotICAgICAgICBtX3dvcmtlckdsb2JhbFNjb3BlID0gY3JlYXRlV29y
a2VyR2xvYmFsU2NvcGUobV9zdGFydHVwRGF0YS0+bV9zY3JpcHRVUkwsIG1fc3RhcnR1cERhdGEt
Pm1fdXNlckFnZW50LCBtX3N0YXJ0dXBEYXRhLT5tX2NvbnRlbnRTZWN1cml0eVBvbGljeSwgbV9z
dGFydHVwRGF0YS0+bV9jb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCBtX3N0YXJ0dXBEYXRhLT5t
X3RvcE9yaWdpbi5yZWxlYXNlKCkpOworICAgICAgICBtX3dvcmtlckdsb2JhbFNjb3BlID0gY3Jl
YXRlV29ya2VyR2xvYmFsU2NvcGUobV9zdGFydHVwRGF0YS0+bV9zY3JpcHRVUkwsIG1fc3RhcnR1
cERhdGEtPm1fdXNlckFnZW50LCBtX3N0YXJ0dXBEYXRhLT5tX2NvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycywgbV9zdGFydHVwRGF0YS0+bV90b3BPcmlnaW4ucmVsZWFzZSgpKTsK
IAogICAgICAgICBpZiAobV9ydW5Mb29wLnRlcm1pbmF0ZWQoKSkgewogICAgICAgICAgICAgLy8g
VGhlIHdvcmtlciB3YXMgdGVybWluYXRlZCBiZWZvcmUgdGhlIHRocmVhZCBoYWQgYSBjaGFuY2Ug
dG8gcnVuLiBTaW5jZSB0aGUgY29udGV4dCBkaWRuJ3QgZXhpc3QgeWV0LApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggNjI3YmFhZWQ5MGVjMjc4ZTVhOTQ3Y2E3ZjJjMjcx
MDVmODdhNWI5NS4uYmI3OTU4MmY2ODNjMjVkY2RiN2YzNDllZjIwMjNhOWI1YTNmZDhiZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjaWZu
ZGVmIFdvcmtlclRocmVhZF9oCiAjZGVmaW5lIFdvcmtlclRocmVhZF9oCiAKLSNpbmNsdWRlICJD
b250ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5j
bHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CkBAIC0zNiw2ICszNSw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorICAgIGNsYXNzIENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVyczsKICAgICBjbGFzcyBVUkw7CiAgICAgY2xhc3MgTm90aWZpY2F0aW9u
Q2xpZW50OwogICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwpAQCAtNjgsMTAgKzY4LDEwIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICBXb3Jr
ZXJUaHJlYWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmlu
ZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJSZXBvcnRpbmdQcm94eSYs
IFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSwgY29uc3QgU2VjdXJpdHlPcmln
aW4qIHRvcE9yaWdpbik7CisgICAgICAgIFdvcmtlclRocmVhZChjb25zdCBVUkwmLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQ
cm94eSYsIFdvcmtlclJlcG9ydGluZ1Byb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBjb25zdCBTZWN1cml0eU9y
aWdpbiogdG9wT3JpZ2luKTsKIAogICAgICAgICAvLyBGYWN0b3J5IG1ldGhvZCBmb3IgY3JlYXRp
bmcgYSBuZXcgd29ya2VyIGNvbnRleHQgZm9yIHRoZSB0aHJlYWQuCi0gICAgICAgIHZpcnR1YWwg
UmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwm
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSwgUGFzc1JlZlB0cjxTZWN1
cml0eU9yaWdpbj4gdG9wT3JpZ2luKSA9IDA7CisgICAgICAgIHZpcnR1YWwgUmVmPFdvcmtlckds
b2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKSA9IDA7CiAKICAgICAgICAg
Ly8gRXhlY3V0ZXMgdGhlIGV2ZW50IGxvb3AgZm9yIHRoZSB3b3JrZXIgdGhyZWFkLiBEZXJpdmVk
IGNsYXNzZXMgY2FuIG92ZXJyaWRlIHRvIHBlcmZvcm0gYWN0aW9ucyBiZWZvcmUvYWZ0ZXIgZW50
ZXJpbmcgdGhlIGV2ZW50IGxvb3AuCiAgICAgICAgIHZpcnR1YWwgdm9pZCBydW5FdmVudExvb3Ao
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA3ZTg5NDlhNjNlOWVkODg3NTZhZGE2NGEyNGY2MDhjZDFiNGFiMmRmLi40MzUx
YTZiNDYzNTI0ZTc3MDRiN2RlYjRmYmZjZWE4ZDhlOGM0NTc2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIg
QEAKKzIwMTYtMDEtMjggIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAg
ICAgIENTUDogVXNlIHRoZSBzZXJ2ZWQgQ1NQIGhlYWRlciBmb3IgZGVkaWNhdGVkIHdvcmtlcnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzE1Nwor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQzODMyNTQ+CisgICAgICAgIEFuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzMTU2CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8yNDM4MzI0Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgdGVzdCBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS93b3JrZXItYmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwuaHRt
bCB0bworICAgICAgICBlbnN1cmUgdGhhdCBhIFdlYiBXb3JrZXIgaXMgYmxvY2tlZCBmcm9tIGNh
bGxpbmcgZXZhbCgpIHdoZW4gdGhlIGluaGVyaXRlZCBDU1Agb2YgaXRzIG93bmVyIGRvY3VtZW50
CisgICAgICAgIGRvZXMgZG9lcyBub3QgbGlzdCAndW5zYWZlLWV2YWwnIGluIGl0cyBzY3JpcHQt
c3JjIGRpcmVjdGl2ZS4KKworICAgICAgICBBZGRpdGlvbmFsbHksIHJlbW92ZSBzb21lIHRlc3Rz
IHRoYXQgbm93IHBhc3MgYW5kIHVwZGF0ZSB0aGUgZXhwZWN0ZWQgcmVzdWx0cyBvZiBleGlzdGlu
ZyB0ZXN0cworICAgICAgICB3aXRoIGluY29ycmVjdCByZXN1bHRzLgorCisgICAgICAgICogVGVz
dEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS93b3JrZXItYmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS93b3JrZXItYmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29y
a2VyLW11bHRpcGxlLWNzcC1oZWFkZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItd2l0aG91dC1vd24tY3Nw
LWV4cGVjdGVkLnR4dDoKKworMjAxNi0wMS0yNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBs
ZS5jb20+CisKKyAgICAgICAgQ1NQOiBVc2UgdGhlIHNlcnZlZCBDU1AgaGVhZGVyIGZvciBkZWRp
Y2F0ZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTUzMTU3CisgICAgICAgIEFuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTUzMTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHNvbWUgdGVzdHMgdGhhdCBub3cgcGFzcyBhbmQgdXBk
YXRlIHRoZSBleHBlY3RlZCByZXN1bHRzIG9mIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICog
VGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS93b3JrZXItbXVsdGlwbGUtY3NwLWhlYWRlcnMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtl
ci13aXRob3V0LW93bi1jc3AtZXhwZWN0ZWQudHh0OgorCiAyMDE2LTAxLTI4ICBaYWxhbiBCdWp0
YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5leHBlY3RlZCBjb250ZW50IHdyYXBw
aW5nIGF0IGh0dHA6Ly9lbWFpbC5vc2guY29tL0gvMi92MTAwMDAwMTUyNDc0ZmViOGVjN2MxYTFm
NGJiZTVjN2MwL0hUTUwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVjYzk5MDE0NWVjOWU5NjQ3Mzk5
MTlhYWE0YzgxMmQ4M2UwMjM2YTcuLmY0NzBlMGZkZjFlNmNhOTZmZDNhOWQ1NTM1NmQyMDI5MDAx
MjdmMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODAwLDYgKzgwMCw3IEBAIHdlYmtpdC5vcmcv
Yi81MjE4NSBmYXN0L2Nzcy92ZXJ0aWNhbC1hbGlnbi1iYXNlbGluZS1yb3dzcGFuLTAxMC5odG1s
IFsgSW1hZ2VPbmx5CiAjIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGZhaWx1cmVzCiB3ZWJraXQu
b3JnL2IvNjkzNTkgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29u
bmVjdC1zcmMtZXZlbnRzb3VyY2UtcmVkaXJlY3QtdG8tYmxvY2tlZC5odG1sIFsgRmFpbHVyZSBd
CiB3ZWJraXQub3JnL2IvNjkzNTkgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvY29ubmVjdC1zcmMteG1saHR0cHJlcXVlc3QtcmVkaXJlY3QtdG8tYmxvY2tlZC5odG1s
IFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvNjkzNTkgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLWJsb2ItaW5oZXJpdHMtY3NwLmh0bWwgWyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8xMTE4NjkgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvZXZhbC1ibG9ja2VkLWFuZC1zZW5kcy1yZXBvcnQuaHRtbAogd2Via2l0Lm9yZy9i
LzExNTcwMCBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9pbmxpbmUt
ZXZlbnQtaGFuZGxlci1ibG9ja2VkLWFmdGVyLWluamVjdGluZy1tZXRhLmh0bWwgWyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8xMTU3MDIgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLmh0bWwgWyBGYWlsdXJlIF0K
QEAgLTgxNywxMSArODE4LDYgQEAgd2Via2l0Lm9yZy9iLzE1MzE1MyBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXBhcmFtLXMKIHdlYmtpdC5vcmcv
Yi8xNTMxNTMgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0
LXNyYy1wYXJhbS11cmwtYmxvY2tlZC5odG1sCiB3ZWJraXQub3JnL2IvMTUzMTU0IGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlZGlyZWN0LWRvZXMtbm90LW1hdGNo
LXBhdGhzLmh0bWwKIHdlYmtpdC5vcmcvYi8xNTMxNTUgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvc3R5bGUtc3JjLWJsb2NrZWQtZXJyb3ItZXZlbnQuaHRtbAotd2Vi
a2l0Lm9yZy9iLzE1MzE1NiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS93b3JrZXItbXVsdGlwbGUtY3NwLWhlYWRlcnMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9y
Zy9iLzE1MzE1NyBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3Jr
ZXItYmxvYi1pbmhlcml0cy1jc3AuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE1MzE1
NyBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItaW1wb3J0
c2NyaXB0cy1ibG9ja2VkLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNTMxNTcgaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLXNjcmlwdC1zcmMu
aHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE1MzE1NyBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItd2l0aG91dC1vd24tY3NwLmh0bWwgWyBGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi8xNTMxNTggaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvYmxvYi11cmxzLW1hdGNoLXNlbGYuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzE1MzE1OSBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9p
bWFnZS1kb2N1bWVudC1kZWZhdWx0LXNyYy1ub25lLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5v
cmcvYi8xNTMxNjAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2Jq
ZWN0LXNyYy1kb2VzLW5vdC1hZmZlY3QtY2hpbGQuaHRtbCBbIEZhaWx1cmUgXQpAQCAtODQzLDYg
KzgzOSw4IEBAIHdlYmtpdC5vcmcvYi8xNTMxNjYgd2Via2l0Lm9yZy9iLzE1MzI0MiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljCiB3ZWJraXQub3JnL2IvMTUzMTY3IGh0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtcmVwb3J0LW9u
bHkuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE1MzE2OCBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zb3VyY2UtbGlzdC1wYXJzaW5nLTA3Lmh0bWwgWyBG
YWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNTMxNzAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvc291cmNlLWxpc3QtcGFyc2luZy1wYXRocy0wMy5odG1sIFsgRmFpbHVy
ZSBdCit3ZWJraXQub3JnL2IvMTUzNTYyIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3dvcmtlci1pbXBvcnRzY3JpcHRzLWJsb2NrZWQuaHRtbCBbIEZhaWx1cmUgXQor
d2Via2l0Lm9yZy9iLzE1MzU2MiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS93b3JrZXItc2NyaXB0LXNyYy5odG1sIFsgRmFpbHVyZSBdCiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zY3JpcHQtc3JjLWJsb2NrZWQtZXJyb3ItZXZlbnQu
aHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS8xLjEvZnJhbWUtYW5jZXN0b3JzL2ZyYW1lLWFuY2VzdG9ycy1vdmVycmlkZXMteGZv
Lmh0bWwgIyBOZWVkcyBleHBlY3RlZCBmaWxlLgogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtZGVmYXVsdC1zcmMuaHRtbCAjIE5lZWRzIGV4
cGVjdGVkIGZpbGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItYmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2
YWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvd29ya2VyLWJsb2ItaW5oZXJpdHMtY3NwLWJsb2Nrcy1ldmFsLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44YTdiNzMzNGQ4YTg2ZWFmNWFkNjE4ZmRkZjFhNjNhNDZjY2U1
NGIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLWJsb2ItaW5oZXJpdHMtY3NwLWJsb2Nrcy1ldmFs
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1RoaXMgdGVzdHMgdGhhdCB0aGUgQ29udGVu
dCBTZWN1cml0eSBQb2xpY3kgKENTUCkgb2YgdGhlIG93bmVyIGRvY3VtZW50ICh0aGlzIHBhZ2Up
IGJsb2NrcyBhIGJsb2ItVVJMIFdlYiBXb3JrZXIgZnJvbSB1c2luZyBldmFsKCkgYmVjYXVzZSB0
aGUgcGFyZW50J3MgQ1NQIGRvZXMgbm90IGxpc3QgdW5zYWZlLWV2YWwgaW4gc2NyaXB0LXNyYy4K
KworUEFTUyB0aHJldyBleGNlcHRpb24gRXZhbEVycm9yOiBSZWZ1c2VkIHRvIGV2YWx1YXRlIGEg
c3RyaW5nIGFzIEphdmFTY3JpcHQgYmVjYXVzZSAndW5zYWZlLWV2YWwnIGlzIG5vdCBhbiBhbGxv
d2VkIHNvdXJjZSBvZiBzY3JpcHQgaW4gdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBv
bGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICdzZWxmJyAndW5zYWZlLWlubGluZSciLgorLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvd29ya2VyLWJsb2ItaW5oZXJpdHMtY3NwLWJsb2Nrcy1ldmFsLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXIt
YmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMWU5MTAxMDE1
ZWUwOTY3NDRkZDA4YTRjYTA4MGZlZTk0MmM2ZTg0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLWJs
b2ItaW5oZXJpdHMtY3NwLWJsb2Nrcy1ldmFsLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPCEtLSBGSVhNRTogUmVtb3ZlICdzZWxmJyBmcm9t
IHNjcmlwdC1zcmMgb25jZSB3ZSBmaXggPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTMxNTg+LiAtLT4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHkt
UG9saWN5IiBjb250ZW50PSJzY3JpcHQtc3JjICdzZWxmJyAndW5zYWZlLWlubGluZSciPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdHMgdGhhdCB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xp
Y3kgKENTUCkgb2YgdGhlIG93bmVyIGRvY3VtZW50ICh0aGlzIHBhZ2UpIGJsb2NrcyBhIGJsb2It
VVJMIFdlYiBXb3JrZXIgZnJvbSB1c2luZyA8Y29kZT5ldmFsKCk8L2NvZGU+IGJlY2F1c2UgdGhl
IHBhcmVudCdzIENTUCBkb2VzIG5vdCBsaXN0IDxjb2RlPnVuc2FmZS1ldmFsPC9jb2RlPiBpbiBz
Y3JpcHQtc3JjLjwvcD4KKzxwcmUgaWQ9InJlc3VsdCI+PC9wcmU+Cis8c2NyaXB0Pgord2luZG93
Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldmVudCkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVzdWx0IikudGV4dENvbnRlbnQgPSBldmVudC5kYXRhOworICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciBz
Y3JpcHQgPSBbCisgICAgJ3ZhciBleGNlcHRpb247JywKKyAgICAndHJ5IHsnLAorICAgICcgICAg
ZXZhbCgiMSArIDAiKTsnLAorICAgICd9IGNhdGNoIChlKSB7JywKKyAgICAnICAgIGV4Y2VwdGlv
biA9IGU7JywKKyAgICAnfScsCisgICAgJ2lmICghZXhjZXB0aW9uKScsCisgICAgJyAgICBzZWxm
LnBvc3RNZXNzYWdlKCJGQUlMIHNob3VsZCB0aHJvdyBFdmFsRXJyb3IuIEJ1dCBkaWQgbm90IHRo
cm93IGFuIGV4Y2VwdGlvbi4iKTsnLAorICAgICdlbHNlIHsnLAorICAgICcgICAgaWYgKGV4Y2Vw
dGlvbiBpbnN0YW5jZW9mIEV2YWxFcnJvciknLAorICAgICcgICAgICAgIHNlbGYucG9zdE1lc3Nh
Z2UoIlBBU1MgdGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24gKyAiLiIpOycsCisgICAgJyAg
ICBlbHNlJywKKyAgICAnICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKCJGQUlMIHNob3VsZCB0aHJv
dyBFdmFsRXJyb3IuIFRocmV3IGV4Y2VwdGlvbiAiICsgZXhjZXB0aW9uICsgIi4iKTsnLAorICAg
ICd9JywKK10uam9pbigiXG4iKTsKKwordmFyIHdvcmtlcjsKK3RyeSB7CisgICAgd29ya2VyID0g
bmV3IFdvcmtlcih3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbc2NyaXB0XSkp
KTsKKyAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2ZW50KSB7IHdpbmRvdy5wb3N0
TWVzc2FnZShldmVudC5kYXRhLCAiKiIpIH07Cit9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICB3
aW5kb3cucG9zdE1lc3NhZ2UoIkZBSUwgc2hvdWxkIG5vdCBoYXZlIHRocm93biBhbiBleGNlcHRp
b24gd2hlbiBjcmVhdGluZyB3b3JrZXIuIFRocmV3IGV4Y2VwdGlvbiAiICsgZXhjZXB0aW9uICsg
Ii4iLCAiKiIpOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3Jr
ZXItbXVsdGlwbGUtY3NwLWhlYWRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLW11bHRpcGxlLWNzcC1o
ZWFkZXJzLWV4cGVjdGVkLnR4dAppbmRleCAyMGI1MzhiMzdmZmE1MmFjYWEyMTJkM2RlMTg1YTUx
YzAxMTg4NGM0Li4wMTAwNTMzZjk4ZGExYzZkMTExMTA5Yzg5ZGZjMDAyNjhiNTU4YWRiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS93b3JrZXItbXVsdGlwbGUtY3NwLWhlYWRlcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci1t
dWx0aXBsZS1jc3AtaGVhZGVycy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw1IEBACitDT05TT0xF
IE1FU1NBR0U6IFJlZnVzZWQgdG8gY29ubmVjdCB0byAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3ht
bGh0dHByZXF1ZXN0L3Jlc291cmNlcy9nZXQudHh0JyBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBm
b2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiY29ubmVjdC1zcmMg
J25vbmUnIi4KKwogCiBQQVNTIFdvcmtlciBjYW4gaGF2ZSBtdWx0aXBsZSBDU1AgaGVhZGVycyAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvd29ya2VyLXdpdGhvdXQtb3duLWNzcC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItd2l0
aG91dC1vd24tY3NwLWV4cGVjdGVkLnR4dAppbmRleCBkODYzMzlhZmI4MmZkYjFiZjI3MmQwMTRh
OWM5Y2YzY2MyOGNmZjc1Li5lYTNjNDc2MzkzMTliZTg4ZmJjZmJhMTc3ZDVjZjM0NTlmYzBhYWQw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS93b3JrZXItd2l0aG91dC1vd24tY3NwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXIt
d2l0aG91dC1vd24tY3NwLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotCiBQQVNTIFdv
cmtlciBzaG91bGQgbm90IGluaGVyaXQgZG9jdW1lbnQncyBDU1AgCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270120</attachid>
            <date>2016-01-28 09:37:58 -0800</date>
            <delta_ts>2016-01-28 10:54:30 -0800</delta_ts>
            <desc>Patch and Layout Test</desc>
            <filename>bug-153157-20160128093733.patch</filename>
            <type>text/plain</type>
            <size>64707</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1NzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2MyMThhNDI5NGUwNDgy
MzUxODE3YTU5MmI0YWRhZmE1NzM5Y2FjYi4uNjNlYjAxNGJlZGRlZjU5MDU4NWJmY2U3M2U4YTFj
YWY0NjIzOWI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkwIEBACisyMDE2LTAxLTI4ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBDU1A6IFVzZSB0aGUgc2Vy
dmVkIENTUCBoZWFkZXIgZm9yIGRlZGljYXRlZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTMxNTcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzI0MzgzMjU0PgorICAgICAgICBBbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1MzE1NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQzODMy
NDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5z
cGlyZWQgYnkgQmxpbmsgY29tbWl0OgorICAgICAgICA8aHR0cHM6Ly9zcmMuY2hyb21pdW0ub3Jn
L3ZpZXd2Yy9ibGluaz9yZXZpc2lvbj0xOTQxNDMmdmlldz1yZXZpc2lvbj4KKworICAgICAgICBJ
bXBsZW1lbnQgc3VwcG9ydCBmb3IgcmVzcGVjdGluZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAo
Q1NQKSBIVFRQIGhlYWRlcnMgaW5jbHVkZWQgaW4gdGhlCisgICAgICAgIEhUVFAgcmVzcG9uc2Ug
Zm9yIGEgV2ViIFdvcmtlcidzIHNjcmlwdCBhcyBwZXIgc2VjdGlvbiBXb3JrZXJzIG9mIHRoZSBD
U1AgMi4wIHNwZWMsCisgICAgICAgIDxodHRwczovL3czYy5naXRodWIuaW8vd2ViYXBwc2VjLWNz
cC8yLyNwcm9jZXNzaW5nLW1vZGVsLXdvcmtlcnM+ICgyOSBBdWd1c3QgMjAxNSkuCisKKyAgICAg
ICAgQ3VycmVudGx5IGEgV2ViIFdvcmtlciBhbHdheXMgaW5oZXJpdHMgdGhlIENTUCBvZiBpdHMg
b3duZXIgZG9jdW1lbnQuIEluc3RlYWQgYSB3ZWIgd29ya2VyCisgICAgICAgIHdpbGwgaW5oZXJp
dCB0aGUgQ1NQIG9mIGl0cyBvd25lciBkb2N1bWVudCBvbmx5IGlmIGl0cyBzY3JpcHQgaXMgaW5j
YXBhYmxlIG9mIGRlZmluaW5nIGEKKyAgICAgICAgY29udGVudCBzZWN1cml0eSBwb2xpY3kgKGUu
Zy4gaXRzIG9yaWdpbiBpcyBhIGdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyKS4gT3RoZXJ3aXNl
LCB0aGUKKyAgICAgICAgQ1NQIEhUVFAgaGVhZGVycyBkZWxpdmVyZWQgd2l0aCB0aGUgc2NyaXB0
IHdpbGwgYmUgdXNlZCB0byBkZWZpbmUgdGhlIENTUCBmb3IgdGhlIHdvcmtlci4KKworICAgICAg
ICBUZXN0OiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXIt
YmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6IEFkZCBmaWxlIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5jcHAu
CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajogQWRkIGZpbGVzIENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy57Y3BwLCBofS4KKyAgICAgICAgKiBX
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6IERpdHRvLgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8uCisgICAgICAgICogZG9t
L0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpwcm9jZXNzSHR0cEVx
dWl2KTogVXBkYXRlIGNvZGUgdG8gdXNlIGVudW0gY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5
SGVhZGVyVHlwZS4KKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkZXI6OmRpZEJlZ2luRG9jdW1lbnQpOiBFeHRyYWN0IGxvZ2ljIHRv
IGNvbGxlY3QgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgSFRUUCBoZWFkZXJzCisgICAgICAgIGlu
dG8gY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIGFuZCBtYWtlIHVz
ZSBvZiBpdCBoZXJlLgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpoZWFkZXJUeXBlKTogTW9k
aWZpZWQgdG8gdXNlIGVudW0gY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZS4K
KyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OkNTUERpcmVjdGl2ZUxpc3QpOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmNyZWF0ZSk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjpyZXNwb25zZUhlYWRl
cnMpOiBDcmVhdGVzIGFuZCByZXR1cm5zIGEgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzCisgICAgICAgIG9iamVjdCB3aXRoIHRoZSBwYXJzZWQgQ1NQIHBvbGljeSBoZWFkZXJz
LgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjpkaWRSZWNlaXZlSGVh
ZGVycyk6IFByb2Nlc3NlZCB0aGUgQ1NQIHBvbGljeSBoZWFkZXJzIHJlcHJlc2VudGVkIGJ5IHRo
ZQorICAgICAgICBzcGVjaWZpZWQgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
IG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6ZGVwcmVj
YXRlZEhlYWRlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OmRlcHJlY2F0ZWRIZWFkZXJUeXBlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL2Nz
cC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaDogRGVmaW5lcyBhIGNsYXNzIHRoYXQgcmVwcmVzZW50
cyBhIGNvbGxlY3Rpb24gb2YgQ1NQIHBvbGljeSBoZWFkZXJzLgorICAgICAgICBUaGlzIGNsYXNz
IGhhcyB0d28gcHVycG9zZXM6CisgICAgICAgICAgICAtIEl0IGV4dHJhY3RzIHRoZSBDU1AgcG9s
aWN5IGhlYWRlcnMgZnJvbSBhIEhUVFAgcmVzcG9uc2UgKFJlc291cmNlUmVzcG9uc2Ugb2JqZWN0
KS4gV2UgbWFrZSB1c2Ugb2YKKyAgICAgICAgICAgIHRoaXMgZnVuY3Rpb25hbGl0eSBpbiBib3Ro
IEZyYW1lTG9hZGVyOjpkaWRCZWdpbkRvY3VtZW50KCkgYW5kIFdvcmtlcjo6ZGlkUmVjZWl2ZVJl
c3BvbnNlKCkuCisgICAgICAgICAgICAtIEl0IHNlcnZlcyBhcyBhIG1lbWVudG8gdGhhdCBleHRl
cm5hbGl6ZXMgdGhlIGludGVybmFsIENTUCBwb2xpY3kgZGV0YWlscyBvZiBhbiBpbnN0YW5jZSBv
ZgorICAgICAgICAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5LiBXZSBtYWtlIHVzZSBvZiB0aGlz
IG1lbWVudG8gZnVuY3Rpb25hbGl0eSB0byBzdXBwb3J0IGluaGVyaXRpbmcgdGhlCisgICAgICAg
ICAgICBDU1AgcG9saWN5IG9mIHRoZSB3b3JrZXIncyBvd25lciBkb2N1bWVudCBpbiBhIHRocmVh
ZC1zYWZlIG1hbm5lci4gWW91IGNhbiBjcmVhdGUgYW5kIHJlc3RvcmUKKyAgICAgICAgICAgIGEg
bWVtZW50byB1c2luZyBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlc3BvbnNlSGVhZGVycygpIGFu
ZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRpZFJlY2VpdmVIZWFkZXJzKCksIHJlc3BlY3RpdmVs
eS4KKyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVyczo6Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKTogRXh0
cmFjdHMgdGhlCisgICAgICAgIENTUCBIVFRQIGhlYWRlcnMgZnJvbSBhIFJlc291cmNlUmVzcG9u
c2Ugb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzOjppc29sYXRlZENvcHkpOiBNYWtlIGFuIGNvcHkgb2YgdGhpcyBvYmplY3QgdGhh
dCBpcworICAgICAgICBzYWZlIHRvIHBhc3MgdG8gYW5vdGhlciB0aHJlYWQuCisgICAgICAgICog
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmg6IEFkZGVkLgor
ICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZSk6IE1vZGlmaWVk
IHRvIHVzZSBjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuCisgICAg
ICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdv
cmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZGlj
YXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpEZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQ6OkRlZGljYXRlZFdvcmtlclRocmVhZCk6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29w
ZSk6IERpdHRvLgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmg6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpk
aWRSZWNlaXZlUmVzcG9uc2UpOiBDcmVhdGUgYSBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMgaWYgdGhlIG9yaWdpbiBvZgorICAgICAgICB0aGUgd29ya2VyJ3Mgc2NyaXB0IGlz
IGNhcGFibGUgb2YgcHJvdmlkaW5nIGEgQ1NQLiBPdGhlcndpc2UsIHdlIHdpbGwgaW5oZXJpdCB0
aGUgQ1NQIG9mIHRoZSB3b3JrZXIncyBvd25lcgorICAgICAgICBkb2N1bWVudCBpbiBXb3JrZXI6
Om5vdGlmeUZpbmlzaGVkKCkuCisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Om5vdGlmeUZpbmlz
aGVkKTogUGFzcyB0aGUgYXBwcm9wcmlhdGUgQ1NQIHJlc3BvbnNlIGhlYWRlcnMgdG8gV29ya2Vy
TWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoKS4KKyAgICAgICAgKiB3b3Jr
ZXJzL1dvcmtlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmFwcGx5Q29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzKTogUmVuYW1lZDsgZm9ybWVybHkgbmFtZWQgYXBwbHlDb250
ZW50U2VjdXJpdHlQb2xpY3lGcm9tU3RyaW5nKCkuCisgICAgICAgIE1vZGlmaWVkIHRvIHRha2Ug
YSBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgYW5kIGFwcGx5IGl0IHRvIHRo
ZSBDb250ZW50U2VjdXJpdHlQb2xpY3kgb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgd29ya2Vy
LgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmFwcGx5Q29udGVudFNlY3Vy
aXR5UG9saWN5RnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xv
YmFsU2NvcGUpOiBQYXNzIHRoZSB3b3JrZXIncyBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMgb2JqZWN0LgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJlYWRTdGFy
dHVwRGF0YSk6IEFkZGVkIGZpZWxkIG1fY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzIHRvIHN0b3JlCisgICAgICAgIHRoZSBDU1AgcmVzcG9uc2UgaGVhZGVycyB0byBiZSBhcHBs
aWVkIHRvIHRoZSB3b3JrZXIncyBDb250ZW50U2VjdXJpdHlQb2xpY3kgb2JqZWN0LgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpXb3JrZXJUaHJlYWQpOiBNb2RpZmllZCB0byB1c2Ug
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLgorICAgICAgICAoV2ViQ29yZTo6
V29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQpOiBQYXNzIHRoZSBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMgb2JqZWN0IGZyb20gdGhlIHN0YXJ0IHVwIGRhdGEgc3RydWN0Cisg
ICAgICAgIHRvIERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUo
KS4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorCiAyMDE2LTAxLTI4ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgZXF1YWxJZ25vcmlu
Z0Nhc2Ugc2luY2UgYWxsIGNhbGxlcnMgcmVhbGx5IHdhbnRlZCBlcXVhbElnbm9yaW5nQVNDSUlD
YXNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDU1OWMxYmFhYmY5YmJmYjU3YmY1Nzk5NTIzNmMx
ZjU4ZGI3OGU1ZWQuLjQ5NGE5MDQ4MmQ0NjcwMWZiZTc2NGFjYjMzNzE0NzA1YzgzMGViZDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMDY3LDYgKzIwNjcsNyBAQCBzZXQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwCiAKICAgICBwYWdl
L2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisgICAgcGFnZS9jc3AvQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcAogCiAgICAgcGFnZS9zY3JvbGxpbmcvQXhpc1Nj
cm9sbFNuYXBPZmZzZXRzLmNwcAogICAgIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbExhdGNoaW5nU3Rh
dGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agppbmRleCAyNDQ3ZmU0OGRkZmJhYTFkY2ZlN2Y5MDgxYWQyZjk5ODIzM2E0Zjk1Li43OWIyNTdk
YTMyMmEyODgzZGE4ODM3NGFlN2EyODM2ZjRhZDI3YzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTczMDQsNiArNzMwNCw3IEBACiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwYWdlXENocm9tZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwYWdlXGFuaW1hdGlvblxDb21wb3NpdGVBbmltYXRpb24uY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGFnZVxjc3BcQ29udGVudFNlY3VyaXR5UG9s
aWN5LmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBhZ2VcY3NwXENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxwYWdlXENvbnRleHRNZW51Q29udGV4dC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxwYWdlXENvbnRleHRNZW51Q29udHJvbGxlci5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwYWdlXENyeXB0by5jcHAiIC8+CkBAIC0yMDcwMCw2ICsyMDcwMSw3
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXENocm9tZUNsaWVudC5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxhbmltYXRpb25cQ29tcG9zaXRlQW5pbWF0
aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXGNzcFxDb250ZW50U2Vj
dXJpdHlQb2xpY3kuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcY3NwXENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGFnZVxDb250ZXh0TWVudUNsaWVudC5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGFnZVxDb250ZXh0TWVudUNvbnRleHQuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBhZ2VcQ29udGV4dE1lbnVDb250cm9sbGVyLmgiIC8+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
aW5kZXggNjRkNGJmNWFmM2QzZWEzNGJmYWM3NzA5NTRjNWY4N2FjMGMxOGU1Yy4uYzg0MWVjMjBm
YzgwOTQ3MWQ2OWM5MjY4MzM3Y2ZhMmY2NWUzYTAyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtNjgwLDYg
KzY4MCw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwYWdlXGNzcFxDb250ZW50U2Vj
dXJpdHlQb2xpY3kuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGFnZVxjc3A8L0ZpbHRlcj4KICAgICA8
L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBhZ2VcY3NwXENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5jcHAiPgorICAgICAgPEZpbHRlcj5wYWdlXGNz
cDwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cGFnZVxDb250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGFnZTwvRmls
dGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtNzY2Niw2ICs3NjY5LDkgQEAKICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBhZ2VcY3NwXENvbnRlbnRTZWN1cml0eVBvbGljeS5oIj4KICAgICAg
IDxGaWx0ZXI+cGFnZVxjc3A8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBhZ2VcY3NwXENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycy5oIj4KKyAgICAgIDxGaWx0ZXI+cGFnZVxjc3A8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVk
ZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29udGV4dE1lbnVDbGllbnQuaCI+
CiAgICAgICA8RmlsdGVyPnBhZ2U8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxMTdj
YjM2MzhiYzliMTlkODczZTBiMDMzNjk0ZTg3N2Q0NWRmYWEzLi42ZGI4ODBhMmMwZjFmYzc0OTU5
ZTM0NWZjNmNhODc4MWQ0MTg0YzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MTYyLDYgKzYxNjIsOCBAQAogCQlDRTEyNTI1
MzFBMUJFQzA2MDA4NjQ0ODAgLyogTlNTdHJpbmdTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMTI1MjUyMUExQkVDMDYwMDg2NDQ4MCAvKiBOU1N0
cmluZ1NQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUNFMTI1MjU1MUExQkVDMEUwMDg2NDQ4MCAvKiBOU1VSTERvd25sb2FkU1BJLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTEyNTI1NDFBMUJFQzBF
MDA4NjQ0ODAgLyogTlNVUkxEb3dubG9hZFNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNFMTI1MjVCMUExQzAxODIwMDg2NDQ4MCAvKiBDRk5l
dHdvcmtTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENFMTI1MjVBMUExQzAxODIwMDg2NDQ4MCAvKiBDRk5ldHdvcmtTUEkuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRTZEQURGOTFDNTkxRTZBMDAz
RjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNkRBREY3MUM1OTFFNkEw
MDNGNkE4OCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuY3BwICovOyB9
OworCQlDRTZEQURGQTFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRTZEQURGODFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzLmggKi87IH07CiAJCUNFN0IyREIzMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRl
cm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENFN0IyREFGMTU4NkFCQUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRl
eHRVSUNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlDRTdCMkRCNDE1ODZBQkFEMDA5OEIzRkEgLyogQWx0ZXJuYXRpdmVUZXh0VUlD
b250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0U3QjJEQjAxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxl
ci5tbSAqLzsgfTsKIAkJQ0U3QjJEQjUxNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2
ZVdpdGhSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0U3QjJEQjExNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNDA4
NSw2ICsxNDA4Nyw4IEBACiAJCUNFMTI1MjVBMUExQzAxODIwMDg2NDQ4MCAvKiBDRk5ldHdvcmtT
UEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZOZXR3b3JrU1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFNUNCMUIzMTRFREFCNkYwMEJCMjc5NSAvKiBF
dmVudFNlbmRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudFNlbmRl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRTZEODkyOTRDN0FBQ0UwQUQ4OUIz
REQgLyogTWF0aE1MTWVuY2xvc2VFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1hdGhNTE1lbmNsb3NlRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDRTZEQURGNzFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5jcHA7IHBhdGggPSBjc3AvQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQ0U2REFERjgxQzU5MUU2QTAwM0Y2QTg4IC8qIENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaDsgcGF0aCA9IGNzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0U3QjJEQUYxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBbHRlcm5hdGl2ZVRleHRVSUNv
bnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U3QjJEQjAxNTg2QUJB
RDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U3QjJEQjExNTg2QUJBRDAwOThCM0ZB
IC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTIyOTQ4LDYgKzIyOTUyLDggQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTk3QzQ3
MUQ5MTJGOTI1QkMwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuY3BwICovLAogCQkJ
CTk3QzQ3MURBMTJGOTI1QkQwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3kuaCAqLywK
KwkJCQlDRTZEQURGNzFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzLmNwcCAqLywKKwkJCQlDRTZEQURGODFDNTkxRTZBMDAzRjZBODggLyogQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9
IGNzcDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yNDk4Niw2ICsyNDk5Miw3IEBA
CiAJCQkJNUNERkE2QzgxQUE0RjJEQTAwRUE4NzQ2IC8qIENvbnRlbnRFeHRlbnNpb25BY3Rpb25z
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzkzRjM0RTFBQTZCRjA3MDBBOThCQUIgLyogQ29udGVu
dEV4dGVuc2lvbkNvbXBpbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0ZEQzU3RDFBQzFEODA1
MDBFMjRBNTcgLyogQ29udGVudEV4dGVuc2lvbkVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlD
RTZEQURGQTFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkYwQzg5ODFBMkU3MjRCMDAyNzk0RjggLyog
Q29udGVudEV4dGVuc2lvblBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjZGMEM4OUMxQTJF
QzExMDAwMjc5NEY4IC8qIENvbnRlbnRFeHRlbnNpb25SdWxlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkyNkYwQzhBMDFBMkVDM0JFMDAyNzk0RjggLyogQ29udGVudEV4dGVuc2lvbnNCYWNrZW5kLmgg
aW4gSGVhZGVycyAqLywKQEAgLTMxNjc4LDYgKzMxNjg1LDcgQEAKIAkJCQk3QzQ4QTZEMDE5MUM5
RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1
REVCREEzMTZGQjkwODcwMDgzNkZFMCAvKiBXZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0
eUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxQzBGRjI0MEU0Q0VCNkUwMDdENkZFNSAv
KiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0U2REFERjkx
QzU5MUU2QTAwM0Y2QTg4IC8qIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkNGMzMyRTBGMkI5QTI1MDA0QjY3OTUgLyogV2ViTGF5
ZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzA5RDc4RTFBRTU1NTU0MDA0RTQyRjggLyogV2Vi
TWVkaWFTZXNzaW9uTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzA5RDc5MjFBRTU1
NTdFMDA0RTQyRjggLyogV2ViTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDk4ZDdhNzUxMGE1YTExOGM3NTc3NjliZDc5
Mjg4ZGUxYTc0NmRiOGUuLjgzZTMwM2VmYjNjZWM2OGJhZDc1YzQzYjRmZmUxNDA2ZmY4Mzg4M2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMzI1OCwxOSArMzI1OCwxOSBAQCB2b2lkIERv
Y3VtZW50Ojpwcm9jZXNzSHR0cEVxdWl2KGNvbnN0IFN0cmluZyYgZXF1aXYsIGNvbnN0IFN0cmlu
ZyYgY29udGVudCkKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEhUVFBIZWFkZXJOYW1lOjpD
b250ZW50U2VjdXJpdHlQb2xpY3k6Ci0gICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5k
aWRSZWNlaXZlSGVhZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6RW5mb3JjZSk7
CisgICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVyKGNvbnRl
bnQsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGU6OkVuZm9yY2UpOwogICAgICAgICBi
cmVhazsKIAogICAgIGNhc2UgSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRTZWN1cml0eVBvbGljeVJl
cG9ydE9ubHk6Ci0gICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVh
ZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0KTsKKyAgICAgICAgY29u
dGVudFNlY3VyaXR5UG9saWN5KCktPmRpZFJlY2VpdmVIZWFkZXIoY29udGVudCwgQ29udGVudFNl
Y3VyaXR5UG9saWN5SGVhZGVyVHlwZTo6UmVwb3J0KTsKICAgICAgICAgYnJlYWs7CiAKICAgICBj
YXNlIEhUVFBIZWFkZXJOYW1lOjpYV2ViS2l0Q1NQOgotICAgICAgICBjb250ZW50U2VjdXJpdHlQ
b2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OlByZWZpeGVkRW5mb3JjZSk7CisgICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRS
ZWNlaXZlSGVhZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGU6OlBy
ZWZpeGVkRW5mb3JjZSk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBIVFRQSGVhZGVyTmFt
ZTo6WFdlYktpdENTUFJlcG9ydE9ubHk6Ci0gICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgp
LT5kaWRSZWNlaXZlSGVhZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UHJlZml4
ZWRSZXBvcnQpOworICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhl
YWRlcihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBlOjpQcmVmaXhlZFJl
cG9ydCk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCmluZGV4IGVlMDQyYjc2ZGRiODdjMDM5YWJmODdmMzQ1MjAxODEwNzli
YjU2M2MuLmMwZTg0ODNlZDU1MzNmN2YwOWQ4MjdjYWVkYzM4NWU5YjAwMGFmODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtNjg1LDIxICs2ODUsNyBAQCB2b2lkIEZy
YW1lTG9hZGVyOjpkaWRCZWdpbkRvY3VtZW50KGJvb2wgZGlzcGF0Y2gpCiAgICAgICAgIGlmICgh
ZG5zUHJlZmV0Y2hDb250cm9sLmlzRW1wdHkoKSkKICAgICAgICAgICAgIG1fZnJhbWUuZG9jdW1l
bnQoKS0+cGFyc2VETlNQcmVmZXRjaENvbnRyb2xIZWFkZXIoZG5zUHJlZmV0Y2hDb250cm9sKTsK
IAotICAgICAgICBTdHJpbmcgcG9saWN5VmFsdWUgPSBtX2RvY3VtZW50TG9hZGVyLT5yZXNwb25z
ZSgpLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q29udGVudFNlY3VyaXR5UG9saWN5
KTsKLSAgICAgICAgaWYgKCFwb2xpY3lWYWx1ZS5pc0VtcHR5KCkpCi0gICAgICAgICAgICBtX2Zy
YW1lLmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVy
KHBvbGljeVZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkVuZm9yY2UpOwotCi0gICAgICAg
IHBvbGljeVZhbHVlID0gbV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmll
bGQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRTZWN1cml0eVBvbGljeVJlcG9ydE9ubHkpOwotICAg
ICAgICBpZiAoIXBvbGljeVZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1fZnJhbWUuZG9j
dW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmRpZFJlY2VpdmVIZWFkZXIocG9saWN5
VmFsdWUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0KTsKLQotICAgICAgICBwb2xpY3lW
YWx1ZSA9IG1fZG9jdW1lbnRMb2FkZXItPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKEhUVFBI
ZWFkZXJOYW1lOjpYV2ViS2l0Q1NQKTsKLSAgICAgICAgaWYgKCFwb2xpY3lWYWx1ZS5pc0VtcHR5
KCkpCi0gICAgICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGlj
eSgpLT5kaWRSZWNlaXZlSGVhZGVyKHBvbGljeVZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OlByZWZpeGVkRW5mb3JjZSk7Ci0KLSAgICAgICAgcG9saWN5VmFsdWUgPSBtX2RvY3VtZW50TG9h
ZGVyLT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6WFdlYktpdENT
UFJlcG9ydE9ubHkpOwotICAgICAgICBpZiAoIXBvbGljeVZhbHVlLmlzRW1wdHkoKSkKLSAgICAg
ICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmRpZFJl
Y2VpdmVIZWFkZXIocG9saWN5VmFsdWUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UHJlZml4ZWRS
ZXBvcnQpOworICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGlj
eSgpLT5kaWRSZWNlaXZlSGVhZGVycyhDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMobV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKSkpOwogCiAgICAgICAgIFN0cmluZyBoZWFk
ZXJDb250ZW50TGFuZ3VhZ2UgPSBtX2RvY3VtZW50TG9hZGVyLT5yZXNwb25zZSgpLmh0dHBIZWFk
ZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q29udGVudExhbmd1YWdlKTsKICAgICAgICAgaWYgKCFo
ZWFkZXJDb250ZW50TGFuZ3VhZ2UuaXNFbXB0eSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAppbmRleCA5ZjExMmYwYzQ1N2QxZGJh
YWRjMWVhOGMyMjhkNWJkZWI4ZWI2NzVhLi41OTY1ZGJmZjc1YjBmNzkyZWUzZjU3MDBhYzRkMjI5
ZDM3YmY4MTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1
cml0eVBvbGljeS5jcHAKQEAgLTc3MSwxMSArNzcxLDExIEBAIHByaXZhdGU6CiBjbGFzcyBDU1BE
aXJlY3RpdmVMaXN0IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENTUERpcmVjdGl2ZUxpc3Q+IGNyZWF0ZShDb250ZW50
U2VjdXJpdHlQb2xpY3kqLCBjb25zdCBTdHJpbmcmLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6Okhl
YWRlclR5cGUpOwotICAgIENTUERpcmVjdGl2ZUxpc3QoQ29udGVudFNlY3VyaXR5UG9saWN5Kiwg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPENTUERpcmVjdGl2ZUxpc3Q+IGNyZWF0ZShDb250ZW50U2VjdXJpdHlQb2xpY3kqLCBj
b25zdCBTdHJpbmcmLCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBlKTsKKyAgICBDU1BE
aXJlY3RpdmVMaXN0KENvbnRlbnRTZWN1cml0eVBvbGljeSosIENvbnRlbnRTZWN1cml0eVBvbGlj
eUhlYWRlclR5cGUpOwogCiAgICAgY29uc3QgU3RyaW5nJiBoZWFkZXIoKSBjb25zdCB7IHJldHVy
biBtX2hlYWRlcjsgfQotICAgIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBoZWFk
ZXJUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9oZWFkZXJUeXBlOyB9CisgICAgQ29udGVudFNlY3Vy
aXR5UG9saWN5SGVhZGVyVHlwZSBoZWFkZXJUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9oZWFkZXJU
eXBlOyB9CiAKICAgICBib29sIGFsbG93SmF2YVNjcmlwdFVSTHMoY29uc3QgU3RyaW5nJiBjb250
ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7CiAgICAgYm9vbCBhbGxvd0lubGlu
ZUV2ZW50SGFuZGxlcnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGlu
YWxOdW1iZXImIGNvbnRleHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0
YXR1cykgY29uc3Q7CkBAIC04MzUsNyArODM1LDcgQEAgcHJpdmF0ZToKICAgICBDb250ZW50U2Vj
dXJpdHlQb2xpY3kqIG1fcG9saWN5OwogCiAgICAgU3RyaW5nIG1faGVhZGVyOwotICAgIENvbnRl
bnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBtX2hlYWRlclR5cGU7CisgICAgQ29udGVudFNl
Y3VyaXR5UG9saWN5SGVhZGVyVHlwZSBtX2hlYWRlclR5cGU7CiAKICAgICBib29sIG1fcmVwb3J0
T25seTsKICAgICBib29sIG1faGF2ZVNhbmRib3hQb2xpY3k7CkBAIC04NTksMTcgKzg1OSwxNyBA
QCBwcml2YXRlOgogICAgIFN0cmluZyBtX2V2YWxEaXNhYmxlZEVycm9yTWVzc2FnZTsKIH07CiAK
LUNTUERpcmVjdGl2ZUxpc3Q6OkNTUERpcmVjdGl2ZUxpc3QoQ29udGVudFNlY3VyaXR5UG9saWN5
KiBwb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSB0eXBlKQorQ1NQRGly
ZWN0aXZlTGlzdDo6Q1NQRGlyZWN0aXZlTGlzdChDb250ZW50U2VjdXJpdHlQb2xpY3kqIHBvbGlj
eSwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZSB0eXBlKQogICAgIDogbV9wb2xpY3ko
cG9saWN5KQogICAgICwgbV9oZWFkZXJUeXBlKHR5cGUpCiAgICAgLCBtX3JlcG9ydE9ubHkoZmFs
c2UpCiAgICAgLCBtX2hhdmVTYW5kYm94UG9saWN5KGZhbHNlKQogICAgICwgbV9yZWZsZWN0ZWRY
U1NEaXNwb3NpdGlvbihDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlZmxlY3RlZFhTU1Vuc2V0KQog
ewotICAgIG1fcmVwb3J0T25seSA9ICh0eXBlID09IENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVw
b3J0IHx8IHR5cGUgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpQcmVmaXhlZFJlcG9ydCk7Cisg
ICAgbV9yZXBvcnRPbmx5ID0gKHR5cGUgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlw
ZTo6UmVwb3J0IHx8IHR5cGUgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZTo6UHJl
Zml4ZWRSZXBvcnQpOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8Q1NQRGlyZWN0aXZlTGlzdD4gQ1NQ
RGlyZWN0aXZlTGlzdDo6Y3JlYXRlKENvbnRlbnRTZWN1cml0eVBvbGljeSogcG9saWN5LCBjb25z
dCBTdHJpbmcmIGhlYWRlciwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIHR5cGUp
CitzdGQ6OnVuaXF1ZV9wdHI8Q1NQRGlyZWN0aXZlTGlzdD4gQ1NQRGlyZWN0aXZlTGlzdDo6Y3Jl
YXRlKENvbnRlbnRTZWN1cml0eVBvbGljeSogcG9saWN5LCBjb25zdCBTdHJpbmcmIGhlYWRlciwg
Q29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZSB0eXBlKQogewogICAgIGF1dG8gZGlyZWN0
aXZlcyA9IHN0ZDo6bWFrZV91bmlxdWU8Q1NQRGlyZWN0aXZlTGlzdD4ocG9saWN5LCB0eXBlKTsK
ICAgICBkaXJlY3RpdmVzLT5wYXJzZShoZWFkZXIpOwpAQCAtMTM3MSw3ICsxMzcxLDIyIEBAIHZv
aWQgQ29udGVudFNlY3VyaXR5UG9saWN5Ojpjb3B5U3RhdGVGcm9tKGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeSogb3RoZXIpCiAgICAgICAgIGRpZFJlY2VpdmVIZWFkZXIocG9saWN5LT5oZWFk
ZXIoKSwgcG9saWN5LT5oZWFkZXJUeXBlKCkpOwogfQogCi12b2lkIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6ZGlkUmVjZWl2ZUhlYWRlcihjb25zdCBTdHJpbmcmIGhlYWRlciwgSGVhZGVyVHlwZSB0
eXBlKQorQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6cmVzcG9uc2VIZWFkZXJzKCkgY29uc3QKK3sKKyAgICBDb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMgcmVzdWx0OworICAgIHJlc3VsdC5tX2hlYWRlcnMucmVzZXJ2
ZUluaXRpYWxDYXBhY2l0eShtX3BvbGljaWVzLnNpemUoKSk7CisgICAgZm9yIChhdXRvJiBwb2xp
Y3kgOiBtX3BvbGljaWVzKQorICAgICAgICByZXN1bHQubV9oZWFkZXJzLnVuY2hlY2tlZEFwcGVu
ZCh7IHBvbGljeS0+aGVhZGVyKCksIHBvbGljeS0+aGVhZGVyVHlwZSgpIH0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CisKK3ZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpkaWRSZWNlaXZlSGVh
ZGVycyhjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGhlYWRlcnMp
Cit7CisgICAgZm9yIChhdXRvJiBoZWFkZXIgOiBoZWFkZXJzLm1faGVhZGVycykKKyAgICAgICAg
ZGlkUmVjZWl2ZUhlYWRlcihoZWFkZXIuZmlyc3QsIGhlYWRlci5zZWNvbmQpOworfQorCit2b2lk
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRlcihjb25zdCBTdHJpbmcmIGhl
YWRlciwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZSB0eXBlKQogewogICAgIC8vIFJG
QzI2MTYsIHNlY3Rpb24gNC4yIHNwZWNpZmllcyB0aGF0IGhlYWRlcnMgYXBwZWFyaW5nIG11bHRp
cGxlIHRpbWVzIGNhbgogICAgIC8vIGJlIGNvbWJpbmVkIHdpdGggYSBjb21tYS4gV2FsayB0aGUg
aGVhZGVyIHN0cmluZywgYW5kIHBhcnNlIGVhY2ggY29tbWEKQEAgLTE0MDMsMTYgKzE0MTgsNiBA
QCB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6c2V0T3ZlcnJpZGVBbGxvd0lubGluZVN0eWxl
KGJvb2wgdmFsdWUpCiAgICAgbV9vdmVycmlkZUlubGluZVN0eWxlQWxsb3dlZCA9IHZhbHVlOwog
fQogCi1jb25zdCBTdHJpbmcmIENvbnRlbnRTZWN1cml0eVBvbGljeTo6ZGVwcmVjYXRlZEhlYWRl
cigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcG9saWNpZXMuaXNFbXB0eSgpID8gZW1wdHlTdHJp
bmcoKSA6IG1fcG9saWNpZXNbMF0tPmhlYWRlcigpOwotfQotCi1Db250ZW50U2VjdXJpdHlQb2xp
Y3k6OkhlYWRlclR5cGUgQ29udGVudFNlY3VyaXR5UG9saWN5OjpkZXByZWNhdGVkSGVhZGVyVHlw
ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcG9saWNpZXMuaXNFbXB0eSgpID8gRW5mb3JjZSA6
IG1fcG9saWNpZXNbMF0tPmhlYWRlclR5cGUoKTsKLX0KLQogdGVtcGxhdGU8Ym9vbCAoQ1NQRGly
ZWN0aXZlTGlzdDo6KmFsbG93ZWQpKENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3Rh
dHVzKSBjb25zdD4KIGJvb2wgaXNBbGxvd2VkQnlBbGwoY29uc3QgQ1NQRGlyZWN0aXZlTGlzdFZl
Y3RvciYgcG9saWNpZXMsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzIHJl
cG9ydGluZ1N0YXR1cykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0Nv
bnRlbnRTZWN1cml0eVBvbGljeS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNl
Y3VyaXR5UG9saWN5LmgKaW5kZXggY2VkZjFlMjNmMWEyMjVlOWM4NGNjOTBiZjVlZmYwNWZkMzYy
YzI5MS4uYWIzY2IzNDJiODU0NWI1YTExZWY2ZjEyNzFiNTI5ZDY5Zjc4MjZlMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKQEAgLTI2LDYg
KzI2LDcgQEAKICNpZm5kZWYgQ29udGVudFNlY3VyaXR5UG9saWN5X2gKICNkZWZpbmUgQ29udGVu
dFNlY3VyaXR5UG9saWN5X2gKIAorI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgi
CiAjaW5jbHVkZSA8bWVtb3J5PgpAQCAtNTYsMTMgKzU3LDYgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBjb3B5U3RhdGVGcm9tKGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeSopOwogCi0gICAgZW51
bSBIZWFkZXJUeXBlIHsKLSAgICAgICAgUmVwb3J0LAotICAgICAgICBFbmZvcmNlLAotICAgICAg
ICBQcmVmaXhlZFJlcG9ydCwKLSAgICAgICAgUHJlZml4ZWRFbmZvcmNlCi0gICAgfTsKLQogICAg
IGVudW0gY2xhc3MgUmVwb3J0aW5nU3RhdHVzIHsKICAgICAgICAgU2VuZFJlcG9ydCwKICAgICAg
ICAgU3VwcHJlc3NSZXBvcnQKQEAgLTc3LDEyICs3MSw5IEBAIHB1YmxpYzoKICAgICAgICAgQmxv
Y2tSZWZsZWN0ZWRYU1MKICAgICB9OwogCi0gICAgdm9pZCBkaWRSZWNlaXZlSGVhZGVyKGNvbnN0
IFN0cmluZyYsIEhlYWRlclR5cGUpOwotCi0gICAgLy8gVGhlc2UgZnVuY3Rpb25zIGFyZSB3cm9u
ZyBiZWNhdXNlIHRoZXkgYXNzdW1lIHRoYXQgdGhlcmUgaXMgb25seSBvbmUgaGVhZGVyLgotICAg
IC8vIEZJWE1FOiBSZXBsYWNlIHRoZW0gd2l0aCBmdW5jdGlvbnMgdGhhdCByZXR1cm4gdmVjdG9y
cy4KLSAgICBjb25zdCBTdHJpbmcmIGRlcHJlY2F0ZWRIZWFkZXIoKSBjb25zdDsKLSAgICBIZWFk
ZXJUeXBlIGRlcHJlY2F0ZWRIZWFkZXJUeXBlKCkgY29uc3Q7CisgICAgQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzIHJlc3BvbnNlSGVhZGVycygpIGNvbnN0OworICAgIHZvaWQg
ZGlkUmVjZWl2ZUhlYWRlcnMoY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJik7CisgICAgdm9pZCBkaWRSZWNlaXZlSGVhZGVyKGNvbnN0IFN0cmluZyYsIENvbnRlbnRT
ZWN1cml0eVBvbGljeUhlYWRlclR5cGUpOwogCiAgICAgYm9vbCBhbGxvd0phdmFTY3JpcHRVUkxz
KGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250
ZXh0TGluZSwgYm9vbCBvdmVycmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeSA9IGZhbHNlLCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyA9IENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6UmVwb3J0aW5nU3RhdHVzOjpTZW5kUmVwb3J0KSBjb25zdDsKICAgICBib29sIGFsbG93SW5s
aW5lRXZlbnRIYW5kbGVycyhjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3Jk
aW5hbE51bWJlciYgY29udGV4dExpbmUsIGJvb2wgb3ZlcnJpZGVDb250ZW50U2VjdXJpdHlQb2xp
Y3kgPSBmYWxzZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgPSBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1czo6U2VuZFJlcG9ydCkgY29uc3Q7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjY3YjkxZDQyNGYyMGFl
ZTljY2JjYzcwMjM2ODdhNGE4OGU1MWI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcApAQCAt
MCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgorCisjaW5jbHVkZSAiSFRU
UEhlYWRlck5hbWVzLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK0NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVyczo6Q29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlKQoreworICAgIFN0cmluZyBwb2xpY3lWYWx1ZSA9IHJlc3BvbnNlLmh0dHBIZWFk
ZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q29udGVudFNlY3VyaXR5UG9saWN5KTsKKyAgICBpZiAo
IXBvbGljeVZhbHVlLmlzRW1wdHkoKSkKKyAgICAgICAgbV9oZWFkZXJzLmFwcGVuZCh7IHBvbGlj
eVZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBlOjpFbmZvcmNlIH0pOworCisg
ICAgcG9saWN5VmFsdWUgPSByZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6
OkNvbnRlbnRTZWN1cml0eVBvbGljeVJlcG9ydE9ubHkpOworICAgIGlmICghcG9saWN5VmFsdWUu
aXNFbXB0eSgpKQorICAgICAgICBtX2hlYWRlcnMuYXBwZW5kKHsgcG9saWN5VmFsdWUsIENvbnRl
bnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGU6OlJlcG9ydCB9KTsKKworICAgIHBvbGljeVZhbHVl
ID0gcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpYV2ViS2l0Q1NQKTsK
KyAgICBpZiAoIXBvbGljeVZhbHVlLmlzRW1wdHkoKSkKKyAgICAgICAgbV9oZWFkZXJzLmFwcGVu
ZCh7IHBvbGljeVZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBlOjpQcmVmaXhl
ZEVuZm9yY2UgfSk7CisKKyAgICBwb2xpY3lWYWx1ZSA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVs
ZChIVFRQSGVhZGVyTmFtZTo6WFdlYktpdENTUFJlcG9ydE9ubHkpOworICAgIGlmICghcG9saWN5
VmFsdWUuaXNFbXB0eSgpKQorICAgICAgICBtX2hlYWRlcnMuYXBwZW5kKHsgcG9saWN5VmFsdWUs
IENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGU6OlByZWZpeGVkUmVwb3J0IH0pOworfQor
CitDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyBpc29sYXRlZENvcHk7CisgICAgaXNvbGF0ZWRD
b3B5Lm1faGVhZGVycy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1faGVhZGVycy5zaXplKCkpOwor
ICAgIGZvciAoYXV0byYgaGVhZGVyIDogbV9oZWFkZXJzKQorICAgICAgICBpc29sYXRlZENvcHku
bV9oZWFkZXJzLnVuY2hlY2tlZEFwcGVuZCh7IGhlYWRlci5maXJzdC5pc29sYXRlZENvcHkoKSwg
aGVhZGVyLnNlY29uZCB9KTsKKyAgICByZXR1cm4gaXNvbGF0ZWRDb3B5OworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Y3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUw
YzdjNGE3ZmUyZjA2MzI1MmU0Njc4MjYxNDVhN2VkOGE0NDcxOTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMuaApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnNfaAorI2RlZmluZSBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnNfaAorCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENv
bnRlbnRTZWN1cml0eVBvbGljeTsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7CisKK2VudW0gY2xh
c3MgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZSB7CisgICAgUmVwb3J0LAorICAgIEVu
Zm9yY2UsCisgICAgUHJlZml4ZWRSZXBvcnQsCisgICAgUHJlZml4ZWRFbmZvcmNlLAorfTsKKwor
Y2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIHsKK3B1YmxpYzoKKyAg
ICBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMoY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpOworCisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIGlzb2xh
dGVkQ29weSgpIGNvbnN0OworCitwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBDb250ZW50U2Vj
dXJpdHlQb2xpY3k7CisKKyAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMo
KSA9IGRlZmF1bHQ7CisKKyAgICBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgQ29udGVudFNlY3Vy
aXR5UG9saWN5SGVhZGVyVHlwZT4+IG1faGVhZGVyczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8qIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVyc19o
ICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGUuY3BwCmluZGV4IDE1ZjAxNGU1ODVhNDk0MDdlZDdmMDA3OWQ2NzAxNWQxYTAyMjk5
NTkuLjkxYzdmMjMxMWI4MmYwNTJiNmE0OGZkYTcwZGI0MTRkZGUyYzU2MjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUuaCIKIAorI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRl
ZGljYXRlZFdvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5oIgpAQCAtMzks
MTAgKzQwLDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmPERlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiB0
aHJlYWQsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgUGFzc1JlZlB0
cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKQorUmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlPiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKGNvbnN0IFVSTCYgdXJsLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiB0aHJlYWQsIGNv
bnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0b3BPcmln
aW4pCiB7CiAgICAgUmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBjb250ZXh0ID0gYWRv
cHRSZWYoKm5ldyBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSh1cmwsIHVzZXJBZ2VudCwgdGhy
ZWFkLCB0b3BPcmlnaW4pKTsKLSAgICBjb250ZXh0LT5hcHBseUNvbnRlbnRTZWN1cml0eVBvbGlj
eUZyb21TdHJpbmcoY29udGVudFNlY3VyaXR5UG9saWN5LCBjb250ZW50U2VjdXJpdHlQb2xpY3lU
eXBlKTsKKyAgICBjb250ZXh0LT5hcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMpOwogICAgIHJldHVybiBj
b250ZXh0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlLmgKaW5kZXggZjFmZDk2OWNjODYxMDYyYzcxYzI5OTMyY2VjMjdhNTI4
ZDcyMmZmMC4uMjliNzIyYTBkNzUzMmY3YTUzMDdmN2QwNjgzZjQ0ZGQxM2NjY2Y5MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUu
aApAQCAtMzEsMTggKzMxLDE4IEBACiAjaWZuZGVmIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
X2gKICNkZWZpbmUgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVfaAogCi0jaW5jbHVkZSAiQ29u
dGVudFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRl
ICJXb3JrZXJHbG9iYWxTY29wZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyAgICBjbGFz
cyBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7CiAgICAgY2xhc3MgRGVkaWNh
dGVkV29ya2VyVGhyZWFkOwogCiAgICAgY2xhc3MgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUg
OiBwdWJsaWMgV29ya2VyR2xvYmFsU2NvcGUgewogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRl
ZiBXb3JrZXJHbG9iYWxTY29wZSBCYXNlOwotICAgICAgICBzdGF0aWMgUmVmPERlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlPiBjcmVhdGUoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIERlZGljYXRlZFdvcmtlclRocmVhZCYsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5
UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNlY3VyaXR5
UG9saWN5VHlwZSwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKTsKKyAgICAg
ICAgc3RhdGljIFJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlKGNvbnN0IFVS
TCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBQYXNzUmVmUHRyPFNlY3Vy
aXR5T3JpZ2luPiB0b3BPcmlnaW4pOwogICAgICAgICB2aXJ0dWFsIH5EZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZSgpOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCmluZGV4IGJkNDEzMzBj
YjNlOGFkNGE4Y2JmMTc1NmU0NzdmNjNmYjU5ZmE2MTYuLjNiZDFiYTdiZmI3NjA3NmU2NmZjZDNi
NTIxOGZmNjE5NjI3MmM0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVk
aWNhdGVkV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGlj
YXRlZFdvcmtlclRocmVhZC5jcHAKQEAgLTMyLDE5ICszMiwyMCBAQAogCiAjaW5jbHVkZSAiRGVk
aWNhdGVkV29ya2VyVGhyZWFkLmgiCiAKKyNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5o
IgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiV29ya2VyT2JqZWN0UHJv
eHkuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWY8RGVkaWNhdGVkV29ya2VyVGhyZWFk
PiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9h
ZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJPYmplY3RQcm94eSYgd29ya2VyT2Jq
ZWN0UHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IFN0cmluZyYg
Y29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUg
Y29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdp
bikKK1JlZjxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ+IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3Jl
YXRlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHks
IFdvcmtlck9iamVjdFByb3h5JiB3b3JrZXJPYmplY3RQcm94eSwgV29ya2VyVGhyZWFkU3RhcnRN
b2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGNvbnN0IFNlY3VyaXR5T3Jp
Z2luKiB0b3BPcmlnaW4pCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRGVkaWNhdGVkV29y
a2VyVGhyZWFkKHNjcmlwdFVSTCwgdXNlckFnZW50LCBzb3VyY2VDb2RlLCB3b3JrZXJMb2FkZXJQ
cm94eSwgd29ya2VyT2JqZWN0UHJveHksIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5
LCBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCB0b3BPcmlnaW4pKTsKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoc2NyaXB0VVJMLCB1c2VyQWdlbnQsIHNv
dXJjZUNvZGUsIHdvcmtlckxvYWRlclByb3h5LCB3b3JrZXJPYmplY3RQcm94eSwgc3RhcnRNb2Rl
LCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHRvcE9yaWdpbikpOwogfQog
Ci1EZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OkRlZGljYXRlZFdvcmtlclRocmVhZChjb25zdCBVUkwm
IHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
V29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJPYmplY3RQcm94eSYg
d29ya2VyT2JqZWN0UHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0
IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6Okhl
YWRlclR5cGUgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4q
IHRvcE9yaWdpbikKLSAgICA6IFdvcmtlclRocmVhZCh1cmwsIHVzZXJBZ2VudCwgc291cmNlQ29k
ZSwgd29ya2VyTG9hZGVyUHJveHksIHdvcmtlck9iamVjdFByb3h5LCBzdGFydE1vZGUsIGNvbnRl
bnRTZWN1cml0eVBvbGljeSwgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgdG9wT3JpZ2luKQor
RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29uc3QgVVJMJiB1
cmwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdv
cmtlckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyT2JqZWN0UHJveHkmIHdv
cmtlck9iamVjdFByb3h5LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycywgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbikKKyAgICA6
IFdvcmtlclRocmVhZCh1cmwsIHVzZXJBZ2VudCwgc291cmNlQ29kZSwgd29ya2VyTG9hZGVyUHJv
eHksIHdvcmtlck9iamVjdFByb3h5LCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycywgdG9wT3JpZ2luKQogICAgICwgbV93b3JrZXJPYmplY3RQcm94eSh3b3Jr
ZXJPYmplY3RQcm94eSkKIHsKIH0KQEAgLTUzLDkgKzU0LDkgQEAgRGVkaWNhdGVkV29ya2VyVGhy
ZWFkOjp+RGVkaWNhdGVkV29ya2VyVGhyZWFkKCkKIHsKIH0KIAotUmVmPFdvcmtlckdsb2JhbFNj
b3BlPiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0
IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBjb250ZW50
U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBjb250ZW50
U2VjdXJpdHlQb2xpY3lUeXBlLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW4p
CitSZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlV29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBj
b25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycywgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3Jp
Z2luKQogewotICAgIHJldHVybiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHVy
bCwgdXNlckFnZW50LCAqdGhpcywgY29udGVudFNlY3VyaXR5UG9saWN5LCBjb250ZW50U2VjdXJp
dHlQb2xpY3lUeXBlLCB0b3BPcmlnaW4pOworICAgIHJldHVybiBEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZTo6Y3JlYXRlKHVybCwgdXNlckFnZW50LCAqdGhpcywgY29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLCB0b3BPcmlnaW4pOwogfQogCiB2b2lkIERlZGljYXRlZFdvcmtl
clRocmVhZDo6cnVuRXZlbnRMb29wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGlj
YXRlZFdvcmtlclRocmVhZC5oCmluZGV4IGI1NjZlM2I4YTllMzY4ZGQ0NDcwMTQxZGM1MDA5YWU4
MmJiNjNkOTEuLjg1OTRlZjdhZGFmMWEyZWI1MmMzODRlN2Y5ZWE3NzA2OGRkNjQ1ZGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaApAQCAtMzAs
MjUgKzMwLDI1IEBACiAjaWZuZGVmIERlZGljYXRlZFdvcmtlclRocmVhZF9oCiAjZGVmaW5lIERl
ZGljYXRlZFdvcmtlclRocmVhZF9oCiAKLSNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3ku
aCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisg
ICAgY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOwogICAgIGNsYXNz
IFdvcmtlck9iamVjdFByb3h5OwogCiAgICAgY2xhc3MgRGVkaWNhdGVkV29ya2VyVGhyZWFkIDog
cHVibGljIFdvcmtlclRocmVhZCB7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUmVmPERl
ZGljYXRlZFdvcmtlclRocmVhZD4gY3JlYXRlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQ
cm94eSYsIFdvcmtlck9iamVjdFByb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBT
dHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFk
ZXJUeXBlLCBjb25zdCBTZWN1cml0eU9yaWdpbiogdG9wT3JpZ2luKTsKKyAgICAgICAgc3RhdGlj
IFJlZjxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ+IGNyZWF0ZShjb25zdCBVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2Vy
TG9hZGVyUHJveHkmLCBXb3JrZXJPYmplY3RQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgY29uc3QgU2VjdXJp
dHlPcmlnaW4qIHRvcE9yaWdpbik7CiAgICAgICAgIFdvcmtlck9iamVjdFByb3h5JiB3b3JrZXJP
YmplY3RQcm94eSgpIGNvbnN0IHsgcmV0dXJuIG1fd29ya2VyT2JqZWN0UHJveHk7IH0KICAgICAg
ICAgdmlydHVhbCB+RGVkaWNhdGVkV29ya2VyVGhyZWFkKCk7CiAKICAgICBwcm90ZWN0ZWQ6Ci0g
ICAgICAgIHZpcnR1YWwgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9iYWxT
Y29wZShjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBj
b250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSwg
UGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKSBvdmVycmlkZTsKKyAgICAgICAg
dmlydHVhbCBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNv
bnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBDb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMmLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0b3BPcmln
aW4pIG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuRXZlbnRMb29wKCkgb3ZlcnJp
ZGU7CiAKICAgICBwcml2YXRlOgotICAgICAgICBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29uc3Qg
VVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
V29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJPYmplY3RQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0
TW9kZSwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6SGVhZGVyVHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbik7Cisg
ICAgICAgIERlZGljYXRlZFdvcmtlclRocmVhZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYsIFdv
cmtlck9iamVjdFByb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBjb25zdCBTZWN1cml0eU9yaWdpbiogdG9wT3Jp
Z2luKTsKIAogICAgICAgICBXb3JrZXJPYmplY3RQcm94eSYgbV93b3JrZXJPYmplY3RQcm94eTsK
ICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IDQxZjBhNWJiMWI4ZTU3MDk4
MTc4OTBmZGJmYjExNWQ2NWYwNTFkYzUuLjNhMGUzM2ViZDM5MGFmMDAzMDE5MjZmYjE1ZTlhMTcz
NGE2YzQ4NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTMxLDYgKzMxLDcgQEAK
IAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVy
LmgiCisjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgpAQCAtNDAsNiArNDEsNyBAQAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
IgogI2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5oIgogI2luY2x1ZGUgIk5ldHdvcmtTdGF0ZU5vdGlm
aWVyLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJUZXh0RW5jb2Rp
bmcuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZVByb3h5LmgiCiAjaW5jbHVkZSAiV29y
a2VyU2NyaXB0TG9hZGVyLmgiCkBAIC0xNTAsOCArMTUyLDExIEBAIHZvaWQgV29ya2VyOjpub3Rp
ZnlOZXR3b3JrU3RhdGVDaGFuZ2UoYm9vbCBpc09uTGluZSkKICAgICBtX2NvbnRleHRQcm94eS0+
bm90aWZ5TmV0d29ya1N0YXRlQ2hhbmdlKGlzT25MaW5lKTsKIH0KIAotdm9pZCBXb3JrZXI6OmRp
ZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmKQordm9pZCBXb3JrZXI6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogeworICAgIGNv
bnN0IFVSTCYgcmVzcG9uc2VVUkwgPSByZXNwb25zZS51cmwoKTsKKyAgICBpZiAoIXJlc3BvbnNl
VVJMLnByb3RvY29sSXMoImJsb2IiKSAmJiAhU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXNwb25z
ZVVSTCktPmlzVW5pcXVlKCkpCisgICAgICAgIG1fY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzID0gQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKHJlc3BvbnNl
KTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVTY3JpcHRSZXNwb25z
ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIGlkZW50aWZpZXIpOwogfQogCkBAIC0xNjAsOCAr
MTY1LDggQEAgdm9pZCBXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBpZiAobV9zY3JpcHRM
b2FkZXItPmZhaWxlZCgpKQogICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLmVycm9yRXZlbnQsIGZhbHNlLCB0cnVlKSk7CiAgICAgZWxzZSB7Ci0gICAgICAg
IFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUgPSBEb250UGF1c2VXb3JrZXJHbG9iYWxT
Y29wZU9uU3RhcnQ7Ci0gICAgICAgIG1fY29udGV4dFByb3h5LT5zdGFydFdvcmtlckdsb2JhbFNj
b3BlKG1fc2NyaXB0TG9hZGVyLT51cmwoKSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT51c2Vy
QWdlbnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBz
dGFydE1vZGUpOworICAgICAgICBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyA9IG1fY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzID8gbV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMudmFsdWUoKSA6IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Y29udGVudFNl
Y3VyaXR5UG9saWN5KCktPnJlc3BvbnNlSGVhZGVycygpOworICAgICAgICBtX2NvbnRleHRQcm94
eS0+c3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKS0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIG1fc2Ny
aXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
LCBEb250UGF1c2VXb3JrZXJHbG9iYWxTY29wZU9uU3RhcnQpOwogICAgICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwg
bV9zY3JpcHRMb2FkZXItPmlkZW50aWZpZXIoKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpKTsK
ICAgICB9CiAgICAgbV9zY3JpcHRMb2FkZXIgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmgKaW5kZXggMDk4NTc1MTkxMGI0ZTkyMmRkMDVmYjAzYzIzMGUwZmQxZjkyMGRjZi4uY2QzZDEx
MTIyMmM4NDFiMmUwNGU4ZmE5NzZkMzlhZTIwODViYjhkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ci5oCkBAIC0yOSwxMSArMjksMTMgQEAKIAogI2luY2x1ZGUgIkFic3RyYWN0V29ya2VyLmgiCiAj
aW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLmgiCiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1
ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJX
b3JrZXJTY3JpcHRMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2gu
aD4KQEAgLTgzLDYgKzg1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIFJlZlB0
cjxXb3JrZXJTY3JpcHRMb2FkZXI+IG1fc2NyaXB0TG9hZGVyOwogICAgICAgICBXb3JrZXJHbG9i
YWxTY29wZVByb3h5KiBtX2NvbnRleHRQcm94eTsgLy8gVGhlIHByb3h5IG91dGxpdmVzIHRoZSB3
b3JrZXIgdG8gcGVyZm9ybSB0aHJlYWQgc2h1dGRvd24uCisgICAgICAgIE9wdGlvbmFsPENvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycz4gbV9jb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnM7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCAzMDI3YTUyNjA1
NGQ1MTM4OWQ5OGU2ZjcxNGRmY2RiMDFmN2ZjZGExLi5jNmZjZjJkZGM2MGY1ZDQyNjczZWI4YjJm
ZTZmNGVkZTlkYzNjMjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmNwcApAQCAtODUsMTAgKzg1LDEwIEBAIFdvcmtlckdsb2JhbFNjb3BlOjp+V29ya2Vy
R2xvYmFsU2NvcGUoKQogICAgIHRocmVhZCgpLndvcmtlclJlcG9ydGluZ1Byb3h5KCkud29ya2Vy
R2xvYmFsU2NvcGVEZXN0cm95ZWQoKTsKIH0KIAotdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6YXBw
bHlDb250ZW50U2VjdXJpdHlQb2xpY3lGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgcG9saWN5LCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNlY3VyaXR5UG9saWN5VHlw
ZSkKK3ZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmFwcGx5Q29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzKGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYg
Y29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKQogewogICAgIHNldENvbnRlbnRT
ZWN1cml0eVBvbGljeShzdGQ6Om1ha2VfdW5pcXVlPENvbnRlbnRTZWN1cml0eVBvbGljeT4odGhp
cykpOwotICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVyKHBvbGlj
eSwgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSk7CisgICAgY29udGVudFNlY3VyaXR5UG9saWN5
KCktPmRpZFJlY2VpdmVIZWFkZXJzKGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyk7CiB9CiAKIFVSTCBXb3JrZXJHbG9iYWxTY29wZTo6Y29tcGxldGVVUkwoY29uc3QgU3RyaW5n
JiB1cmwpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckds
b2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgK
aW5kZXggMmFjZWZjZWY1NWM4MTFmYTIxZDYyMjBjOTUyMzg2ZDFlMGUxMWZlMy4uZDRkYjM1MTQy
ZmMxMjY0Yjk2NDYzZjRjMDgxMDQ3MDNmZDE3MDM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMjcsNyArMjcsNiBAQAogI2lmbmRlZiBXb3JrZXJH
bG9iYWxTY29wZV9oCiAjZGVmaW5lIFdvcmtlckdsb2JhbFNjb3BlX2gKIAotI2luY2x1ZGUgIkNv
bnRlbnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKICNpbmNs
dWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIK
QEAgLTQ1LDYgKzQ0LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEJsb2I7
CisgICAgY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOwogICAgIGNs
YXNzIFNjaGVkdWxlZEFjdGlvbjsKICAgICBjbGFzcyBXb3JrZXJMb2NhdGlvbjsKICAgICBjbGFz
cyBXb3JrZXJOYXZpZ2F0b3I7CkBAIC0xMzEsNyArMTMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgcHJvdGVjdGVkOgogICAgICAgICBXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwm
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgV29ya2VyVGhyZWFkJiwgUGFzc1JlZlB0cjxTZWN1
cml0eU9yaWdpbj4gdG9wT3JpZ2luKTsKLSAgICAgICAgdm9pZCBhcHBseUNvbnRlbnRTZWN1cml0
eVBvbGljeUZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSk7CisgICAgICAgIHZvaWQgYXBwbHlDb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMoY29uc3QgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzJik7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGxvZ0V4Y2VwdGlv
blRvQ29uc29sZShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBSZWZQdHI8SW5zcGVjdG9y
OjpTY3JpcHRDYWxsU3RhY2s+JiYpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGFkZE1lc3NhZ2VU
b1dvcmtlckNvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1
bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4m
JiwgSlNDOjpFeGVjU3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9
IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZVByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHku
aAppbmRleCBmNWZiZjRmNTkzMzBkMTY0NmU2ZTQxOGMwNjdhZjBkMGVlNzJiNTA4Li42YmQ4OGM0
YjJkMGE4NWM0N2U0NzU0NDA3M2Y3NjI4OTFmOWZmZTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaApAQCAtMzgsNiArMzgsNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKKyAgICBjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnM7CiAgICAgY2xhc3MgVVJMOwogICAgIGNsYXNzIFdvcmtlcjsKIApAQCAtNDgs
NyArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCB+V29ya2Vy
R2xvYmFsU2NvcGVQcm94eSgpIHsgfQogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUpID0gMDsK
KyAgICAgICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBz
Y3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNv
ZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIFdvcmtlclRo
cmVhZFN0YXJ0TW9kZSkgPSAwOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3Jr
ZXJHbG9iYWxTY29wZSgpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCA4NDU2YWJiY2ZlMmU5NTU1YWE3NWI5ZjVmMTU1Zjky
NzY1YzNlOTg2Li42OTllOWI3N2Y3YmYxNjVmOWU5ODBhMDU2M2U3YzQ5OTM1OWY3N2RkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAt
NzIsMTIgKzcyLDEyIEBAIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp+V29ya2VyTWVzc2FnaW5nUHJv
eHkoKQogICAgICAgICB8fCAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQpICYmIGN1cnJlbnRUaHJlYWQoKSA9PSBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29w
ZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkudGhyZWFkKCkudGhyZWFkSUQoKSkpOwogfQog
Ci12b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0
IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBz
b3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlKQordm9pZCBXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUpCiB7
CiAgICAgLy8gRklYTUU6IFRoaXMgbmVlZCB0byBiZSByZXZpc2l0ZWQgd2hlbiB3ZSBzdXBwb3J0
IG5lc3RlZCB3b3JrZXIgb25lIGRheQogICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQpOwogICAgIERvY3VtZW50JiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50PigqbV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KTsKLSAgICBSZWZQdHI8RGVkaWNhdGVkV29ya2VyVGhyZWFkPiB0
aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShzY3JpcHRVUkwsIHVzZXJBZ2Vu
dCwgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCBzdGFydE1vZGUsIGRvY3VtZW50LmNvbnRlbnRT
ZWN1cml0eVBvbGljeSgpLT5kZXByZWNhdGVkSGVhZGVyKCksIGRvY3VtZW50LmNvbnRlbnRTZWN1
cml0eVBvbGljeSgpLT5kZXByZWNhdGVkSGVhZGVyVHlwZSgpLCBkb2N1bWVudC50b3BPcmlnaW4o
KSk7CisgICAgUmVmUHRyPERlZGljYXRlZFdvcmtlclRocmVhZD4gdGhyZWFkID0gRGVkaWNhdGVk
V29ya2VyVGhyZWFkOjpjcmVhdGUoc2NyaXB0VVJMLCB1c2VyQWdlbnQsIHNvdXJjZUNvZGUsICp0
aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMsIGRvY3VtZW50LnRvcE9yaWdpbigpKTsKICAgICB3b3JrZXJUaHJlYWRDcmVhdGVkKHRocmVh
ZCk7CiAgICAgdGhyZWFkLT5zdGFydCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IGViN2FmNTg0ZTY2ZDYyOGI3NTMyNTNjNzUzNTY5
Yzk0YmFiNThhNTguLmFhNWI4OTFhODI0ZmUzNzFkNjg1ODAwMjMwMWU1YjJhNmYyMGEwZjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTQw
LDYgKzQwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisgICAgY2xhc3MgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOwogICAgIGNsYXNzIERlZGljYXRlZFdvcmtlclRo
cmVhZDsKICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIGNsYXNzIFdvcmtl
cjsKQEAgLTUxLDcgKzUyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIC8vIElt
cGxlbWVudGF0aW9ucyBvZiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LgogICAgICAgICAvLyAoT25s
eSB1c2UgdGhlc2UgbWV0aG9kcyBpbiB0aGUgd29ya2VyIG9iamVjdCB0aHJlYWQuKQotICAgICAg
ICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29y
a2VyVGhyZWFkU3RhcnRNb2RlKSBvdmVycmlkZTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN0YXJ0
V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycyYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSkgb3ZlcnJpZGU7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpIG92ZXJyaWRl
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKFBh
c3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgc3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VQ
b3J0Q2hhbm5lbEFycmF5Pikgb3ZlcnJpZGU7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBoYXNQZW5k
aW5nQWN0aXZpdHkoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmNwcAppbmRleCBjNzdlYTljMzM0MTFjOTIwMDIyNzFjOTMwOGE5NjdlM2RkZTM0NTM1
Li44MTIyMzgwNWNkNzcxMzUwMDdiZmM4YmY2OWU5Yjk3NTg4Y2ZiNDk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRl
ICJXb3JrZXJUaHJlYWQuaCIKIAorI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgiCiAj
aW5jbHVkZSAiU2NyaXB0U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgi
CkBAIC02OSwzMyArNzAsMzEgQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRD
b3VudCgpCiBzdHJ1Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6Ci0gICAgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3Jp
cHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUs
IFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQb2xp
Y3lUeXBlLCBjb25zdCBTZWN1cml0eU9yaWdpbiogdG9wT3JpZ2luKTsKKyAgICBXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBjb25zdCBTZWN1cml0eU9y
aWdpbiogdG9wT3JpZ2luKTsKIAogICAgIFVSTCBtX3NjcmlwdFVSTDsKICAgICBTdHJpbmcgbV91
c2VyQWdlbnQ7CiAgICAgU3RyaW5nIG1fc291cmNlQ29kZTsKICAgICBXb3JrZXJUaHJlYWRTdGFy
dE1vZGUgbV9zdGFydE1vZGU7Ci0gICAgU3RyaW5nIG1fY29udGVudFNlY3VyaXR5UG9saWN5Owot
ICAgIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBtX2NvbnRlbnRTZWN1cml0eVBv
bGljeVR5cGU7CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIG1fY29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOwogICAgIFJlZlB0cjxTZWN1cml0eU9y
aWdpbj4gbV90b3BPcmlnaW47CiB9OwogCi1Xb3JrZXJUaHJlYWRTdGFydHVwRGF0YTo6V29ya2Vy
VGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBz
dGFydE1vZGUsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgY29uc3Qg
U2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbikKK1dvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpXb3Jr
ZXJUaHJlYWRTdGFydHVwRGF0YShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2Rl
IHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGNvbnN0IFNlY3VyaXR5T3JpZ2lu
KiB0b3BPcmlnaW4pCiAgICAgOiBtX3NjcmlwdFVSTChzY3JpcHRVUkwuaXNvbGF0ZWRDb3B5KCkp
CiAgICAgLCBtX3VzZXJBZ2VudCh1c2VyQWdlbnQuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3Nv
dXJjZUNvZGUoc291cmNlQ29kZS5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fc3RhcnRNb2RlKHN0
YXJ0TW9kZSkKLSAgICAsIG1fY29udGVudFNlY3VyaXR5UG9saWN5KGNvbnRlbnRTZWN1cml0eVBv
bGljeS5pc29sYXRlZENvcHkoKSkKLSAgICAsIG1fY29udGVudFNlY3VyaXR5UG9saWN5VHlwZShj
b250ZW50U2VjdXJpdHlQb2xpY3lUeXBlKQorICAgICwgbV9jb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMoY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmlzb2xh
dGVkQ29weSgpKQogICAgICwgbV90b3BPcmlnaW4odG9wT3JpZ2luID8gJnRvcE9yaWdpbi0+aXNv
bGF0ZWRDb3B5KCkuZ2V0KCkgOiBudWxscHRyKQogewogfQogCi1Xb3JrZXJUaHJlYWQ6Oldvcmtl
clRocmVhZChjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNv
bnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclBy
b3h5LCBXb3JrZXJSZXBvcnRpbmdQcm94eSYgd29ya2VyUmVwb3J0aW5nUHJveHksIFdvcmtlclRo
cmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9s
aWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNlY3VyaXR5UG9s
aWN5VHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbikKK1dvcmtlclRocmVhZDo6
V29ya2VyVGhyZWFkKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9h
ZGVyUHJveHksIFdvcmtlclJlcG9ydGluZ1Byb3h5JiB3b3JrZXJSZXBvcnRpbmdQcm94eSwgV29y
a2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGNv
bnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pCiAgICAgOiBtX3RocmVhZElEKDApCiAgICAg
LCBtX3dvcmtlckxvYWRlclByb3h5KHdvcmtlckxvYWRlclByb3h5KQogICAgICwgbV93b3JrZXJS
ZXBvcnRpbmdQcm94eSh3b3JrZXJSZXBvcnRpbmdQcm94eSkKLSAgICAsIG1fc3RhcnR1cERhdGEo
c3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4oc2NyaXB0VVJMLCB1c2Vy
QWdlbnQsIHNvdXJjZUNvZGUsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5LCBjb250
ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCB0b3BPcmlnaW4pKQorICAgICwgbV9zdGFydHVwRGF0YShz
dGQ6Om1ha2VfdW5pcXVlPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPihzY3JpcHRVUkwsIHVzZXJB
Z2VudCwgc291cmNlQ29kZSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMsIHRvcE9yaWdpbikpCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJM
RShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICAsIG1fbm90aWZpY2F0aW9uQ2xpZW50KDApCiAj
ZW5kaWYKQEAgLTE0NSw3ICsxNDQsNyBAQCB2b2lkIFdvcmtlclRocmVhZDo6d29ya2VyVGhyZWFk
KCkKIAogICAgIHsKICAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1fdGhyZWFkQ3JlYXRpb25NdXRl
eCk7Ci0gICAgICAgIG1fd29ya2VyR2xvYmFsU2NvcGUgPSBjcmVhdGVXb3JrZXJHbG9iYWxTY29w
ZShtX3N0YXJ0dXBEYXRhLT5tX3NjcmlwdFVSTCwgbV9zdGFydHVwRGF0YS0+bV91c2VyQWdlbnQs
IG1fc3RhcnR1cERhdGEtPm1fY29udGVudFNlY3VyaXR5UG9saWN5LCBtX3N0YXJ0dXBEYXRhLT5t
X2NvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUsIG1fc3RhcnR1cERhdGEtPm1fdG9wT3JpZ2luLnJl
bGVhc2UoKSk7CisgICAgICAgIG1fd29ya2VyR2xvYmFsU2NvcGUgPSBjcmVhdGVXb3JrZXJHbG9i
YWxTY29wZShtX3N0YXJ0dXBEYXRhLT5tX3NjcmlwdFVSTCwgbV9zdGFydHVwRGF0YS0+bV91c2Vy
QWdlbnQsIG1fc3RhcnR1cERhdGEtPm1fY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLCBtX3N0YXJ0dXBEYXRhLT5tX3RvcE9yaWdpbi5yZWxlYXNlKCkpOwogCiAgICAgICAgIGlm
IChtX3J1bkxvb3AudGVybWluYXRlZCgpKSB7CiAgICAgICAgICAgICAvLyBUaGUgd29ya2VyIHdh
cyB0ZXJtaW5hdGVkIGJlZm9yZSB0aGUgdGhyZWFkIGhhZCBhIGNoYW5jZSB0byBydW4uIFNpbmNl
IHRoZSBjb250ZXh0IGRpZG4ndCBleGlzdCB5ZXQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuaAppbmRleCA2MjdiYWFlZDkwZWMyNzhlNWE5NDdjYTdmMmMyNzEwNWY4N2E1Yjk1Li5i
Yjc5NTgyZjY4M2MyNWRjZGI3ZjM0OWVmMjAyM2E5YjVhM2ZkOGJkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVGhyZWFkLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNpZm5kZWYgV29ya2VyVGhy
ZWFkX2gKICNkZWZpbmUgV29ya2VyVGhyZWFkX2gKIAotI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0
eVBvbGljeS5oIgogI2luY2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKICNpbmNsdWRlIDxtZW1vcnk+
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAgLTM2LDYgKzM1LDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCisgICAgY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzOwogICAgIGNsYXNzIFVSTDsKICAgICBjbGFzcyBOb3RpZmljYXRpb25DbGllbnQ7CiAgICAg
Y2xhc3MgU2VjdXJpdHlPcmlnaW47CkBAIC02OCwxMCArNjgsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogI2VuZGlmCiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIFdvcmtlclRocmVhZChjb25z
dCBVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2Rl
LCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlclJlcG9ydGluZ1Byb3h5JiwgV29ya2VyVGhyZWFk
U3RhcnRNb2RlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNl
Y3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlLCBjb25zdCBTZWN1cml0eU9yaWdpbiogdG9wT3JpZ2lu
KTsKKyAgICAgICAgV29ya2VyVGhyZWFkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2Vy
UmVwb3J0aW5nUHJveHkmLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmln
aW4pOwogCiAgICAgICAgIC8vIEZhY3RvcnkgbWV0aG9kIGZvciBjcmVhdGluZyBhIG5ldyB3b3Jr
ZXIgY29udGV4dCBmb3IgdGhlIHRocmVhZC4KLSAgICAgICAgdmlydHVhbCBSZWY8V29ya2VyR2xv
YmFsU2NvcGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0
b3BPcmlnaW4pID0gMDsKKyAgICAgICAgdmlydHVhbCBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNy
ZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBQYXNzUmVmUHRy
PFNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW4pID0gMDsKIAogICAgICAgICAvLyBFeGVjdXRlcyB0
aGUgZXZlbnQgbG9vcCBmb3IgdGhlIHdvcmtlciB0aHJlYWQuIERlcml2ZWQgY2xhc3NlcyBjYW4g
b3ZlcnJpZGUgdG8gcGVyZm9ybSBhY3Rpb25zIGJlZm9yZS9hZnRlciBlbnRlcmluZyB0aGUgZXZl
bnQgbG9vcC4KICAgICAgICAgdmlydHVhbCB2b2lkIHJ1bkV2ZW50TG9vcCgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDVi
YWUyMzI1MzQ3MWE1ZGVjZmExZTVmZDdkYmZlMDk4ODBkNWJlZTguLmJhZjEzMGEyZWYyMDljNDYy
YjUzODU4ZjdlZGY5NDljNjI4YzZkNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAxNi0wMS0y
OCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgQ1NQOiBVc2Ug
dGhlIHNlcnZlZCBDU1AgaGVhZGVyIGZvciBkZWRpY2F0ZWQgd29ya2VycworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzMTU3CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8yNDM4MzI1ND4KKyAgICAgICAgQW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTMxNTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzI0MzgzMjQ2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBhIG5ldyB0ZXN0IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3dvcmtlci1ibG9iLWluaGVyaXRzLWNzcC1ibG9ja3MtZXZhbC5odG1sIHRvCisgICAgICAg
IGVuc3VyZSB0aGF0IGEgV2ViIFdvcmtlciBpcyBibG9ja2VkIGZyb20gY2FsbGluZyBldmFsKCkg
d2hlbiB0aGUgaW5oZXJpdGVkIENTUCBvZiBpdHMgb3duZXIgZG9jdW1lbnQKKyAgICAgICAgZG9l
cyBkb2VzIG5vdCBsaXN0ICd1bnNhZmUtZXZhbCcgaW4gaXRzIHNjcmlwdC1zcmMgZGlyZWN0aXZl
LgorCisgICAgICAgIEFkZGl0aW9uYWxseSwgcmVtb3ZlIHNvbWUgdGVzdHMgdGhhdCBub3cgcGFz
cyBhbmQgdXBkYXRlIHRoZSBleHBlY3RlZCByZXN1bHRzIG9mIGV4aXN0aW5nIHRlc3RzCisgICAg
ICAgIHdpdGggaW5jb3JyZWN0IHJlc3VsdHMuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25z
OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dv
cmtlci1ibG9iLWluaGVyaXRzLWNzcC1ibG9ja3MtZXZhbC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtl
ci1ibG9iLWluaGVyaXRzLWNzcC1ibG9ja3MtZXZhbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItbXVsdGlwbGUt
Y3NwLWhlYWRlcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci13aXRob3V0LW93bi1jc3AtZXhwZWN0ZWQudHh0
OgorCisyMDE2LTAxLTI3ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBDU1A6IFVzZSB0aGUgc2VydmVkIENTUCBoZWFkZXIgZm9yIGRlZGljYXRlZCB3b3JrZXJz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTMxNTcK
KyAgICAgICAgQW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTMxNTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW1vdmUgc29tZSB0ZXN0cyB0aGF0IG5vdyBwYXNzIGFuZCB1cGRhdGUgdGhlIGV4cGVj
dGVkIHJlc3VsdHMgb2YgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRp
b25zOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3dvcmtlci1tdWx0aXBsZS1jc3AtaGVhZGVycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLXdpdGhvdXQtb3du
LWNzcC1leHBlY3RlZC50eHQ6CisKIDIwMTYtMDEtMjggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBlcXVhbElnbm9yaW5nQ2FzZSBzaW5jZSBhbGwgY2Fs
bGVycyByZWFsbHkgd2FudGVkIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDVjYzk5MDE0NWVjOWU5NjQ3Mzk5MTlhYWE0YzgxMmQ4M2UwMjM2YTcuLmY0NzBlMGZk
ZjFlNmNhOTZmZDNhOWQ1NTM1NmQyMDI5MDAxMjdmMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
ODAwLDYgKzgwMCw3IEBAIHdlYmtpdC5vcmcvYi81MjE4NSBmYXN0L2Nzcy92ZXJ0aWNhbC1hbGln
bi1iYXNlbGluZS1yb3dzcGFuLTAxMC5odG1sIFsgSW1hZ2VPbmx5CiAjIENvbnRlbnQgU2VjdXJp
dHkgUG9saWN5IGZhaWx1cmVzCiB3ZWJraXQub3JnL2IvNjkzNTkgaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMtZXZlbnRzb3VyY2UtcmVkaXJlY3Qt
dG8tYmxvY2tlZC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvNjkzNTkgaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMteG1saHR0cHJlcXVl
c3QtcmVkaXJlY3QtdG8tYmxvY2tlZC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvNjkz
NTkgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLWJsb2It
aW5oZXJpdHMtY3NwLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMTE4NjkgaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWFuZC1zZW5k
cy1yZXBvcnQuaHRtbAogd2Via2l0Lm9yZy9iLzExNTcwMCBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9pbmxpbmUtZXZlbnQtaGFuZGxlci1ibG9ja2VkLWFmdGVyLWlu
amVjdGluZy1tZXRhLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMTU3MDIgaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1u
by1jb29raWVzLmh0bWwgWyBGYWlsdXJlIF0KQEAgLTgxNywxMSArODE4LDYgQEAgd2Via2l0Lm9y
Zy9iLzE1MzE1MyBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmpl
Y3Qtc3JjLXBhcmFtLXMKIHdlYmtpdC5vcmcvYi8xNTMxNTMgaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy1wYXJhbS11cmwtYmxvY2tlZC5odG1sCiB3
ZWJraXQub3JnL2IvMTUzMTU0IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3JlZGlyZWN0LWRvZXMtbm90LW1hdGNoLXBhdGhzLmh0bWwKIHdlYmtpdC5vcmcvYi8xNTMx
NTUgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc3R5bGUtc3JjLWJs
b2NrZWQtZXJyb3ItZXZlbnQuaHRtbAotd2Via2l0Lm9yZy9iLzE1MzE1NiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItbXVsdGlwbGUtY3NwLWhlYWRlcnMu
aHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE1MzE1NyBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItYmxvYi1pbmhlcml0cy1jc3AuaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzE1MzE1NyBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS93b3JrZXItaW1wb3J0c2NyaXB0cy1ibG9ja2VkLmh0bWwgWyBGYWlsdXJl
IF0KLXdlYmtpdC5vcmcvYi8xNTMxNTcgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvd29ya2VyLXNjcmlwdC1zcmMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9i
LzE1MzE1NyBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXIt
d2l0aG91dC1vd24tY3NwLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNTMxNTggaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvYmxvYi11cmxzLW1hdGNoLXNl
bGYuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE1MzE1OSBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9pbWFnZS1kb2N1bWVudC1kZWZhdWx0LXNyYy1ub25l
Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNTMxNjAgaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy1kb2VzLW5vdC1hZmZlY3QtY2hpbGQu
aHRtbCBbIEZhaWx1cmUgXQpAQCAtODQzLDYgKzgzOSw4IEBAIHdlYmtpdC5vcmcvYi8xNTMxNjYg
d2Via2l0Lm9yZy9iLzE1MzI0MiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljCiB3ZWJraXQub3JnL2IvMTUzMTY3IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3NhbmRib3gtcmVwb3J0LW9ubHkuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzE1MzE2OCBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zb3Vy
Y2UtbGlzdC1wYXJzaW5nLTA3Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNTMxNzAg
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc291cmNlLWxpc3QtcGFy
c2luZy1wYXRocy0wMy5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTUzNTYyIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci1pbXBvcnRzY3JpcHRz
LWJsb2NrZWQuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzE1MzU2MiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItc2NyaXB0LXNyYy5odG1sIFsg
RmFpbHVyZSBdCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zY3Jp
cHQtc3JjLWJsb2NrZWQtZXJyb3ItZXZlbnQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvZnJhbWUtYW5jZXN0b3JzL2Zy
YW1lLWFuY2VzdG9ycy1vdmVycmlkZXMteGZvLmh0bWwgIyBOZWVkcyBleHBlY3RlZCBmaWxlLgog
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gt
ZGVmYXVsdC1zcmMuaHRtbCAjIE5lZWRzIGV4cGVjdGVkIGZpbGUuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXIt
YmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLWJsb2ItaW5o
ZXJpdHMtY3NwLWJsb2Nrcy1ldmFsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTdiNzMzNGQ4
YTg2ZWFmNWFkNjE4ZmRkZjFhNjNhNDZjY2U1NGIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLWJs
b2ItaW5oZXJpdHMtY3NwLWJsb2Nrcy1ldmFsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
K1RoaXMgdGVzdHMgdGhhdCB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgKENTUCkgb2YgdGhl
IG93bmVyIGRvY3VtZW50ICh0aGlzIHBhZ2UpIGJsb2NrcyBhIGJsb2ItVVJMIFdlYiBXb3JrZXIg
ZnJvbSB1c2luZyBldmFsKCkgYmVjYXVzZSB0aGUgcGFyZW50J3MgQ1NQIGRvZXMgbm90IGxpc3Qg
dW5zYWZlLWV2YWwgaW4gc2NyaXB0LXNyYy4KKworUEFTUyB0aHJldyBleGNlcHRpb24gRXZhbEVy
cm9yOiBSZWZ1c2VkIHRvIGV2YWx1YXRlIGEgc3RyaW5nIGFzIEphdmFTY3JpcHQgYmVjYXVzZSAn
dW5zYWZlLWV2YWwnIGlzIG5vdCBhbiBhbGxvd2VkIHNvdXJjZSBvZiBzY3JpcHQgaW4gdGhlIGZv
bGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICdz
ZWxmJyAndW5zYWZlLWlubGluZSciLgorLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLWJsb2ItaW5oZXJpdHMt
Y3NwLWJsb2Nrcy1ldmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItYmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kMWU5MTAxMDE1ZWUwOTY3NDRkZDA4YTRjYTA4MGZlZTk0MmM2ZTg0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLWJsb2ItaW5oZXJpdHMtY3NwLWJsb2Nrcy1ldmFsLmh0
bWwKQEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPCEt
LSBGSVhNRTogUmVtb3ZlICdzZWxmJyBmcm9tIHNjcmlwdC1zcmMgb25jZSB3ZSBmaXggPGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTMxNTg+LiAtLT4KKzxtZXRhIGh0
dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJzY3JpcHQtc3JjICdz
ZWxmJyAndW5zYWZlLWlubGluZSciPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikg
eworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdHMgdGhh
dCB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgKENTUCkgb2YgdGhlIG93bmVyIGRvY3VtZW50
ICh0aGlzIHBhZ2UpIGJsb2NrcyBhIGJsb2ItVVJMIFdlYiBXb3JrZXIgZnJvbSB1c2luZyA8Y29k
ZT5ldmFsKCk8L2NvZGU+IGJlY2F1c2UgdGhlIHBhcmVudCdzIENTUCBkb2VzIG5vdCBsaXN0IDxj
b2RlPnVuc2FmZS1ldmFsPC9jb2RlPiBpbiBzY3JpcHQtc3JjLjwvcD4KKzxwcmUgaWQ9InJlc3Vs
dCI+PC9wcmU+Cis8c2NyaXB0Pgord2luZG93Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldmVudCkK
K3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikudGV4dENvbnRlbnQgPSBl
dmVudC5kYXRhOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciBzY3JpcHQgPSBbCisgICAgJ3ZhciBleGNlcHRpb247
JywKKyAgICAndHJ5IHsnLAorICAgICcgICAgZXZhbCgiMSArIDAiKTsnLAorICAgICd9IGNhdGNo
IChlKSB7JywKKyAgICAnICAgIGV4Y2VwdGlvbiA9IGU7JywKKyAgICAnfScsCisgICAgJ2lmICgh
ZXhjZXB0aW9uKScsCisgICAgJyAgICBzZWxmLnBvc3RNZXNzYWdlKCJGQUlMIHNob3VsZCB0aHJv
dyBFdmFsRXJyb3IuIEJ1dCBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4iKTsnLAorICAgICdl
bHNlIHsnLAorICAgICcgICAgaWYgKGV4Y2VwdGlvbiBpbnN0YW5jZW9mIEV2YWxFcnJvciknLAor
ICAgICcgICAgICAgIHNlbGYucG9zdE1lc3NhZ2UoIlBBU1MgdGhyZXcgZXhjZXB0aW9uICIgKyBl
eGNlcHRpb24gKyAiLiIpOycsCisgICAgJyAgICBlbHNlJywKKyAgICAnICAgICAgICBzZWxmLnBv
c3RNZXNzYWdlKCJGQUlMIHNob3VsZCB0aHJvdyBFdmFsRXJyb3IuIFRocmV3IGV4Y2VwdGlvbiAi
ICsgZXhjZXB0aW9uICsgIi4iKTsnLAorICAgICd9JywKK10uam9pbigiXG4iKTsKKwordmFyIHdv
cmtlcjsKK3RyeSB7CisgICAgd29ya2VyID0gbmV3IFdvcmtlcih3aW5kb3cuVVJMLmNyZWF0ZU9i
amVjdFVSTChuZXcgQmxvYihbc2NyaXB0XSkpKTsKKyAgICB3b3JrZXIub25tZXNzYWdlID0gZnVu
Y3Rpb24gKGV2ZW50KSB7IHdpbmRvdy5wb3N0TWVzc2FnZShldmVudC5kYXRhLCAiKiIpIH07Cit9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICB3aW5kb3cucG9zdE1lc3NhZ2UoIkZBSUwgc2hvdWxk
IG5vdCBoYXZlIHRocm93biBhbiBleGNlcHRpb24gd2hlbiBjcmVhdGluZyB3b3JrZXIuIFRocmV3
IGV4Y2VwdGlvbiAiICsgZXhjZXB0aW9uICsgIi4iLCAiKiIpOworfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItbXVsdGlwbGUtY3NwLWhlYWRlcnMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvd29ya2VyLW11bHRpcGxlLWNzcC1oZWFkZXJzLWV4cGVjdGVkLnR4dAppbmRleCAyMGI1
MzhiMzdmZmE1MmFjYWEyMTJkM2RlMTg1YTUxYzAxMTg4NGM0Li4wMTAwNTMzZjk4ZGExYzZkMTEx
MTA5Yzg5ZGZjMDAyNjhiNTU4YWRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItbXVsdGlwbGUtY3NwLWhlYWRl
cnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci1tdWx0aXBsZS1jc3AtaGVhZGVycy1leHBlY3RlZC50
eHQKQEAgLTEsMyArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gY29ubmVjdCB0
byAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9nZXQudHh0
JyBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xp
Y3kgZGlyZWN0aXZlOiAiY29ubmVjdC1zcmMgJ25vbmUnIi4KKwogCiBQQVNTIFdvcmtlciBjYW4g
aGF2ZSBtdWx0aXBsZSBDU1AgaGVhZGVycyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLXdpdGhvdXQtb3du
LWNzcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS93b3JrZXItd2l0aG91dC1vd24tY3NwLWV4cGVjdGVkLnR4dAppbmRl
eCBkODYzMzlhZmI4MmZkYjFiZjI3MmQwMTRhOWM5Y2YzY2MyOGNmZjc1Li5lYTNjNDc2MzkzMTli
ZTg4ZmJjZmJhMTc3ZDVjZjM0NTlmYzBhYWQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItd2l0aG91dC1vd24t
Y3NwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItd2l0aG91dC1vd24tY3NwLWV4cGVjdGVkLnR4dApA
QCAtMSw0ICsxLDMgQEAKIAotCiBQQVNTIFdvcmtlciBzaG91bGQgbm90IGluaGVyaXQgZG9jdW1l
bnQncyBDU1AgCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270127</attachid>
            <date>2016-01-28 10:54:35 -0800</date>
            <delta_ts>2016-01-28 18:51:58 -0800</delta_ts>
            <desc>Patch and Layout Tests</desc>
            <filename>bug-153157-20160128105409.patch</filename>
            <type>text/plain</type>
            <size>71573</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1NzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2MyMThhNDI5NGUwNDgy
MzUxODE3YTU5MmI0YWRhZmE1NzM5Y2FjYi4uNTAzZTEzYTczNDUxNWMzNDlmY2I1OTRlODRlYmE0
NzgyNzczNjI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkyIEBACisyMDE2LTAxLTI4ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBDU1A6IFVzZSB0aGUgc2Vy
dmVkIENTUCBoZWFkZXIgZm9yIGRlZGljYXRlZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTMxNTcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzI0MzgzMjU0PgorICAgICAgICBBbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1MzE1NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQzODMy
NDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5z
cGlyZWQgYnkgQmxpbmsgY29tbWl0OgorICAgICAgICA8aHR0cHM6Ly9zcmMuY2hyb21pdW0ub3Jn
L3ZpZXd2Yy9ibGluaz9yZXZpc2lvbj0xOTQxNDMmdmlldz1yZXZpc2lvbj4KKworICAgICAgICBJ
bXBsZW1lbnQgc3VwcG9ydCBmb3IgcmVzcGVjdGluZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAo
Q1NQKSBIVFRQIGhlYWRlcnMgaW5jbHVkZWQgaW4gdGhlCisgICAgICAgIEhUVFAgcmVzcG9uc2Ug
Zm9yIGEgV2ViIFdvcmtlcidzIHNjcmlwdCBhcyBwZXIgc2VjdGlvbiBXb3JrZXJzIG9mIHRoZSBD
U1AgMi4wIHNwZWMsCisgICAgICAgIDxodHRwczovL3czYy5naXRodWIuaW8vd2ViYXBwc2VjLWNz
cC8yLyNwcm9jZXNzaW5nLW1vZGVsLXdvcmtlcnM+ICgyOSBBdWd1c3QgMjAxNSkuCisKKyAgICAg
ICAgQ3VycmVudGx5IGEgV2ViIFdvcmtlciBhbHdheXMgaW5oZXJpdHMgdGhlIENTUCBvZiBpdHMg
b3duZXIgZG9jdW1lbnQuIEluc3RlYWQgYSB3ZWIgd29ya2VyCisgICAgICAgIHdpbGwgaW5oZXJp
dCB0aGUgQ1NQIG9mIGl0cyBvd25lciBkb2N1bWVudCBvbmx5IGlmIGl0cyBzY3JpcHQgaXMgaW5j
YXBhYmxlIG9mIGRlZmluaW5nIGEKKyAgICAgICAgY29udGVudCBzZWN1cml0eSBwb2xpY3kgKGUu
Zy4gaXRzIG9yaWdpbiBpcyBhIGdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyKS4gT3RoZXJ3aXNl
LCB0aGUKKyAgICAgICAgQ1NQIEhUVFAgaGVhZGVycyBkZWxpdmVyZWQgd2l0aCB0aGUgc2NyaXB0
IHdpbGwgYmUgdXNlZCB0byBkZWZpbmUgdGhlIENTUCBmb3IgdGhlIHdvcmtlci4KKworICAgICAg
ICBUZXN0czogZmFzdC93b3JrZXJzL3dvcmtlci1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwuaHRt
bAorICAgICAgICAgICAgICAgZmFzdC93b3JrZXJzL3dvcmtlci1pbmhlcml0cy1jc3AtYmxvY2tz
LXhoci5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS93b3JrZXItYmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwuaHRtbAorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZCBmaWxlIENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycy5jcHAuCisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvajogQWRkIGZpbGVzIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy57Y3Bw
LCBofS4KKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6
IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0
dG8uCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50Ojpwcm9jZXNzSHR0cEVxdWl2KTogVXBkYXRlIGNvZGUgdG8gdXNlIGVudW0gY2xhc3MgQ29u
dGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZS4KKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmRpZEJlZ2luRG9jdW1lbnQp
OiBFeHRyYWN0IGxvZ2ljIHRvIGNvbGxlY3QgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgSFRUUCBo
ZWFkZXJzCisgICAgICAgIGludG8gY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzIGFuZCBtYWtlIHVzZSBvZiBpdCBoZXJlLgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0
OjpoZWFkZXJUeXBlKTogTW9kaWZpZWQgdG8gdXNlIGVudW0gY2xhc3MgQ29udGVudFNlY3VyaXR5
UG9saWN5SGVhZGVyVHlwZS4KKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OkNT
UERpcmVjdGl2ZUxpc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxp
c3Q6OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9s
aWN5OjpyZXNwb25zZUhlYWRlcnMpOiBDcmVhdGVzIGFuZCByZXR1cm5zIGEgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzCisgICAgICAgIG9iamVjdCB3aXRoIHRoZSBwYXJzZWQg
Q1NQIHBvbGljeSBoZWFkZXJzLgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9s
aWN5OjpkaWRSZWNlaXZlSGVhZGVycyk6IFByb2Nlc3NlZCB0aGUgQ1NQIHBvbGljeSBoZWFkZXJz
IHJlcHJlc2VudGVkIGJ5IHRoZQorICAgICAgICBzcGVjaWZpZWQgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1
cml0eVBvbGljeTo6ZGVwcmVjYXRlZEhlYWRlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRlcHJlY2F0ZWRIZWFkZXJUeXBlKTogRGVsZXRlZC4K
KyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaDogRGVmaW5lcyBhIGNs
YXNzIHRoYXQgcmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2YgQ1NQIHBvbGljeSBoZWFkZXJzLgor
ICAgICAgICBUaGlzIGNsYXNzIGhhcyB0d28gcHVycG9zZXM6CisgICAgICAgICAgICAtIEl0IGV4
dHJhY3RzIHRoZSBDU1AgcG9saWN5IGhlYWRlcnMgZnJvbSBhIEhUVFAgcmVzcG9uc2UgKFJlc291
cmNlUmVzcG9uc2Ugb2JqZWN0KS4gV2UgbWFrZSB1c2Ugb2YKKyAgICAgICAgICAgIHRoaXMgZnVu
Y3Rpb25hbGl0eSBpbiBib3RoIEZyYW1lTG9hZGVyOjpkaWRCZWdpbkRvY3VtZW50KCkgYW5kIFdv
cmtlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKCkuCisgICAgICAgICAgICAtIEl0IHNlcnZlcyBhcyBh
IG1lbWVudG8gdGhhdCBleHRlcm5hbGl6ZXMgdGhlIGludGVybmFsIENTUCBwb2xpY3kgZGV0YWls
cyBvZiBhbiBpbnN0YW5jZSBvZgorICAgICAgICAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5LiBX
ZSBtYWtlIHVzZSBvZiB0aGlzIG1lbWVudG8gZnVuY3Rpb25hbGl0eSB0byBzdXBwb3J0IGluaGVy
aXRpbmcgdGhlCisgICAgICAgICAgICBDU1AgcG9saWN5IG9mIHRoZSB3b3JrZXIncyBvd25lciBk
b2N1bWVudCBpbiBhIHRocmVhZC1zYWZlIG1hbm5lci4gWW91IGNhbiBjcmVhdGUgYW5kIHJlc3Rv
cmUKKyAgICAgICAgICAgIGEgbWVtZW50byB1c2luZyBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJl
c3BvbnNlSGVhZGVycygpIGFuZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRpZFJlY2VpdmVIZWFk
ZXJzKCksIHJlc3BlY3RpdmVseS4KKyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVyczo6Q29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzKTogRXh0cmFjdHMgdGhlCisgICAgICAgIENTUCBIVFRQIGhlYWRlcnMgZnJv
bSBhIFJlc291cmNlUmVzcG9uc2Ugb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOjppc29sYXRlZENvcHkpOiBNYWtlIGFuIGNvcHkg
b2YgdGhpcyBvYmplY3QgdGhhdCBpcworICAgICAgICBzYWZlIHRvIHBhc3MgdG8gYW5vdGhlciB0
aHJlYWQuCisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzLmg6IEFkZGVkLgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6
OmNyZWF0ZSk6IE1vZGlmaWVkIHRvIHVzZSBjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMuCisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZS5oOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OkRlZGljYXRlZFdvcmtlclRocmVh
ZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVh
dGVXb3JrZXJHbG9iYWxTY29wZSk6IERpdHRvLgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOiBDcmVhdGUgYSBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgaWYgdGhlIG9yaWdpbiBvZgorICAgICAgICB0aGUg
d29ya2VyJ3Mgc2NyaXB0IGlzIGNhcGFibGUgb2YgcHJvdmlkaW5nIGEgQ1NQLiBPdGhlcndpc2Us
IHdlIHdpbGwgaW5oZXJpdCB0aGUgQ1NQIG9mIHRoZSB3b3JrZXIncyBvd25lcgorICAgICAgICBk
b2N1bWVudCBpbiBXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkuCisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXI6Om5vdGlmeUZpbmlzaGVkKTogUGFzcyB0aGUgYXBwcm9wcmlhdGUgQ1NQIHJlc3BvbnNl
IGhlYWRlcnMgdG8gV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUo
KS4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmFw
cGx5Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKTogUmVuYW1lZDsgZm9ybWVy
bHkgbmFtZWQgYXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lGcm9tU3RyaW5nKCkuCisgICAgICAg
IE1vZGlmaWVkIHRvIHRha2UgYSBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMg
YW5kIGFwcGx5IGl0IHRvIHRoZSBDb250ZW50U2VjdXJpdHlQb2xpY3kgb2JqZWN0IGFzc29jaWF0
ZWQgd2l0aCB0aGUgd29ya2VyLgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6
OmFwcGx5Q29udGVudFNlY3VyaXR5UG9saWN5RnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAg
ICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTWVzc2FnaW5nUHJv
eHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUpOiBQYXNzIHRoZSB3b3JrZXIncyBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgb2JqZWN0LgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRh
OjpXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSk6IEFkZGVkIGZpZWxkIG1fY29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzIHRvIHN0b3JlCisgICAgICAgIHRoZSBDU1AgcmVzcG9uc2Ug
aGVhZGVycyB0byBiZSBhcHBsaWVkIHRvIHRoZSB3b3JrZXIncyBDb250ZW50U2VjdXJpdHlQb2xp
Y3kgb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpXb3JrZXJUaHJlYWQp
OiBNb2RpZmllZCB0byB1c2UgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQpOiBQYXNzIHRoZSBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgb2JqZWN0IGZyb20gdGhlIHN0YXJ0
IHVwIGRhdGEgc3RydWN0CisgICAgICAgIHRvIERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRl
V29ya2VyR2xvYmFsU2NvcGUoKS4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgor
CiAyMDE2LTAxLTI4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW1vdmUgZXF1YWxJZ25vcmluZ0Nhc2Ugc2luY2UgYWxsIGNhbGxlcnMgcmVhbGx5IHdhbnRlZCBl
cXVhbElnbm9yaW5nQVNDSUlDYXNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDU1OWMxYmFhYmY5
YmJmYjU3YmY1Nzk5NTIzNmMxZjU4ZGI3OGU1ZWQuLjQ5NGE5MDQ4MmQ0NjcwMWZiZTc2NGFjYjMz
NzE0NzA1YzgzMGViZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMDY3LDYgKzIwNjcsNyBA
QCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRp
b24uY3BwCiAKICAgICBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisgICAgcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcAogCiAgICAgcGFn
ZS9zY3JvbGxpbmcvQXhpc1Njcm9sbFNuYXBPZmZzZXRzLmNwcAogICAgIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbExhdGNoaW5nU3RhdGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvagppbmRleCAyNDQ3ZmU0OGRkZmJhYTFkY2ZlN2Y5MDgxYWQyZjk5
ODIzM2E0Zjk1Li43OWIyNTdkYTMyMmEyODgzZGE4ODM3NGFlN2EyODM2ZjRhZDI3YzVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTcz
MDQsNiArNzMwNCw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwYWdlXENocm9tZS5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwYWdlXGFuaW1hdGlvblxDb21wb3Np
dGVBbmltYXRpb24uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGFnZVxjc3Bc
Q29udGVudFNlY3VyaXR5UG9saWN5LmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHBhZ2VcY3NwXENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwYWdlXENvbnRleHRNZW51Q29udGV4dC5jcHAiIC8+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwYWdlXENvbnRleHRNZW51Q29udHJvbGxlci5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwYWdlXENyeXB0by5jcHAiIC8+CkBA
IC0yMDcwMCw2ICsyMDcwMSw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwYWdlXENo
cm9tZUNsaWVudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxhbmltYXRp
b25cQ29tcG9zaXRlQW5pbWF0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
YWdlXGNzcFxDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHBhZ2VcY3NwXENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxDb250ZXh0TWVudUNsaWVudC5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGFnZVxDb250ZXh0TWVudUNvbnRleHQuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29udGV4dE1lbnVDb250cm9sbGVy
LmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggNjRkNGJmNWFmM2QzZWEzNGJmYWM3NzA5NTRjNWY4N2Fj
MGMxOGU1Yy4uYzg0MWVjMjBmYzgwOTQ3MWQ2OWM5MjY4MzM3Y2ZhMmY2NWUzYTAyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycwpAQCAtNjgwLDYgKzY4MCw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxw
YWdlXGNzcFxDb250ZW50U2VjdXJpdHlQb2xpY3kuY3BwIj4KICAgICAgIDxGaWx0ZXI+cGFnZVxj
c3A8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHBhZ2VcY3NwXENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5jcHAiPgorICAg
ICAgPEZpbHRlcj5wYWdlXGNzcDwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5ccGFnZVxDb250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIj4KICAgICAg
IDxGaWx0ZXI+cGFnZTwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtNzY2Niw2ICs3NjY5
LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcY3NwXENvbnRlbnRTZWN1cml0
eVBvbGljeS5oIj4KICAgICAgIDxGaWx0ZXI+cGFnZVxjc3A8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcY3NwXENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIj4KKyAgICAgIDxGaWx0ZXI+cGFnZVxjc3A8L0ZpbHRl
cj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBhZ2VcQ29u
dGV4dE1lbnVDbGllbnQuaCI+CiAgICAgICA8RmlsdGVyPnBhZ2U8L0ZpbHRlcj4KICAgICA8L0Ns
SW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCAxMTdjYjM2MzhiYzliMTlkODczZTBiMDMzNjk0ZTg3N2Q0NWRmYWEzLi42
ZGI4ODBhMmMwZjFmYzc0OTU5ZTM0NWZjNmNhODc4MWQ0MTg0YzVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MTYyLDYgKzYx
NjIsOCBAQAogCQlDRTEyNTI1MzFBMUJFQzA2MDA4NjQ0ODAgLyogTlNTdHJpbmdTUEkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMTI1MjUyMUExQkVD
MDYwMDg2NDQ4MCAvKiBOU1N0cmluZ1NQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUNFMTI1MjU1MUExQkVDMEUwMDg2NDQ4MCAvKiBOU1VSTERv
d25sb2FkU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRTEyNTI1NDFBMUJFQzBFMDA4NjQ0ODAgLyogTlNVUkxEb3dubG9hZFNQSS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNFMTI1MjVCMUExQzAx
ODIwMDg2NDQ4MCAvKiBDRk5ldHdvcmtTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENFMTI1MjVBMUExQzAxODIwMDg2NDQ4MCAvKiBDRk5ldHdvcmtT
UEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlD
RTZEQURGOTFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENFNkRBREY3MUM1OTFFNkEwMDNGNkE4OCAvKiBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMuY3BwICovOyB9OworCQlDRTZEQURGQTFDNTkxRTZBMDAzRjZBODggLyogQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTZEQURGODFDNTkxRTZBMDAzRjZBODggLyogQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmggKi87IH07CiAJCUNFN0IyREIzMTU4NkFC
QUQwMDk4QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREFGMTU4NkFCQUQwMDk4QjNG
QSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTdCMkRCNDE1ODZBQkFEMDA5OEIzRkEgLyog
QWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U3QjJEQjAxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0
aXZlVGV4dFVJQ29udHJvbGxlci5tbSAqLzsgfTsKIAkJQ0U3QjJEQjUxNTg2QUJBRDAwOThCM0ZB
IC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U3QjJEQjExNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRl
cm5hdGl2ZVdpdGhSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC0xNDA4NSw2ICsxNDA4Nyw4IEBACiAJCUNFMTI1MjVBMUExQzAxODIwMDg2
NDQ4MCAvKiBDRk5ldHdvcmtTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q0ZOZXR3b3JrU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFNUNCMUIzMTRF
REFCNkYwMEJCMjc5NSAvKiBFdmVudFNlbmRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBFdmVudFNlbmRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRTZE
ODkyOTRDN0FBQ0UwQUQ4OUIzREQgLyogTWF0aE1MTWVuY2xvc2VFbGVtZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hdGhNTE1lbmNsb3NlRWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRTZEQURGNzFDNTkxRTZBMDAzRjZBODggLyogQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5jcHA7
IHBhdGggPSBjc3AvQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U2REFERjgxQzU5MUU2QTAwM0Y2QTg4IC8qIENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaDsgcGF0
aCA9IGNzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U3QjJEQUYxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0
aXZlVGV4dFVJQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
bHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0U3QjJEQjAxNTg2QUJBRDAwOThCM0ZBIC8qIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxl
ci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFsdGVybmF0aXZl
VGV4dFVJQ29udHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U3QjJE
QjExNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyOTQ4LDYgKzIyOTUyLDggQEAKIAkJCWNoaWxk
cmVuID0gKAogCQkJCTk3QzQ3MUQ5MTJGOTI1QkMwMDg2MzU0QiAvKiBDb250ZW50U2VjdXJpdHlQ
b2xpY3kuY3BwICovLAogCQkJCTk3QzQ3MURBMTJGOTI1QkQwMDg2MzU0QiAvKiBDb250ZW50U2Vj
dXJpdHlQb2xpY3kuaCAqLywKKwkJCQlDRTZEQURGNzFDNTkxRTZBMDAzRjZBODggLyogQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcCAqLywKKwkJCQlDRTZEQURGODFDNTkx
RTZBMDAzRjZBODggLyogQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmggKi8s
CiAJCQkpOwogCQkJbmFtZSA9IGNzcDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0y
NDk4Niw2ICsyNDk5Miw3IEBACiAJCQkJNUNERkE2QzgxQUE0RjJEQTAwRUE4NzQ2IC8qIENvbnRl
bnRFeHRlbnNpb25BY3Rpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzkzRjM0RTFBQTZCRjA3
MDBBOThCQUIgLyogQ29udGVudEV4dGVuc2lvbkNvbXBpbGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3Q0ZEQzU3RDFBQzFEODA1MDBFMjRBNTcgLyogQ29udGVudEV4dGVuc2lvbkVycm9yLmggaW4g
SGVhZGVycyAqLywKKwkJCQlDRTZEQURGQTFDNTkxRTZBMDAzRjZBODggLyogQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkYwQzg5ODFB
MkU3MjRCMDAyNzk0RjggLyogQ29udGVudEV4dGVuc2lvblBhcnNlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMjZGMEM4OUMxQTJFQzExMDAwMjc5NEY4IC8qIENvbnRlbnRFeHRlbnNpb25SdWxlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkyNkYwQzhBMDFBMkVDM0JFMDAyNzk0RjggLyogQ29udGVudEV4
dGVuc2lvbnNCYWNrZW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTMxNjc4LDYgKzMxNjg1LDcgQEAK
IAkJCQk3QzQ4QTZEMDE5MUM5RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE1REVCREEzMTZGQjkwODcwMDgzNkZFMCAvKiBXZWJLaXRQbGF5YmFj
a1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxQzBGRjI0
MEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJQ0U2REFERjkxQzU5MUU2QTAwM0Y2QTg4IC8qIENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkNGMzMyRTBGMkI5QTI1
MDA0QjY3OTUgLyogV2ViTGF5ZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzA5RDc4RTFBRTU1
NTU0MDA0RTQyRjggLyogV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwNzA5RDc5MjFBRTU1NTdFMDA0RTQyRjggLyogV2ViTWVkaWFTZXNzaW9uTWFuYWdlck1h
Yy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDk4ZDdhNzUx
MGE1YTExOGM3NTc3NjliZDc5Mjg4ZGUxYTc0NmRiOGUuLjgzZTMwM2VmYjNjZWM2OGJhZDc1YzQz
YjRmZmUxNDA2ZmY4Mzg4M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMzI1OCwxOSAr
MzI1OCwxOSBAQCB2b2lkIERvY3VtZW50Ojpwcm9jZXNzSHR0cEVxdWl2KGNvbnN0IFN0cmluZyYg
ZXF1aXYsIGNvbnN0IFN0cmluZyYgY29udGVudCkKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNl
IEhUVFBIZWFkZXJOYW1lOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6Ci0gICAgICAgIGNvbnRlbnRT
ZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6RW5mb3JjZSk7CisgICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRS
ZWNlaXZlSGVhZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGU6OkVu
Zm9yY2UpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgSFRUUEhlYWRlck5hbWU6OkNvbnRl
bnRTZWN1cml0eVBvbGljeVJlcG9ydE9ubHk6Ci0gICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGlj
eSgpLT5kaWRSZWNlaXZlSGVhZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVw
b3J0KTsKKyAgICAgICAgY29udGVudFNlY3VyaXR5UG9saWN5KCktPmRpZFJlY2VpdmVIZWFkZXIo
Y29udGVudCwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZTo6UmVwb3J0KTsKICAgICAg
ICAgYnJlYWs7CiAKICAgICBjYXNlIEhUVFBIZWFkZXJOYW1lOjpYV2ViS2l0Q1NQOgotICAgICAg
ICBjb250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihjb250ZW50LCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OlByZWZpeGVkRW5mb3JjZSk7CisgICAgICAgIGNvbnRlbnRTZWN1
cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1cml0eVBv
bGljeUhlYWRlclR5cGU6OlByZWZpeGVkRW5mb3JjZSk7CiAgICAgICAgIGJyZWFrOwogCiAgICAg
Y2FzZSBIVFRQSGVhZGVyTmFtZTo6WFdlYktpdENTUFJlcG9ydE9ubHk6Ci0gICAgICAgIGNvbnRl
bnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1
cml0eVBvbGljeTo6UHJlZml4ZWRSZXBvcnQpOworICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xp
Y3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFk
ZXJUeXBlOjpQcmVmaXhlZFJlcG9ydCk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGVlMDQyYjc2ZGRiODdjMDM5
YWJmODdmMzQ1MjAxODEwNzliYjU2M2MuLmMwZTg0ODNlZDU1MzNmN2YwOWQ4MjdjYWVkYzM4NWU5
YjAwMGFmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtNjg1LDIx
ICs2ODUsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpkaWRCZWdpbkRvY3VtZW50KGJvb2wgZGlzcGF0
Y2gpCiAgICAgICAgIGlmICghZG5zUHJlZmV0Y2hDb250cm9sLmlzRW1wdHkoKSkKICAgICAgICAg
ICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+cGFyc2VETlNQcmVmZXRjaENvbnRyb2xIZWFkZXIoZG5z
UHJlZmV0Y2hDb250cm9sKTsKIAotICAgICAgICBTdHJpbmcgcG9saWN5VmFsdWUgPSBtX2RvY3Vt
ZW50TG9hZGVyLT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q29u
dGVudFNlY3VyaXR5UG9saWN5KTsKLSAgICAgICAgaWYgKCFwb2xpY3lWYWx1ZS5pc0VtcHR5KCkp
Ci0gICAgICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgp
LT5kaWRSZWNlaXZlSGVhZGVyKHBvbGljeVZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkVu
Zm9yY2UpOwotCi0gICAgICAgIHBvbGljeVZhbHVlID0gbV9kb2N1bWVudExvYWRlci0+cmVzcG9u
c2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlcG9ydE9ubHkpOwotICAgICAgICBpZiAoIXBvbGljeVZhbHVlLmlzRW1wdHkoKSkKLSAgICAg
ICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmRpZFJl
Y2VpdmVIZWFkZXIocG9saWN5VmFsdWUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0KTsK
LQotICAgICAgICBwb2xpY3lWYWx1ZSA9IG1fZG9jdW1lbnRMb2FkZXItPnJlc3BvbnNlKCkuaHR0
cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpYV2ViS2l0Q1NQKTsKLSAgICAgICAgaWYgKCFw
b2xpY3lWYWx1ZS5pc0VtcHR5KCkpCi0gICAgICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmNv
bnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVyKHBvbGljeVZhbHVlLCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OlByZWZpeGVkRW5mb3JjZSk7Ci0KLSAgICAgICAgcG9saWN5VmFs
dWUgPSBtX2RvY3VtZW50TG9hZGVyLT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVh
ZGVyTmFtZTo6WFdlYktpdENTUFJlcG9ydE9ubHkpOwotICAgICAgICBpZiAoIXBvbGljeVZhbHVl
LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+Y29udGVudFNlY3Vy
aXR5UG9saWN5KCktPmRpZFJlY2VpdmVIZWFkZXIocG9saWN5VmFsdWUsIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6UHJlZml4ZWRSZXBvcnQpOworICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPmNv
bnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVycyhDb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMobV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKSkpOwogCiAg
ICAgICAgIFN0cmluZyBoZWFkZXJDb250ZW50TGFuZ3VhZ2UgPSBtX2RvY3VtZW50TG9hZGVyLT5y
ZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q29udGVudExhbmd1YWdl
KTsKICAgICAgICAgaWYgKCFoZWFkZXJDb250ZW50TGFuZ3VhZ2UuaXNFbXB0eSgpKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAppbmRl
eCA5ZjExMmYwYzQ1N2QxZGJhYWRjMWVhOGMyMjhkNWJkZWI4ZWI2NzVhLi41OTY1ZGJmZjc1YjBm
NzkyZWUzZjU3MDBhYzRkMjI5ZDM3YmY4MTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKQEAgLTc3MSwxMSArNzcxLDExIEBAIHBy
aXZhdGU6CiBjbGFzcyBDU1BEaXJlY3RpdmVMaXN0IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENTUERpcmVjdGl2ZUxp
c3Q+IGNyZWF0ZShDb250ZW50U2VjdXJpdHlQb2xpY3kqLCBjb25zdCBTdHJpbmcmLCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUpOwotICAgIENTUERpcmVjdGl2ZUxpc3QoQ29udGVu
dFNlY3VyaXR5UG9saWN5KiwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlKTsKKyAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENTUERpcmVjdGl2ZUxpc3Q+IGNyZWF0ZShDb250ZW50
U2VjdXJpdHlQb2xpY3kqLCBjb25zdCBTdHJpbmcmLCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFk
ZXJUeXBlKTsKKyAgICBDU1BEaXJlY3RpdmVMaXN0KENvbnRlbnRTZWN1cml0eVBvbGljeSosIENv
bnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGUpOwogCiAgICAgY29uc3QgU3RyaW5nJiBoZWFk
ZXIoKSBjb25zdCB7IHJldHVybiBtX2hlYWRlcjsgfQotICAgIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6SGVhZGVyVHlwZSBoZWFkZXJUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9oZWFkZXJUeXBlOyB9
CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZSBoZWFkZXJUeXBlKCkgY29uc3Qg
eyByZXR1cm4gbV9oZWFkZXJUeXBlOyB9CiAKICAgICBib29sIGFsbG93SmF2YVNjcmlwdFVSTHMo
Y29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRl
eHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7CiAg
ICAgYm9vbCBhbGxvd0lubGluZUV2ZW50SGFuZGxlcnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJM
LCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7CkBAIC04MzUsNyArODM1LDcgQEAgcHJpdmF0
ZToKICAgICBDb250ZW50U2VjdXJpdHlQb2xpY3kqIG1fcG9saWN5OwogCiAgICAgU3RyaW5nIG1f
aGVhZGVyOwotICAgIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBtX2hlYWRlclR5
cGU7CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZSBtX2hlYWRlclR5cGU7CiAK
ICAgICBib29sIG1fcmVwb3J0T25seTsKICAgICBib29sIG1faGF2ZVNhbmRib3hQb2xpY3k7CkBA
IC04NTksMTcgKzg1OSwxNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX2V2YWxEaXNhYmxlZEVy
cm9yTWVzc2FnZTsKIH07CiAKLUNTUERpcmVjdGl2ZUxpc3Q6OkNTUERpcmVjdGl2ZUxpc3QoQ29u
dGVudFNlY3VyaXR5UG9saWN5KiBwb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVy
VHlwZSB0eXBlKQorQ1NQRGlyZWN0aXZlTGlzdDo6Q1NQRGlyZWN0aXZlTGlzdChDb250ZW50U2Vj
dXJpdHlQb2xpY3kqIHBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZSB0eXBl
KQogICAgIDogbV9wb2xpY3kocG9saWN5KQogICAgICwgbV9oZWFkZXJUeXBlKHR5cGUpCiAgICAg
LCBtX3JlcG9ydE9ubHkoZmFsc2UpCiAgICAgLCBtX2hhdmVTYW5kYm94UG9saWN5KGZhbHNlKQog
ICAgICwgbV9yZWZsZWN0ZWRYU1NEaXNwb3NpdGlvbihDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJl
ZmxlY3RlZFhTU1Vuc2V0KQogewotICAgIG1fcmVwb3J0T25seSA9ICh0eXBlID09IENvbnRlbnRT
ZWN1cml0eVBvbGljeTo6UmVwb3J0IHx8IHR5cGUgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpQ
cmVmaXhlZFJlcG9ydCk7CisgICAgbV9yZXBvcnRPbmx5ID0gKHR5cGUgPT0gQ29udGVudFNlY3Vy
aXR5UG9saWN5SGVhZGVyVHlwZTo6UmVwb3J0IHx8IHR5cGUgPT0gQ29udGVudFNlY3VyaXR5UG9s
aWN5SGVhZGVyVHlwZTo6UHJlZml4ZWRSZXBvcnQpOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8Q1NQ
RGlyZWN0aXZlTGlzdD4gQ1NQRGlyZWN0aXZlTGlzdDo6Y3JlYXRlKENvbnRlbnRTZWN1cml0eVBv
bGljeSogcG9saWN5LCBjb25zdCBTdHJpbmcmIGhlYWRlciwgQ29udGVudFNlY3VyaXR5UG9saWN5
OjpIZWFkZXJUeXBlIHR5cGUpCitzdGQ6OnVuaXF1ZV9wdHI8Q1NQRGlyZWN0aXZlTGlzdD4gQ1NQ
RGlyZWN0aXZlTGlzdDo6Y3JlYXRlKENvbnRlbnRTZWN1cml0eVBvbGljeSogcG9saWN5LCBjb25z
dCBTdHJpbmcmIGhlYWRlciwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZSB0eXBlKQog
ewogICAgIGF1dG8gZGlyZWN0aXZlcyA9IHN0ZDo6bWFrZV91bmlxdWU8Q1NQRGlyZWN0aXZlTGlz
dD4ocG9saWN5LCB0eXBlKTsKICAgICBkaXJlY3RpdmVzLT5wYXJzZShoZWFkZXIpOwpAQCAtMTM3
MSw3ICsxMzcxLDIyIEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5Ojpjb3B5U3RhdGVGcm9t
KGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeSogb3RoZXIpCiAgICAgICAgIGRpZFJlY2VpdmVI
ZWFkZXIocG9saWN5LT5oZWFkZXIoKSwgcG9saWN5LT5oZWFkZXJUeXBlKCkpOwogfQogCi12b2lk
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRlcihjb25zdCBTdHJpbmcmIGhl
YWRlciwgSGVhZGVyVHlwZSB0eXBlKQorQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVzcG9uc2VIZWFkZXJzKCkgY29uc3QKK3sKKyAg
ICBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgcmVzdWx0OworICAgIHJlc3Vs
dC5tX2hlYWRlcnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX3BvbGljaWVzLnNpemUoKSk7Cisg
ICAgZm9yIChhdXRvJiBwb2xpY3kgOiBtX3BvbGljaWVzKQorICAgICAgICByZXN1bHQubV9oZWFk
ZXJzLnVuY2hlY2tlZEFwcGVuZCh7IHBvbGljeS0+aGVhZGVyKCksIHBvbGljeS0+aGVhZGVyVHlw
ZSgpIH0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgQ29udGVudFNlY3VyaXR5UG9s
aWN5OjpkaWRSZWNlaXZlSGVhZGVycyhjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmIGhlYWRlcnMpCit7CisgICAgZm9yIChhdXRvJiBoZWFkZXIgOiBoZWFkZXJzLm1f
aGVhZGVycykKKyAgICAgICAgZGlkUmVjZWl2ZUhlYWRlcihoZWFkZXIuZmlyc3QsIGhlYWRlci5z
ZWNvbmQpOworfQorCit2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRl
cihjb25zdCBTdHJpbmcmIGhlYWRlciwgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZSB0
eXBlKQogewogICAgIC8vIFJGQzI2MTYsIHNlY3Rpb24gNC4yIHNwZWNpZmllcyB0aGF0IGhlYWRl
cnMgYXBwZWFyaW5nIG11bHRpcGxlIHRpbWVzIGNhbgogICAgIC8vIGJlIGNvbWJpbmVkIHdpdGgg
YSBjb21tYS4gV2FsayB0aGUgaGVhZGVyIHN0cmluZywgYW5kIHBhcnNlIGVhY2ggY29tbWEKQEAg
LTE0MDMsMTYgKzE0MTgsNiBAQCB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6c2V0T3ZlcnJp
ZGVBbGxvd0lubGluZVN0eWxlKGJvb2wgdmFsdWUpCiAgICAgbV9vdmVycmlkZUlubGluZVN0eWxl
QWxsb3dlZCA9IHZhbHVlOwogfQogCi1jb25zdCBTdHJpbmcmIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6ZGVwcmVjYXRlZEhlYWRlcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcG9saWNpZXMuaXNF
bXB0eSgpID8gZW1wdHlTdHJpbmcoKSA6IG1fcG9saWNpZXNbMF0tPmhlYWRlcigpOwotfQotCi1D
b250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgQ29udGVudFNlY3VyaXR5UG9saWN5Ojpk
ZXByZWNhdGVkSGVhZGVyVHlwZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcG9saWNpZXMuaXNF
bXB0eSgpID8gRW5mb3JjZSA6IG1fcG9saWNpZXNbMF0tPmhlYWRlclR5cGUoKTsKLX0KLQogdGVt
cGxhdGU8Ym9vbCAoQ1NQRGlyZWN0aXZlTGlzdDo6KmFsbG93ZWQpKENvbnRlbnRTZWN1cml0eVBv
bGljeTo6UmVwb3J0aW5nU3RhdHVzKSBjb25zdD4KIGJvb2wgaXNBbGxvd2VkQnlBbGwoY29uc3Qg
Q1NQRGlyZWN0aXZlTGlzdFZlY3RvciYgcG9saWNpZXMsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
UmVwb3J0aW5nU3RhdHVzIHJlcG9ydGluZ1N0YXR1cykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKaW5kZXggY2VkZjFlMjNmMWEyMjVlOWM4
NGNjOTBiZjVlZmYwNWZkMzYyYzI5MS4uYWIzY2IzNDJiODU0NWI1YTExZWY2ZjEyNzFiNTI5ZDY5
Zjc4MjZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3Vy
aXR5UG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5
UG9saWN5LmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgQ29udGVudFNlY3VyaXR5UG9saWN5
X2gKICNkZWZpbmUgQ29udGVudFNlY3VyaXR5UG9saWN5X2gKIAorI2luY2x1ZGUgIkNvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1
ZGUgIlNjcmlwdFN0YXRlLmgiCiAjaW5jbHVkZSA8bWVtb3J5PgpAQCAtNTYsMTMgKzU3LDYgQEAg
cHVibGljOgogCiAgICAgdm9pZCBjb3B5U3RhdGVGcm9tKGNvbnN0IENvbnRlbnRTZWN1cml0eVBv
bGljeSopOwogCi0gICAgZW51bSBIZWFkZXJUeXBlIHsKLSAgICAgICAgUmVwb3J0LAotICAgICAg
ICBFbmZvcmNlLAotICAgICAgICBQcmVmaXhlZFJlcG9ydCwKLSAgICAgICAgUHJlZml4ZWRFbmZv
cmNlCi0gICAgfTsKLQogICAgIGVudW0gY2xhc3MgUmVwb3J0aW5nU3RhdHVzIHsKICAgICAgICAg
U2VuZFJlcG9ydCwKICAgICAgICAgU3VwcHJlc3NSZXBvcnQKQEAgLTc3LDEyICs3MSw5IEBAIHB1
YmxpYzoKICAgICAgICAgQmxvY2tSZWZsZWN0ZWRYU1MKICAgICB9OwogCi0gICAgdm9pZCBkaWRS
ZWNlaXZlSGVhZGVyKGNvbnN0IFN0cmluZyYsIEhlYWRlclR5cGUpOwotCi0gICAgLy8gVGhlc2Ug
ZnVuY3Rpb25zIGFyZSB3cm9uZyBiZWNhdXNlIHRoZXkgYXNzdW1lIHRoYXQgdGhlcmUgaXMgb25s
eSBvbmUgaGVhZGVyLgotICAgIC8vIEZJWE1FOiBSZXBsYWNlIHRoZW0gd2l0aCBmdW5jdGlvbnMg
dGhhdCByZXR1cm4gdmVjdG9ycy4KLSAgICBjb25zdCBTdHJpbmcmIGRlcHJlY2F0ZWRIZWFkZXIo
KSBjb25zdDsKLSAgICBIZWFkZXJUeXBlIGRlcHJlY2F0ZWRIZWFkZXJUeXBlKCkgY29uc3Q7Cisg
ICAgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIHJlc3BvbnNlSGVhZGVycygp
IGNvbnN0OworICAgIHZvaWQgZGlkUmVjZWl2ZUhlYWRlcnMoY29uc3QgQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzJik7CisgICAgdm9pZCBkaWRSZWNlaXZlSGVhZGVyKGNvbnN0
IFN0cmluZyYsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGUpOwogCiAgICAgYm9vbCBh
bGxvd0phdmFTY3JpcHRVUkxzKGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpP
cmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgYm9vbCBvdmVycmlkZUNvbnRlbnRTZWN1cml0eVBv
bGljeSA9IGZhbHNlLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyA9IENv
bnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0aW5nU3RhdHVzOjpTZW5kUmVwb3J0KSBjb25zdDsK
ICAgICBib29sIGFsbG93SW5saW5lRXZlbnRIYW5kbGVycyhjb25zdCBTdHJpbmcmIGNvbnRleHRV
UkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUsIGJvb2wgb3ZlcnJpZGVD
b250ZW50U2VjdXJpdHlQb2xpY3kgPSBmYWxzZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBv
cnRpbmdTdGF0dXMgPSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1czo6U2Vu
ZFJlcG9ydCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wYjY3YjkxZDQyNGYyMGFlZTljY2JjYzcwMjM2ODdhNGE4OGU1MWI2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzLmNwcApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5o
IgorCisjaW5jbHVkZSAiSFRUUEhlYWRlck5hbWVzLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNw
b25zZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVyczo6Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQoreworICAgIFN0cmluZyBwb2xpY3lWYWx1ZSA9
IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q29udGVudFNlY3VyaXR5
UG9saWN5KTsKKyAgICBpZiAoIXBvbGljeVZhbHVlLmlzRW1wdHkoKSkKKyAgICAgICAgbV9oZWFk
ZXJzLmFwcGVuZCh7IHBvbGljeVZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJUeXBl
OjpFbmZvcmNlIH0pOworCisgICAgcG9saWN5VmFsdWUgPSByZXNwb25zZS5odHRwSGVhZGVyRmll
bGQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRTZWN1cml0eVBvbGljeVJlcG9ydE9ubHkpOworICAg
IGlmICghcG9saWN5VmFsdWUuaXNFbXB0eSgpKQorICAgICAgICBtX2hlYWRlcnMuYXBwZW5kKHsg
cG9saWN5VmFsdWUsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGU6OlJlcG9ydCB9KTsK
KworICAgIHBvbGljeVZhbHVlID0gcmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJO
YW1lOjpYV2ViS2l0Q1NQKTsKKyAgICBpZiAoIXBvbGljeVZhbHVlLmlzRW1wdHkoKSkKKyAgICAg
ICAgbV9oZWFkZXJzLmFwcGVuZCh7IHBvbGljeVZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xpY3lI
ZWFkZXJUeXBlOjpQcmVmaXhlZEVuZm9yY2UgfSk7CisKKyAgICBwb2xpY3lWYWx1ZSA9IHJlc3Bv
bnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6WFdlYktpdENTUFJlcG9ydE9ubHkp
OworICAgIGlmICghcG9saWN5VmFsdWUuaXNFbXB0eSgpKQorICAgICAgICBtX2hlYWRlcnMuYXBw
ZW5kKHsgcG9saWN5VmFsdWUsIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclR5cGU6OlByZWZp
eGVkUmVwb3J0IH0pOworfQorCitDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOjppc29sYXRlZENvcHkoKSBjb25z
dAoreworICAgIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyBpc29sYXRlZENv
cHk7CisgICAgaXNvbGF0ZWRDb3B5Lm1faGVhZGVycy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1f
aGVhZGVycy5zaXplKCkpOworICAgIGZvciAoYXV0byYgaGVhZGVyIDogbV9oZWFkZXJzKQorICAg
ICAgICBpc29sYXRlZENvcHkubV9oZWFkZXJzLnVuY2hlY2tlZEFwcGVuZCh7IGhlYWRlci5maXJz
dC5pc29sYXRlZENvcHkoKSwgaGVhZGVyLnNlY29uZCB9KTsKKyAgICByZXR1cm4gaXNvbGF0ZWRD
b3B5OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjUwYzdjNGE3ZmUyZjA2MzI1MmU0Njc4MjYxNDVhN2VkOGE0NDcxOTYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnNfaAorI2RlZmluZSBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnNfaAorCisjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeTsKK2NsYXNzIFJlc291cmNlUmVz
cG9uc2U7CisKK2VudW0gY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZSB7Cisg
ICAgUmVwb3J0LAorICAgIEVuZm9yY2UsCisgICAgUHJlZml4ZWRSZXBvcnQsCisgICAgUHJlZml4
ZWRFbmZvcmNlLAorfTsKKworY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzIHsKK3B1YmxpYzoKKyAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMo
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOworCisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCitwcml2YXRlOgorICAgIGZyaWVu
ZCBjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3k7CisKKyAgICBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMoKSA9IGRlZmF1bHQ7CisKKyAgICBWZWN0b3I8c3RkOjpwYWlyPFN0
cmluZywgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVHlwZT4+IG1faGVhZGVyczsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8qIENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVyc19oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDE1ZjAxNGU1ODVhNDk0MDdlZDdm
MDA3OWQ2NzAxNWQxYTAyMjk5NTkuLjkxYzdmMjMxMWI4MmYwNTJiNmE0OGZkYTcwZGI0MTRkZGUy
YzU2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCIKIAorI2luY2x1ZGUgIkNv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUgIkRPTVdpbmRv
dy5oIgogI2luY2x1ZGUgIkRlZGljYXRlZFdvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgIk1lc3Nh
Z2VFdmVudC5oIgpAQCAtMzksMTAgKzQwLDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
UmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZTo6Y3JlYXRlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgRGVkaWNh
dGVkV29ya2VyVGhyZWFkJiB0aHJlYWQsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9s
aWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNlY3VyaXR5UG9s
aWN5VHlwZSwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKQorUmVmPERlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRl
KGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgRGVkaWNhdGVkV29ya2Vy
VGhyZWFkJiB0aHJlYWQsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBQYXNzUmVmUHRyPFNlY3Vy
aXR5T3JpZ2luPiB0b3BPcmlnaW4pCiB7CiAgICAgUmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlPiBjb250ZXh0ID0gYWRvcHRSZWYoKm5ldyBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSh1
cmwsIHVzZXJBZ2VudCwgdGhyZWFkLCB0b3BPcmlnaW4pKTsKLSAgICBjb250ZXh0LT5hcHBseUNv
bnRlbnRTZWN1cml0eVBvbGljeUZyb21TdHJpbmcoY29udGVudFNlY3VyaXR5UG9saWN5LCBjb250
ZW50U2VjdXJpdHlQb2xpY3lUeXBlKTsKKyAgICBjb250ZXh0LT5hcHBseUNvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMpOwogICAgIHJldHVybiBjb250ZXh0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggZjFmZDk2OWNjODYxMDYy
YzcxYzI5OTMyY2VjMjdhNTI4ZDcyMmZmMC4uMjliNzIyYTBkNzUzMmY3YTUzMDdmN2QwNjgzZjQ0
ZGQxM2NjY2Y5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMzEsMTggKzMxLDE4IEBACiAjaWZuZGVmIERlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlX2gKICNkZWZpbmUgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVf
aAogCi0jaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiTWVzc2Fn
ZVBvcnQuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKKyAgICBjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7
CiAgICAgY2xhc3MgRGVkaWNhdGVkV29ya2VyVGhyZWFkOwogCiAgICAgY2xhc3MgRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGUgOiBwdWJsaWMgV29ya2VyR2xvYmFsU2NvcGUgewogICAgIHB1Ymxp
YzoKICAgICAgICAgdHlwZWRlZiBXb3JrZXJHbG9iYWxTY29wZSBCYXNlOwotICAgICAgICBzdGF0
aWMgUmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGUoY29uc3QgVVJMJiwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIERlZGljYXRlZFdvcmtlclRocmVhZCYsIGNvbnN0IFN0cmlu
ZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5
cGUgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4g
dG9wT3JpZ2luKTsKKyAgICAgICAgc3RhdGljIFJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZT4gY3JlYXRlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBEZWRpY2F0ZWRX
b3JrZXJUaHJlYWQmLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMm
LCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW4pOwogICAgICAgICB2aXJ0dWFs
IH5EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSgpOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBp
c0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1
ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJU
aHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQu
Y3BwCmluZGV4IGJkNDEzMzBjYjNlOGFkNGE4Y2JmMTc1NmU0NzdmNjNmYjU5ZmE2MTYuLjNiZDFi
YTdiZmI3NjA3NmU2NmZjZDNiNTIxOGZmNjE5NjI3MmM0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKQEAgLTMyLDE5ICszMiwyMCBA
QAogCiAjaW5jbHVkZSAiRGVkaWNhdGVkV29ya2VyVGhyZWFkLmgiCiAKKyNpbmNsdWRlICJDb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVk
ZSAiV29ya2VyT2JqZWN0UHJveHkuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWY8RGVk
aWNhdGVkV29ya2VyVGhyZWFkPiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShjb25zdCBV
UkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291
cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJPYmpl
Y3RQcm94eSYgd29ya2VyT2JqZWN0UHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1v
ZGUsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgY29uc3QgU2VjdXJp
dHlPcmlnaW4qIHRvcE9yaWdpbikKK1JlZjxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ+IERlZGljYXRl
ZFdvcmtlclRocmVhZDo6Y3JlYXRlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYg
d29ya2VyTG9hZGVyUHJveHksIFdvcmtlck9iamVjdFByb3h5JiB3b3JrZXJPYmplY3RQcm94eSwg
V29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMs
IGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgRGVkaWNhdGVkV29ya2VyVGhyZWFkKHNjcmlwdFVSTCwgdXNlckFnZW50LCBzb3VyY2VD
b2RlLCB3b3JrZXJMb2FkZXJQcm94eSwgd29ya2VyT2JqZWN0UHJveHksIHN0YXJ0TW9kZSwgY29u
dGVudFNlY3VyaXR5UG9saWN5LCBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCB0b3BPcmlnaW4p
KTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoc2NyaXB0
VVJMLCB1c2VyQWdlbnQsIHNvdXJjZUNvZGUsIHdvcmtlckxvYWRlclByb3h5LCB3b3JrZXJPYmpl
Y3RQcm94eSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMs
IHRvcE9yaWdpbikpOwogfQogCi1EZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OkRlZGljYXRlZFdvcmtl
clRocmVhZChjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0
cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBX
b3JrZXJPYmplY3RQcm94eSYgd29ya2VyT2JqZWN0UHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9k
ZSBzdGFydE1vZGUsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgY29u
c3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbikKLSAgICA6IFdvcmtlclRocmVhZCh1cmwsIHVz
ZXJBZ2VudCwgc291cmNlQ29kZSwgd29ya2VyTG9hZGVyUHJveHksIHdvcmtlck9iamVjdFByb3h5
LCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgY29udGVudFNlY3VyaXR5UG9saWN5
VHlwZSwgdG9wT3JpZ2luKQorRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29y
a2VyT2JqZWN0UHJveHkmIHdvcmtlck9iamVjdFByb3h5LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUg
c3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgY29uc3QgU2VjdXJpdHlPcmlnaW4q
IHRvcE9yaWdpbikKKyAgICA6IFdvcmtlclRocmVhZCh1cmwsIHVzZXJBZ2VudCwgc291cmNlQ29k
ZSwgd29ya2VyTG9hZGVyUHJveHksIHdvcmtlck9iamVjdFByb3h5LCBzdGFydE1vZGUsIGNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgdG9wT3JpZ2luKQogICAgICwgbV93b3Jr
ZXJPYmplY3RQcm94eSh3b3JrZXJPYmplY3RQcm94eSkKIHsKIH0KQEAgLTUzLDkgKzU0LDkgQEAg
RGVkaWNhdGVkV29ya2VyVGhyZWFkOjp+RGVkaWNhdGVkV29ya2VyVGhyZWFkKCkKIHsKIH0KIAot
UmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29u
c3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCBQYXNzUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPiB0b3BPcmlnaW4pCitSZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtl
clRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgUGFzc1JlZlB0cjxTZWN1
cml0eU9yaWdpbj4gdG9wT3JpZ2luKQogewotICAgIHJldHVybiBEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZTo6Y3JlYXRlKHVybCwgdXNlckFnZW50LCAqdGhpcywgY29udGVudFNlY3VyaXR5UG9s
aWN5LCBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCB0b3BPcmlnaW4pOworICAgIHJldHVybiBE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHVybCwgdXNlckFnZW50LCAqdGhpcywg
Y29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCB0b3BPcmlnaW4pOwogfQogCiB2
b2lkIERlZGljYXRlZFdvcmtlclRocmVhZDo6cnVuRXZlbnRMb29wKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5oCmluZGV4IGI1NjZlM2I4YTllMzY4
ZGQ0NDcwMTQxZGM1MDA5YWU4MmJiNjNkOTEuLjg1OTRlZjdhZGFmMWEyZWI1MmMzODRlN2Y5ZWE3
NzA2OGRkNjQ1ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQuaApAQCAtMzAsMjUgKzMwLDI1IEBACiAjaWZuZGVmIERlZGljYXRlZFdvcmtlclRo
cmVhZF9oCiAjZGVmaW5lIERlZGljYXRlZFdvcmtlclRocmVhZF9oCiAKLSNpbmNsdWRlICJDb250
ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCisgICAgY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzOwogICAgIGNsYXNzIFdvcmtlck9iamVjdFByb3h5OwogCiAgICAgY2xhc3MgRGVkaWNh
dGVkV29ya2VyVGhyZWFkIDogcHVibGljIFdvcmtlclRocmVhZCB7CiAgICAgcHVibGljOgotICAg
ICAgICBzdGF0aWMgUmVmPERlZGljYXRlZFdvcmtlclRocmVhZD4gY3JlYXRlKGNvbnN0IFVSTCYg
c2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VD
b2RlLCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlck9iamVjdFByb3h5JiwgV29ya2VyVGhyZWFk
U3RhcnRNb2RlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNl
Y3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlLCBjb25zdCBTZWN1cml0eU9yaWdpbiogdG9wT3JpZ2lu
KTsKKyAgICAgICAgc3RhdGljIFJlZjxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ+IGNyZWF0ZShjb25z
dCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYg
c291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJPYmplY3RQcm94eSYsIFdvcmtl
clRocmVhZFN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbik7CiAgICAgICAgIFdvcmtlck9i
amVjdFByb3h5JiB3b3JrZXJPYmplY3RQcm94eSgpIGNvbnN0IHsgcmV0dXJuIG1fd29ya2VyT2Jq
ZWN0UHJveHk7IH0KICAgICAgICAgdmlydHVhbCB+RGVkaWNhdGVkV29ya2VyVGhyZWFkKCk7CiAK
ICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBj
cmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6SGVhZGVyVHlwZSwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKSBv
dmVycmlkZTsKKyAgICAgICAgdmlydHVhbCBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdv
cmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBQYXNzUmVmUHRyPFNlY3Vy
aXR5T3JpZ2luPiB0b3BPcmlnaW4pIG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVu
RXZlbnRMb29wKCkgb3ZlcnJpZGU7CiAKICAgICBwcml2YXRlOgotICAgICAgICBEZWRpY2F0ZWRX
b3JrZXJUaHJlYWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0
cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJPYmplY3RQcm94eSYs
IFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSwgY29uc3QgU2VjdXJpdHlPcmln
aW4qIHRvcE9yaWdpbik7CisgICAgICAgIERlZGljYXRlZFdvcmtlclRocmVhZChjb25zdCBVUkwm
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3Jr
ZXJMb2FkZXJQcm94eSYsIFdvcmtlck9iamVjdFByb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2Rl
LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBjb25zdCBTZWN1
cml0eU9yaWdpbiogdG9wT3JpZ2luKTsKIAogICAgICAgICBXb3JrZXJPYmplY3RQcm94eSYgbV93
b3JrZXJPYmplY3RQcm94eTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4
IDQxZjBhNWJiMWI4ZTU3MDk4MTc4OTBmZGJmYjExNWQ2NWYwNTFkYzUuLjkxMGRkOGJlODdmYjYz
ZGRiYjA3MDRjNzdhNzg4MmRjZDc4YzJhNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAK
QEAgLTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkNh
Y2hlZFJlc291cmNlTG9hZGVyLmgiCisjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5Lmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudExpc3RlbmVyLmgiCiAjaW5j
bHVkZSAiRXZlbnROYW1lcy5oIgpAQCAtNDAsNiArNDEsNyBAQAogI2luY2x1ZGUgIkluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5oIgogI2luY2x1ZGUg
Ik5ldHdvcmtTdGF0ZU5vdGlmaWVyLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNp
bmNsdWRlICJUZXh0RW5jb2RpbmcuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZVByb3h5
LmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCkBAIC0xNTAsOCArMTUyLDExIEBA
IHZvaWQgV29ya2VyOjpub3RpZnlOZXR3b3JrU3RhdGVDaGFuZ2UoYm9vbCBpc09uTGluZSkKICAg
ICBtX2NvbnRleHRQcm94eS0+bm90aWZ5TmV0d29ya1N0YXRlQ2hhbmdlKGlzT25MaW5lKTsKIH0K
IAotdm9pZCBXb3JrZXI6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKQordm9pZCBXb3JrZXI6OmRpZFJlY2VpdmVSZXNw
b25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlKQogeworICAgIGNvbnN0IFVSTCYgcmVzcG9uc2VVUkwgPSByZXNwb25zZS51cmwoKTsK
KyAgICBpZiAoIXJlc3BvbnNlVVJMLnByb3RvY29sSXMoImJsb2IiKSAmJiAhcmVzcG9uc2VVUkwu
cHJvdG9jb2xJcygiZmlsZSIpICYmICFTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHJlc3BvbnNlVVJM
KS0+aXNVbmlxdWUoKSkKKyAgICAgICAgbV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMgPSBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMocmVzcG9uc2UpOwog
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVNjcmlwdFJlc3BvbnNlKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgaWRlbnRpZmllcik7CiB9CiAKQEAgLTE2MCw4ICsxNjUs
OCBAQCB2b2lkIFdvcmtlcjo6bm90aWZ5RmluaXNoZWQoKQogICAgIGlmIChtX3NjcmlwdExvYWRl
ci0+ZmFpbGVkKCkpCiAgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkuZXJyb3JFdmVudCwgZmFsc2UsIHRydWUpKTsKICAgICBlbHNlIHsKLSAgICAgICAgV29y
a2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSA9IERvbnRQYXVzZVdvcmtlckdsb2JhbFNjb3Bl
T25TdGFydDsKLSAgICAgICAgbV9jb250ZXh0UHJveHktPnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUo
bV9zY3JpcHRMb2FkZXItPnVybCgpLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnVzZXJBZ2Vu
dChtX3NjcmlwdExvYWRlci0+dXJsKCkpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIHN0YXJ0
TW9kZSk7CisgICAgICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzID0gbV9jb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgPyBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycy52YWx1ZSgpIDogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5jb250ZW50U2VjdXJp
dHlQb2xpY3koKS0+cmVzcG9uc2VIZWFkZXJzKCk7CisgICAgICAgIG1fY29udGV4dFByb3h5LT5z
dGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT51cmwoKSwgc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwgbV9zY3JpcHRM
b2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIERv
bnRQYXVzZVdvcmtlckdsb2JhbFNjb3BlT25TdGFydCk7CiAgICAgICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBtX3Nj
cmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkpOwogICAg
IH0KICAgICBtX3NjcmlwdExvYWRlciA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaApp
bmRleCAwOTg1NzUxOTEwYjRlOTIyZGQwNWZiMDNjMjMwZTBmZDFmOTIwZGNmLi5jZDNkMTExMjIy
Yzg0MWIyZTA0ZThmYTk3NmQzOWFlMjA4NWJiOGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgK
QEAgLTI5LDExICsyOSwxMyBAQAogCiAjaW5jbHVkZSAiQWJzdHJhY3RXb3JrZXIuaCIKICNpbmNs
dWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAi
RXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgogI2luY2x1ZGUgIldvcmtl
clNjcmlwdExvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVk
ZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgpA
QCAtODMsNiArODUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgUmVmUHRyPFdv
cmtlclNjcmlwdExvYWRlcj4gbV9zY3JpcHRMb2FkZXI7CiAgICAgICAgIFdvcmtlckdsb2JhbFNj
b3BlUHJveHkqIG1fY29udGV4dFByb3h5OyAvLyBUaGUgcHJveHkgb3V0bGl2ZXMgdGhlIHdvcmtl
ciB0byBwZXJmb3JtIHRocmVhZCBzaHV0ZG93bi4KKyAgICAgICAgT3B0aW9uYWw8Q29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzPiBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVyczsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDMwMjdhNTI2MDU0ZDUx
Mzg5ZDk4ZTZmNzE0ZGZjZGIwMWY3ZmNkYTEuLmM2ZmNmMmRkYzYwZjVkNDI2NzNlYjhiMmZlNmY0
ZWRlOWRjM2MyNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xv
YmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGUuY3BwCkBAIC04NSwxMCArODUsMTAgQEAgV29ya2VyR2xvYmFsU2NvcGU6On5Xb3JrZXJHbG9i
YWxTY29wZSgpCiAgICAgdGhyZWFkKCkud29ya2VyUmVwb3J0aW5nUHJveHkoKS53b3JrZXJHbG9i
YWxTY29wZURlc3Ryb3llZCgpOwogfQogCi12b2lkIFdvcmtlckdsb2JhbFNjb3BlOjphcHBseUNv
bnRlbnRTZWN1cml0eVBvbGljeUZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBwb2xpY3ksIENvbnRl
bnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlKQor
dm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6YXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMoY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMpCiB7CiAgICAgc2V0Q29udGVudFNlY3Vy
aXR5UG9saWN5KHN0ZDo6bWFrZV91bmlxdWU8Q29udGVudFNlY3VyaXR5UG9saWN5Pih0aGlzKSk7
Ci0gICAgY29udGVudFNlY3VyaXR5UG9saWN5KCktPmRpZFJlY2VpdmVIZWFkZXIocG9saWN5LCBj
b250ZW50U2VjdXJpdHlQb2xpY3lUeXBlKTsKKyAgICBjb250ZW50U2VjdXJpdHlQb2xpY3koKS0+
ZGlkUmVjZWl2ZUhlYWRlcnMoY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKTsK
IH0KIAogVVJMIFdvcmtlckdsb2JhbFNjb3BlOjpjb21wbGV0ZVVSTChjb25zdCBTdHJpbmcmIHVy
bCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRl
eCAyYWNlZmNlZjU1YzgxMWZhMjFkNjIyMGM5NTIzODZkMWUwZTExZmUzLi5kNGRiMzUxNDJmYzEy
NjRiOTY0NjNmNGMwODEwNDcwM2ZkMTcwMzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5oCkBAIC0yNyw3ICsyNyw2IEBACiAjaWZuZGVmIFdvcmtlckdsb2Jh
bFNjb3BlX2gKICNkZWZpbmUgV29ya2VyR2xvYmFsU2NvcGVfaAogCi0jaW5jbHVkZSAiQ29udGVu
dFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUg
IkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAt
NDUsNiArNDQsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQmxvYjsKKyAg
ICBjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7CiAgICAgY2xhc3Mg
U2NoZWR1bGVkQWN0aW9uOwogICAgIGNsYXNzIFdvcmtlckxvY2F0aW9uOwogICAgIGNsYXNzIFdv
cmtlck5hdmlnYXRvcjsKQEAgLTEzMSw3ICsxMzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBXb3JrZXJUaHJlYWQmLCBQYXNzUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPiB0b3BPcmlnaW4pOwotICAgICAgICB2b2lkIGFwcGx5Q29udGVudFNlY3VyaXR5UG9s
aWN5RnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlKTsKKyAgICAgICAgdm9pZCBhcHBseUNvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyhjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmKTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9D
b25zb2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNj
cmlwdENhbGxTdGFjaz4mJikgb3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgYWRkTWVzc2FnZVRvV29y
a2VyQ29uc29sZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2ln
bmVkIGNvbHVtbk51bWJlciwgUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPiYmLCBK
U0M6OkV4ZWNTdGF0ZSogPSAwLCB1bnNpZ25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJv
eHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCmlu
ZGV4IGY1ZmJmNGY1OTMzMGQxNjQ2ZTZlNDE4YzA2N2FmMGQwZWU3MmI1MDguLjZiZDg4YzRiMmQw
YTg1YzQ3ZTQ3NTQ0MDczZjc2Mjg5MWY5ZmZlNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCkBAIC0zOCw2ICszOCw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorICAgIGNsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVyczsKICAgICBjbGFzcyBVUkw7CiAgICAgY2xhc3MgV29ya2VyOwogCkBAIC00OCw3ICs0
OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIH5Xb3JrZXJHbG9i
YWxTY29wZVByb3h5KCkgeyB9CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xv
YmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBj
b25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSkgPSAwOworICAg
ICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlw
dFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgV29ya2VyVGhyZWFk
U3RhcnRNb2RlKSA9IDA7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHRlcm1pbmF0ZVdvcmtlckds
b2JhbFNjb3BlKCkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuY3BwCmluZGV4IDg0NTZhYmJjZmUyZTk1NTVhYTc1YjlmNWYxNTVmOTI3NjVj
M2U5ODYuLjY5OWU5Yjc3ZjdiZjE2NWY5ZTk4MGEwNTYzZTdjNDk5MzU5Zjc3ZGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC03Miwx
MiArNzIsMTIgQEAgV29ya2VyTWVzc2FnaW5nUHJveHk6On5Xb3JrZXJNZXNzYWdpbmdQcm94eSgp
CiAgICAgICAgIHx8IChpczxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCkgJiYgY3VycmVudFRocmVhZCgpID09IGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPigq
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJlYWQoKS50aHJlYWRJRCgpKSk7CiB9CiAKLXZv
aWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJM
JiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJj
ZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUpCit2b2lkIFdvcmtlck1lc3Nh
Z2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycywgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSkKIHsKICAg
ICAvLyBGSVhNRTogVGhpcyBuZWVkIHRvIGJlIHJldmlzaXRlZCB3aGVuIHdlIHN1cHBvcnQgbmVz
dGVkIHdvcmtlciBvbmUgZGF5CiAgICAgQVNTRVJUKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7
CiAgICAgRG9jdW1lbnQmIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KCptX3NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpOwotICAgIFJlZlB0cjxEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ+IHRocmVh
ZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNjcmlwdFVSTCwgdXNlckFnZW50LCBz
b3VyY2VDb2RlLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgZG9jdW1lbnQuY29udGVudFNlY3Vy
aXR5UG9saWN5KCktPmRlcHJlY2F0ZWRIZWFkZXIoKSwgZG9jdW1lbnQuY29udGVudFNlY3VyaXR5
UG9saWN5KCktPmRlcHJlY2F0ZWRIZWFkZXJUeXBlKCksIGRvY3VtZW50LnRvcE9yaWdpbigpKTsK
KyAgICBSZWZQdHI8RGVkaWNhdGVkV29ya2VyVGhyZWFkPiB0aHJlYWQgPSBEZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQ6OmNyZWF0ZShzY3JpcHRVUkwsIHVzZXJBZ2VudCwgc291cmNlQ29kZSwgKnRoaXMs
ICp0aGlzLCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
ZG9jdW1lbnQudG9wT3JpZ2luKCkpOwogICAgIHdvcmtlclRocmVhZENyZWF0ZWQodGhyZWFkKTsK
ICAgICB0aHJlYWQtPnN0YXJ0KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggZWI3YWY1ODRlNjZkNjI4Yjc1MzI1M2M3NTM1NjljOTRi
YWI1OGE1OC4uYWE1Yjg5MWE4MjRmZTM3MWQ2ODU4MDAyMzAxZTViMmE2ZjIwYTBmNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtNDAsNiAr
NDAsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyAgICBjbGFzcyBDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7CiAgICAgY2xhc3MgRGVkaWNhdGVkV29ya2VyVGhyZWFk
OwogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwpA
QCAtNTEsNyArNTIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgLy8gSW1wbGVt
ZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAgICAgICAgIC8vIChPbmx5IHVz
ZSB0aGVzZSBtZXRob2RzIGluIHRoZSB3b3JrZXIgb2JqZWN0IHRocmVhZC4pCi0gICAgICAgIHZp
cnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJU
aHJlYWRTdGFydE1vZGUpIG92ZXJyaWRlOworICAgICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3Jr
ZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzJiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlKSBvdmVycmlkZTsKICAgICAg
ICAgdmlydHVhbCB2b2lkIHRlcm1pbmF0ZVdvcmtlckdsb2JhbFNjb3BlKCkgb3ZlcnJpZGU7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xvYmFsU2NvcGUoUGFzc1Jl
ZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBzdGQ6OnVuaXF1ZV9wdHI8TWVzc2FnZVBvcnRD
aGFubmVsQXJyYXk+KSBvdmVycmlkZTsKICAgICAgICAgdmlydHVhbCBib29sIGhhc1BlbmRpbmdB
Y3Rpdml0eSgpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuY3BwCmluZGV4IGM3N2VhOWMzMzQxMWM5MjAwMjI3MWM5MzA4YTk2N2UzZGRlMzQ1MzUuLjgx
MjIzODA1Y2Q3NzEzNTAwN2JmYzhiZjY5ZTliOTc1ODhjZmI0OTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIldv
cmtlclRocmVhZC5oIgogCisjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzLmgiCiAjaW5jbHVkZSAiRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNs
dWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKQEAg
LTY5LDMzICs3MCwzMSBAQCB1bnNpZ25lZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZENvdW50
KCkKIHN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKLSAgICBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29y
a2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5
cGUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pOworICAgIFdvcmtlclRocmVhZFN0
YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGNvbnN0IFNlY3VyaXR5T3JpZ2lu
KiB0b3BPcmlnaW4pOwogCiAgICAgVVJMIG1fc2NyaXB0VVJMOwogICAgIFN0cmluZyBtX3VzZXJB
Z2VudDsKICAgICBTdHJpbmcgbV9zb3VyY2VDb2RlOwogICAgIFdvcmtlclRocmVhZFN0YXJ0TW9k
ZSBtX3N0YXJ0TW9kZTsKLSAgICBTdHJpbmcgbV9jb250ZW50U2VjdXJpdHlQb2xpY3k7Ci0gICAg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIG1fY29udGVudFNlY3VyaXR5UG9saWN5
VHlwZTsKKyAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgbV9jb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7CiAgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2lu
PiBtX3RvcE9yaWdpbjsKIH07CiAKLVdvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0
TW9kZSwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCBjb25zdCBTZWN1
cml0eU9yaWdpbiogdG9wT3JpZ2luKQorV29ya2VyVGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRo
cmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJB
Z2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3Rh
cnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRv
cE9yaWdpbikKICAgICA6IG1fc2NyaXB0VVJMKHNjcmlwdFVSTC5pc29sYXRlZENvcHkoKSkKICAg
ICAsIG1fdXNlckFnZW50KHVzZXJBZ2VudC5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fc291cmNl
Q29kZShzb3VyY2VDb2RlLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9zdGFydE1vZGUoc3RhcnRN
b2RlKQotICAgICwgbV9jb250ZW50U2VjdXJpdHlQb2xpY3koY29udGVudFNlY3VyaXR5UG9saWN5
Lmlzb2xhdGVkQ29weSgpKQotICAgICwgbV9jb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlKGNvbnRl
bnRTZWN1cml0eVBvbGljeVR5cGUpCisgICAgLCBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaXNvbGF0ZWRD
b3B5KCkpCiAgICAgLCBtX3RvcE9yaWdpbih0b3BPcmlnaW4gPyAmdG9wT3JpZ2luLT5pc29sYXRl
ZENvcHkoKS5nZXQoKSA6IG51bGxwdHIpCiB7CiB9CiAKLVdvcmtlclRocmVhZDo6V29ya2VyVGhy
ZWFkKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHks
IFdvcmtlclJlcG9ydGluZ1Byb3h5JiB3b3JrZXJSZXBvcnRpbmdQcm94eSwgV29ya2VyVGhyZWFk
U3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ks
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQb2xpY3lU
eXBlLCBjb25zdCBTZWN1cml0eU9yaWdpbiogdG9wT3JpZ2luKQorV29ya2VyVGhyZWFkOjpXb3Jr
ZXJUaHJlYWQoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBj
b25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQ
cm94eSwgV29ya2VyUmVwb3J0aW5nUHJveHkmIHdvcmtlclJlcG9ydGluZ1Byb3h5LCBXb3JrZXJU
aHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgY29uc3Qg
U2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbikKICAgICA6IG1fdGhyZWFkSUQoMCkKICAgICAsIG1f
d29ya2VyTG9hZGVyUHJveHkod29ya2VyTG9hZGVyUHJveHkpCiAgICAgLCBtX3dvcmtlclJlcG9y
dGluZ1Byb3h5KHdvcmtlclJlcG9ydGluZ1Byb3h5KQotICAgICwgbV9zdGFydHVwRGF0YShzdGQ6
Om1ha2VfdW5pcXVlPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPihzY3JpcHRVUkwsIHVzZXJBZ2Vu
dCwgc291cmNlQ29kZSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnRlbnRT
ZWN1cml0eVBvbGljeVR5cGUsIHRvcE9yaWdpbikpCisgICAgLCBtX3N0YXJ0dXBEYXRhKHN0ZDo6
bWFrZV91bmlxdWU8V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+KHNjcmlwdFVSTCwgdXNlckFnZW50
LCBzb3VyY2VDb2RlLCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycywgdG9wT3JpZ2luKSkKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExF
R0FDWV9OT1RJRklDQVRJT05TKQogICAgICwgbV9ub3RpZmljYXRpb25DbGllbnQoMCkKICNlbmRp
ZgpAQCAtMTQ1LDcgKzE0NCw3IEBAIHZvaWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQoKQog
CiAgICAgewogICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV90aHJlYWRDcmVhdGlvbk11dGV4KTsK
LSAgICAgICAgbV93b3JrZXJHbG9iYWxTY29wZSA9IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKG1f
c3RhcnR1cERhdGEtPm1fc2NyaXB0VVJMLCBtX3N0YXJ0dXBEYXRhLT5tX3VzZXJBZ2VudCwgbV9z
dGFydHVwRGF0YS0+bV9jb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fc3RhcnR1cERhdGEtPm1fY29u
dGVudFNlY3VyaXR5UG9saWN5VHlwZSwgbV9zdGFydHVwRGF0YS0+bV90b3BPcmlnaW4ucmVsZWFz
ZSgpKTsKKyAgICAgICAgbV93b3JrZXJHbG9iYWxTY29wZSA9IGNyZWF0ZVdvcmtlckdsb2JhbFNj
b3BlKG1fc3RhcnR1cERhdGEtPm1fc2NyaXB0VVJMLCBtX3N0YXJ0dXBEYXRhLT5tX3VzZXJBZ2Vu
dCwgbV9zdGFydHVwRGF0YS0+bV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMs
IG1fc3RhcnR1cERhdGEtPm1fdG9wT3JpZ2luLnJlbGVhc2UoKSk7CiAKICAgICAgICAgaWYgKG1f
cnVuTG9vcC50ZXJtaW5hdGVkKCkpIHsKICAgICAgICAgICAgIC8vIFRoZSB3b3JrZXIgd2FzIHRl
cm1pbmF0ZWQgYmVmb3JlIHRoZSB0aHJlYWQgaGFkIGEgY2hhbmNlIHRvIHJ1bi4gU2luY2UgdGhl
IGNvbnRleHQgZGlkbid0IGV4aXN0IHlldCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVh
ZC5oCmluZGV4IDYyN2JhYWVkOTBlYzI3OGU1YTk0N2NhN2YyYzI3MTA1Zjg3YTViOTUuLmJiNzk1
ODJmNjgzYzI1ZGNkYjdmMzQ5ZWYyMDIzYTliNWEzZmQ4YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJUaHJlYWQuaApAQCAtMjcsNyArMjcsNiBAQAogI2lmbmRlZiBXb3JrZXJUaHJlYWRf
aAogI2RlZmluZSBXb3JrZXJUaHJlYWRfaAogCi0jaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9s
aWN5LmgiCiAjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgogI2luY2x1ZGUgPG1lbW9yeT4KICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgpAQCAtMzYsNiArMzUsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKKyAgICBjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7
CiAgICAgY2xhc3MgVVJMOwogICAgIGNsYXNzIE5vdGlmaWNhdGlvbkNsaWVudDsKICAgICBjbGFz
cyBTZWN1cml0eU9yaWdpbjsKQEAgLTY4LDEwICs2OCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAjZW5kaWYKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgV29ya2VyVGhyZWFkKGNvbnN0IFVS
TCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdv
cmtlckxvYWRlclByb3h5JiwgV29ya2VyUmVwb3J0aW5nUHJveHkmLCBXb3JrZXJUaHJlYWRTdGFy
dE1vZGUsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OkhlYWRlclR5cGUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pOwor
ICAgICAgICBXb3JrZXJUaHJlYWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJSZXBv
cnRpbmdQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHRvcE9yaWdpbik7
CiAKICAgICAgICAgLy8gRmFjdG9yeSBtZXRob2QgZm9yIGNyZWF0aW5nIGEgbmV3IHdvcmtlciBj
b250ZXh0IGZvciB0aGUgdGhyZWFkLgotICAgICAgICB2aXJ0dWFsIFJlZjxXb3JrZXJHbG9iYWxT
Y29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OkhlYWRlclR5cGUsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9y
aWdpbikgPSAwOworICAgICAgICB2aXJ0dWFsIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRl
V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNv
bnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIFBhc3NSZWZQdHI8U2Vj
dXJpdHlPcmlnaW4+IHRvcE9yaWdpbikgPSAwOwogCiAgICAgICAgIC8vIEV4ZWN1dGVzIHRoZSBl
dmVudCBsb29wIGZvciB0aGUgd29ya2VyIHRocmVhZC4gRGVyaXZlZCBjbGFzc2VzIGNhbiBvdmVy
cmlkZSB0byBwZXJmb3JtIGFjdGlvbnMgYmVmb3JlL2FmdGVyIGVudGVyaW5nIHRoZSBldmVudCBs
b29wLgogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuRXZlbnRMb29wKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWJhZTIz
MjUzNDcxYTVkZWNmYTFlNWZkN2RiZmUwOTg4MGQ1YmVlOC4uZWM3OGZjZjFlNjdiMTViMTAyM2Nl
MjM0ZmE5ZDZmYWQwN2M3ZDVkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE2LTAxLTI4ICBE
YW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBDU1A6IFVzZSB0aGUg
c2VydmVkIENTUCBoZWFkZXIgZm9yIGRlZGljYXRlZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTMxNTcKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzI0MzgzMjU0PgorICAgICAgICBBbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzE1NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQz
ODMyNDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIG5ldyB0ZXN0cyB0byBlbnN1cmUgd2UgYmxvY2sgZXZhbCgpIGluIGJsb2ItLCBmaWxlLVVS
TCB3b3JrZXJzIGFuZCBibG9jayBYSFIgaW4gYSBmaWxlLVVSTCB3b3JrZXIuCisKKyAgICAgICAg
KiBUZXN0RXhwZWN0YXRpb25zOiBSZW1vdmUgbm93IHBhc3NpbmcgdGVzdHMgaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLXttdWx0aXBsZS1jc3AtaGVhZGVy
cywgd2l0aG91dC1vd24tY3NwfS5odG1sCisgICAgICAgIGFuZCB1cGRhdGUgdGhlIGFzc29jaWF0
ZWQgYnVnICMgZm9yIHRlc3RzIHRoYXQgZmFpbC4KKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvcmVz
b3VyY2VzL3dvcmtlci1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwuanM6IEFkZGVkLgorICAgICAg
ICAoY2F0Y2gpOgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLWluaGVy
aXRzLWNzcC1ibG9ja3MteGhyLmpzOiBBZGRlZC4KKyAgICAgICAgKGNhdGNoKToKKyAgICAgICAg
KiBmYXN0L3dvcmtlcnMvd29ya2VyLWluaGVyaXRzLWNzcC1ibG9ja3MtZXZhbC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvd29ya2Vycy93b3JrZXItaW5oZXJpdHMtY3NwLWJs
b2Nrcy1ldmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvd29ya2Vycy93b3JrZXItaW5o
ZXJpdHMtY3NwLWJsb2Nrcy14aHItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3dvcmtlcnMvd29ya2VyLWluaGVyaXRzLWNzcC1ibG9ja3MteGhyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci1i
bG9iLWluaGVyaXRzLWNzcC1ibG9ja3MtZXZhbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci1ibG9i
LWluaGVyaXRzLWNzcC1ibG9ja3MtZXZhbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItbXVsdGlwbGUtY3NwLWhl
YWRlcnMtZXhwZWN0ZWQudHh0OiBVcGRhdGVkIGV4cGVjdGVkIHJlc3VsdHMgYXMKKyAgICAgICAg
dGhlIHJlc3VsdCB3YXMgaW5jb3JyZWN0LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci13aXRob3V0LW93bi1jc3AtZXhwZWN0ZWQudHh0
OiBEaXR0by4KKworMjAxNi0wMS0yNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgQ1NQOiBVc2UgdGhlIHNlcnZlZCBDU1AgaGVhZGVyIGZvciBkZWRpY2F0ZWQg
d29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTUzMTU3CisgICAgICAgIEFuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTUzMTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIHNvbWUgdGVzdHMgdGhhdCBub3cgcGFzcyBhbmQgdXBkYXRlIHRo
ZSBleHBlY3RlZCByZXN1bHRzIG9mIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS93b3JrZXItbXVsdGlwbGUtY3NwLWhlYWRlcnMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci13aXRo
b3V0LW93bi1jc3AtZXhwZWN0ZWQudHh0OgorCiAyMDE2LTAxLTI4ICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgZXF1YWxJZ25vcmluZ0Nhc2Ugc2luY2Ug
YWxsIGNhbGxlcnMgcmVhbGx5IHdhbnRlZCBlcXVhbElnbm9yaW5nQVNDSUlDYXNlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCA1Y2M5OTAxNDVlYzllOTY0NzM5OTE5YWFhNGM4MTJkODNlMDIzNmE3Li5m
NDcwZTBmZGYxZTZjYTk2ZmQzYTlkNTUzNTZkMjAyOTAwMTI3ZjA0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTgwMCw2ICs4MDAsNyBAQCB3ZWJraXQub3JnL2IvNTIxODUgZmFzdC9jc3MvdmVydGlj
YWwtYWxpZ24tYmFzZWxpbmUtcm93c3Bhbi0wMTAuaHRtbCBbIEltYWdlT25seQogIyBDb250ZW50
IFNlY3VyaXR5IFBvbGljeSBmYWlsdXJlcwogd2Via2l0Lm9yZy9iLzY5MzU5IGh0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLWV2ZW50c291cmNlLXJl
ZGlyZWN0LXRvLWJsb2NrZWQuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzY5MzU5IGh0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0
dHByZXF1ZXN0LXJlZGlyZWN0LXRvLWJsb2NrZWQuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9y
Zy9iLzY5MzU5IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtl
ci1ibG9iLWluaGVyaXRzLWNzcC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTExODY5
IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC1h
bmQtc2VuZHMtcmVwb3J0Lmh0bWwKIHdlYmtpdC5vcmcvYi8xMTU3MDAgaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvaW5saW5lLWV2ZW50LWhhbmRsZXItYmxvY2tlZC1h
ZnRlci1pbmplY3RpbmctbWV0YS5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTE1NzAy
IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1jcm9zcy1v
cmlnaW4tbm8tY29va2llcy5odG1sIFsgRmFpbHVyZSBdCkBAIC04MTcsMTEgKzgxOCw2IEBAIHdl
YmtpdC5vcmcvYi8xNTMxNTMgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvb2JqZWN0LXNyYy1wYXJhbS1zCiB3ZWJraXQub3JnL2IvMTUzMTUzIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtcGFyYW0tdXJsLWJsb2NrZWQu
aHRtbAogd2Via2l0Lm9yZy9iLzE1MzE1NCBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9yZWRpcmVjdC1kb2VzLW5vdC1tYXRjaC1wYXRocy5odG1sCiB3ZWJraXQub3Jn
L2IvMTUzMTU1IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3N0eWxl
LXNyYy1ibG9ja2VkLWVycm9yLWV2ZW50Lmh0bWwKLXdlYmtpdC5vcmcvYi8xNTMxNTYgaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLW11bHRpcGxlLWNzcC1o
ZWFkZXJzLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNTMxNTcgaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLWJsb2ItaW5oZXJpdHMtY3NwLmh0
bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNTMxNTcgaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLWltcG9ydHNjcmlwdHMtYmxvY2tlZC5odG1sIFsg
RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTUzMTU3IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3dvcmtlci1zY3JpcHQtc3JjLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi8xNTMxNTcgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
d29ya2VyLXdpdGhvdXQtb3duLWNzcC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTUz
MTU4IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Jsb2ItdXJscy1t
YXRjaC1zZWxmLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNTMxNTkgaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvaW1hZ2UtZG9jdW1lbnQtZGVmYXVsdC1z
cmMtbm9uZS5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTUzMTYwIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtZG9lcy1ub3QtYWZmZWN0
LWNoaWxkLmh0bWwgWyBGYWlsdXJlIF0KQEAgLTg0Myw2ICs4MzksOCBAQCB3ZWJraXQub3JnL2Iv
MTUzMTY2IHdlYmtpdC5vcmcvYi8xNTMyNDIgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpYwogd2Via2l0Lm9yZy9iLzE1MzE2NyBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9zYW5kYm94LXJlcG9ydC1vbmx5Lmh0bWwgWyBGYWlsdXJlIF0KIHdl
YmtpdC5vcmcvYi8xNTMxNjggaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvc291cmNlLWxpc3QtcGFyc2luZy0wNy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MTUzMTcwIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NvdXJjZS1s
aXN0LXBhcnNpbmctcGF0aHMtMDMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzE1MzU2
MiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItaW1wb3J0
c2NyaXB0cy1ibG9ja2VkLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xNTM1NjIgaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLXNjcmlwdC1zcmMu
aHRtbCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvc2NyaXB0LXNyYy1ibG9ja2VkLWVycm9yLWV2ZW50Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQog
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL2ZyYW1lLWFuY2Vz
dG9ycy9mcmFtZS1hbmNlc3RvcnMtb3ZlcnJpZGVzLXhmby5odG1sICMgTmVlZHMgZXhwZWN0ZWQg
ZmlsZS4KIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zY3Jp
cHRoYXNoLWRlZmF1bHQtc3JjLmh0bWwgIyBOZWVkcyBleHBlY3RlZCBmaWxlLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItaW5oZXJpdHMtY3Nw
LWJsb2Nrcy1ldmFsLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3Jr
ZXItaW5oZXJpdHMtY3NwLWJsb2Nrcy1ldmFsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5Njg5ODc5MjE5YzNi
OWUxN2FiNzQ2YmViMDYwYjFlMzViZTg2MzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwu
anMKQEAgLTAsMCArMSwxNCBAQAordmFyIGV4Y2VwdGlvbjsKK3RyeSB7CisgICAgZXZhbCgiMSAr
IDAiKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBleGNlcHRpb24gPSBlOworfQoraWYgKCFleGNlcHRp
b24pCisgICAgc2VsZi5wb3N0TWVzc2FnZSgiRkFJTCBzaG91bGQgdGhyb3cgRXZhbEVycm9yLiBC
dXQgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24uIik7CitlbHNlIHsKKyAgICBpZiAoZXhjZXB0
aW9uIGluc3RhbmNlb2YgRXZhbEVycm9yKQorICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKCJQQVNT
IHRocmV3IGV4Y2VwdGlvbiAiICsgZXhjZXB0aW9uICsgIi4iKTsKKyAgICBlbHNlCisgICAgICAg
IHNlbGYucG9zdE1lc3NhZ2UoIkZBSUwgc2hvdWxkIHRocm93IEV2YWxFcnJvci4gVGhyZXcgZXhj
ZXB0aW9uICIgKyBleGNlcHRpb24gKyAiLiIpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItaW5oZXJpdHMtY3NwLWJsb2Nrcy14aHIuanMg
Yi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1pbmhlcml0cy1jc3At
YmxvY2tzLXhoci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjIxMGZhMTFkNjk2YjljMjU3MTZjMjgyODMyODRi
MmIwYmUxMWI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jl
c291cmNlcy93b3JrZXItaW5oZXJpdHMtY3NwLWJsb2Nrcy14aHIuanMKQEAgLTAsMCArMSwxOSBA
QAordmFyIGV4Y2VwdGlvbjsKK3RyeSB7CisgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVz
dDsKKyAgICB2YXIgaXNBc3luY2hyb25vdXMgPSBmYWxzZTsKKyAgICB4aHIub3BlbigiR0VUIiwg
Im5vbi1leGlzdGVudC1maWxlIiwgaXNBc3luY2hyb25vdXMpOworICAgIHhoci5zZW5kKCk7Cit9
IGNhdGNoIChlKSB7CisgICAgZXhjZXB0aW9uID0gZTsKK30KKy8vIEZJWE1FOiBXZSBzaG91bGQg
YmUgdGhyb3dpbmcgYSBET01FeGNlcHRpb24uTkVUV09SS19FUlIuIFNlZSA8aHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzU5OD4uCit2YXIgZXhwZWN0ZWRFeGNlcHRp
b25Db2RlID0gMTg7IC8vIERPTUV4Y2VwdGlvbi5TRUNVUklUWV9FUlIKK2lmICghZXhjZXB0aW9u
KQorICAgIHNlbGYucG9zdE1lc3NhZ2UoIkZBSUwgc2hvdWxkIHRocm93ICIgKyBleHBlY3RlZEV4
Y2VwdGlvbkNvZGUgKyAiLiBCdXQgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24uIik7CitlbHNl
IHsKKyAgICBpZiAoZXhjZXB0aW9uLmNvZGUgPT09IGV4cGVjdGVkRXhjZXB0aW9uQ29kZSkKKyAg
ICAgICAgc2VsZi5wb3N0TWVzc2FnZSgiUEFTUyB0aHJldyBleGNlcHRpb24gIiArIGV4Y2VwdGlv
biArICIuIik7CisgICAgZWxzZQorICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKCJGQUlMIHNob3Vs
ZCB0aHJvdyAiICsgZXhwZWN0ZWRFeGNlcHRpb25Db2RlICsgIi4gVGhyZXcgZXhjZXB0aW9uICIg
KyBleGNlcHRpb24gKyAiLiIpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3Jr
ZXJzL3dvcmtlci1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmZjNDJiOWViMzcyMGYyNjhmZTcyMzRlYmQ2NzY4OTdiYmZkZTU1
Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLWlu
aGVyaXRzLWNzcC1ibG9ja3MtZXZhbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUaGlz
IHRlc3RzIHRoYXQgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IChDU1ApIG9mIHRoZSBvd25l
ciBkb2N1bWVudCAodGhpcyBwYWdlKSBibG9ja3MgYSBmaWxlLVVSTCBXZWIgV29ya2VyIGZyb20g
dXNpbmcgZXZhbCgpIGJlY2F1c2UgdGhlIHBhcmVudCdzIENTUCBkb2VzIG5vdCBsaXN0IHVuc2Fm
ZS1ldmFsIGluIHNjcmlwdC1zcmMuCisKK1BBU1MgdGhyZXcgZXhjZXB0aW9uIEV2YWxFcnJvcjog
UmVmdXNlZCB0byBldmFsdWF0ZSBhIHN0cmluZyBhcyBKYXZhU2NyaXB0IGJlY2F1c2UgJ3Vuc2Fm
ZS1ldmFsJyBpcyBub3QgYW4gYWxsb3dlZCBzb3VyY2Ugb2Ygc2NyaXB0IGluIHRoZSBmb2xsb3dp
bmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnc2VsZicg
J3Vuc2FmZS1pbmxpbmUnIi4KKy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vy
cy93b3JrZXItaW5oZXJpdHMtY3NwLWJsb2Nrcy1ldmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3dvcmtlcnMvd29ya2VyLWluaGVyaXRzLWNzcC1ibG9ja3MtZXZhbC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA0OGVkNTM0MDkyMGE1MDZjNDE5ZjQyOTZlM2NhMjI2MDQ0Y2QyNGQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLWluaGVyaXRzLWNzcC1ibG9ja3Mt
ZXZhbC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJz
Y3JpcHQtc3JjICdzZWxmJyAndW5zYWZlLWlubGluZSciPgorPHNjcmlwdD4KK2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRo
aXMgdGVzdHMgdGhhdCB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgKENTUCkgb2YgdGhlIG93
bmVyIGRvY3VtZW50ICh0aGlzIHBhZ2UpIGJsb2NrcyBhIGZpbGUtVVJMIFdlYiBXb3JrZXIgZnJv
bSB1c2luZyA8Y29kZT5ldmFsKCk8L2NvZGU+IGJlY2F1c2UgdGhlIHBhcmVudCdzIENTUCBkb2Vz
IG5vdCBsaXN0IDxjb2RlPnVuc2FmZS1ldmFsPC9jb2RlPiBpbiBzY3JpcHQtc3JjLjwvcD4KKzxw
cmUgaWQ9InJlc3VsdCI+PC9wcmU+Cis8c2NyaXB0Pgord2luZG93Lm9ubWVzc2FnZSA9IGZ1bmN0
aW9uIChldmVudCkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikudGV4
dENvbnRlbnQgPSBldmVudC5kYXRhOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB3b3JrZXI7Cit0cnkgeworICAg
IHdvcmtlciA9IG5ldyBXb3JrZXIoInJlc291cmNlcy93b3JrZXItaW5oZXJpdHMtY3NwLWJsb2Nr
cy1ldmFsLmpzIik7CisgICAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldmVudCkgeyB3
aW5kb3cucG9zdE1lc3NhZ2UoZXZlbnQuZGF0YSwgIioiKSB9OworfSBjYXRjaCAoZXhjZXB0aW9u
KSB7CisgICAgd2luZG93LnBvc3RNZXNzYWdlKCJGQUlMIHNob3VsZCBub3QgaGF2ZSB0aHJvd24g
YW4gZXhjZXB0aW9uIHdoZW4gY3JlYXRpbmcgd29ya2VyLiBUaHJldyBleGNlcHRpb24gIiArIGV4
Y2VwdGlvbiArICIuIiwgIioiKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1pbmhlcml0cy1jc3AtYmxv
Y2tzLXhoci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLWlu
aGVyaXRzLWNzcC1ibG9ja3MteGhyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZjllMDEwMTRi
OTYwODUyNjJiYmRkMmQ2ODNhZTg4ZWI1MzNlZTY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1pbmhlcml0cy1jc3AtYmxvY2tzLXhoci1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gY29ubmVj
dCB0byAnbm9uLWV4aXN0ZW50LWZpbGUnIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2lu
ZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJjb25uZWN0LXNyYyAnbm9uZSci
LgorCitUaGlzIHRlc3RzIHRoYXQgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IChDU1ApIG9m
IHRoZSBvd25lciBkb2N1bWVudCAodGhpcyBwYWdlKSBibG9ja3MgYSBmaWxlLVVSTCBXZWIgV29y
a2VyIGZyb20gbWFraW5nIGFuIFhIUiByZXF1ZXN0IGJlY2F1c2UgdGhlIHBhcmVudCdzIENTUCBj
b250YWlucyAiY29ubmVjdC1zcmMgJ25vbmUnIgorCitQQVNTIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogU2VjdXJpdHlFcnJvcjogRE9NIEV4Y2VwdGlvbiAxOC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItaW5oZXJpdHMtY3NwLWJsb2Nrcy14aHIuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItaW5oZXJpdHMtY3NwLWJsb2Nrcy14aHIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kODNlMDM2Mjg0YTFiYThlZmY2YmI5NmFmYWE2M2UzZjFiYzUwNzc3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1pbmhlcml0
cy1jc3AtYmxvY2tzLXhoci5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5
IiBjb250ZW50PSJzY3JpcHQtc3JjICdzZWxmJyAndW5zYWZlLWlubGluZSc7IGNvbm5lY3Qtc3Jj
ICdub25lJyI+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0cyB0aGF0IHRoZSBDb250ZW50
IFNlY3VyaXR5IFBvbGljeSAoQ1NQKSBvZiB0aGUgb3duZXIgZG9jdW1lbnQgKHRoaXMgcGFnZSkg
YmxvY2tzIGEgZmlsZS1VUkwgV2ViIFdvcmtlciBmcm9tIG1ha2luZyBhbiBYSFIgcmVxdWVzdCBi
ZWNhdXNlIHRoZSBwYXJlbnQncyBDU1AgY29udGFpbnMgJnF1b3Q7Y29ubmVjdC1zcmMgJ25vbmUn
JnF1b3Q7PC9wPgorPHByZSBpZD0icmVzdWx0Ij48L3ByZT4KKzxzY3JpcHQ+Cit3aW5kb3cub25t
ZXNzYWdlID0gZnVuY3Rpb24gKGV2ZW50KQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHQiKS50ZXh0Q29udGVudCA9IGV2ZW50LmRhdGE7CisgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKwordmFyIHdvcmtl
cjsKK3RyeSB7CisgICAgd29ya2VyID0gbmV3IFdvcmtlcigicmVzb3VyY2VzL3dvcmtlci1pbmhl
cml0cy1jc3AtYmxvY2tzLXhoci5qcyIpOworICAgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlv
biAoZXZlbnQpIHsgd2luZG93LnBvc3RNZXNzYWdlKGV2ZW50LmRhdGEsICIqIikgfTsKK30gY2F0
Y2ggKGV4Y2VwdGlvbikgeworICAgIHdpbmRvdy5wb3N0TWVzc2FnZSgiRkFJTCBzaG91bGQgbm90
IGhhdmUgdGhyb3duIGFuIGV4Y2VwdGlvbiB3aGVuIGNyZWF0aW5nIHdvcmtlci4gVGhyZXcgZXhj
ZXB0aW9uICIgKyBleGNlcHRpb24gKyAiLiIsICIqIik7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci1ibG9iLWluaGVyaXRzLWNzcC1ibG9ja3MtZXZhbC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS93b3JrZXItYmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjhhN2I3MzM0ZDhhODZlYWY1YWQ2MThmZGRmMWE2M2E0NmNjZTU0YjMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS93b3JrZXItYmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorVGhpcyB0ZXN0cyB0aGF0IHRoZSBDb250ZW50IFNl
Y3VyaXR5IFBvbGljeSAoQ1NQKSBvZiB0aGUgb3duZXIgZG9jdW1lbnQgKHRoaXMgcGFnZSkgYmxv
Y2tzIGEgYmxvYi1VUkwgV2ViIFdvcmtlciBmcm9tIHVzaW5nIGV2YWwoKSBiZWNhdXNlIHRoZSBw
YXJlbnQncyBDU1AgZG9lcyBub3QgbGlzdCB1bnNhZmUtZXZhbCBpbiBzY3JpcHQtc3JjLgorCitQ
QVNTIHRocmV3IGV4Y2VwdGlvbiBFdmFsRXJyb3I6IFJlZnVzZWQgdG8gZXZhbHVhdGUgYSBzdHJp
bmcgYXMgSmF2YVNjcmlwdCBiZWNhdXNlICd1bnNhZmUtZXZhbCcgaXMgbm90IGFuIGFsbG93ZWQg
c291cmNlIG9mIHNjcmlwdCBpbiB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5
IGRpcmVjdGl2ZTogInNjcmlwdC1zcmMgJ3NlbGYnICd1bnNhZmUtaW5saW5lJyIuCisuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS93b3JrZXItYmxvYi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci1ibG9i
LWluaGVyaXRzLWNzcC1ibG9ja3MtZXZhbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxZTkxMDEwMTVlZTA5
Njc0NGRkMDhhNGNhMDgwZmVlOTQyYzZlODQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItYmxvYi1p
bmhlcml0cy1jc3AtYmxvY2tzLWV2YWwuaHRtbApAQCAtMCwwICsxLDUwIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8IS0tIEZJWE1FOiBSZW1vdmUgJ3NlbGYnIGZyb20gc2Ny
aXB0LXNyYyBvbmNlIHdlIGZpeCA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1MzE1OD4uIC0tPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xp
Y3kiIGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3NlbGYnICd1bnNhZmUtaW5saW5lJyI+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0cyB0aGF0IHRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAo
Q1NQKSBvZiB0aGUgb3duZXIgZG9jdW1lbnQgKHRoaXMgcGFnZSkgYmxvY2tzIGEgYmxvYi1VUkwg
V2ViIFdvcmtlciBmcm9tIHVzaW5nIDxjb2RlPmV2YWwoKTwvY29kZT4gYmVjYXVzZSB0aGUgcGFy
ZW50J3MgQ1NQIGRvZXMgbm90IGxpc3QgPGNvZGU+dW5zYWZlLWV2YWw8L2NvZGU+IGluIHNjcmlw
dC1zcmMuPC9wPgorPHByZSBpZD0icmVzdWx0Ij48L3ByZT4KKzxzY3JpcHQ+Cit3aW5kb3cub25t
ZXNzYWdlID0gZnVuY3Rpb24gKGV2ZW50KQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHQiKS50ZXh0Q29udGVudCA9IGV2ZW50LmRhdGE7CisgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKwordmFyIHNjcmlw
dCA9IFsKKyAgICAndmFyIGV4Y2VwdGlvbjsnLAorICAgICd0cnkgeycsCisgICAgJyAgICBldmFs
KCIxICsgMCIpOycsCisgICAgJ30gY2F0Y2ggKGUpIHsnLAorICAgICcgICAgZXhjZXB0aW9uID0g
ZTsnLAorICAgICd9JywKKyAgICAnaWYgKCFleGNlcHRpb24pJywKKyAgICAnICAgIHNlbGYucG9z
dE1lc3NhZ2UoIkZBSUwgc2hvdWxkIHRocm93IEV2YWxFcnJvci4gQnV0IGRpZCBub3QgdGhyb3cg
YW4gZXhjZXB0aW9uLiIpOycsCisgICAgJ2Vsc2UgeycsCisgICAgJyAgICBpZiAoZXhjZXB0aW9u
IGluc3RhbmNlb2YgRXZhbEVycm9yKScsCisgICAgJyAgICAgICAgc2VsZi5wb3N0TWVzc2FnZSgi
UEFTUyB0aHJldyBleGNlcHRpb24gIiArIGV4Y2VwdGlvbiArICIuIik7JywKKyAgICAnICAgIGVs
c2UnLAorICAgICcgICAgICAgIHNlbGYucG9zdE1lc3NhZ2UoIkZBSUwgc2hvdWxkIHRocm93IEV2
YWxFcnJvci4gVGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24gKyAiLiIpOycsCisgICAgJ30n
LAorXS5qb2luKCJcbiIpOworCit2YXIgd29ya2VyOwordHJ5IHsKKyAgICB3b3JrZXIgPSBuZXcg
V29ya2VyKHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtzY3JpcHRdKSkpOwor
ICAgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZlbnQpIHsgd2luZG93LnBvc3RNZXNz
YWdlKGV2ZW50LmRhdGEsICIqIikgfTsKK30gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgIHdpbmRv
dy5wb3N0TWVzc2FnZSgiRkFJTCBzaG91bGQgbm90IGhhdmUgdGhyb3duIGFuIGV4Y2VwdGlvbiB3
aGVuIGNyZWF0aW5nIHdvcmtlci4gVGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRpb24gKyAiLiIs
ICIqIik7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci1t
dWx0aXBsZS1jc3AtaGVhZGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItbXVsdGlwbGUtY3NwLWhlYWRl
cnMtZXhwZWN0ZWQudHh0CmluZGV4IDIwYjUzOGIzN2ZmYTUyYWNhYTIxMmQzZGUxODVhNTFjMDEx
ODg0YzQuLjAxMDA1MzNmOThkYTFjNmQxMTExMDljODlkZmMwMDI2OGI1NThhZGIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3dvcmtlci1tdWx0aXBsZS1jc3AtaGVhZGVycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLW11bHRp
cGxlLWNzcC1oZWFkZXJzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDUgQEAKK0NPTlNPTEUgTUVT
U0FHRTogUmVmdXNlZCB0byBjb25uZWN0IHRvICdodHRwOi8vMTI3LjAuMC4xOjgwMDAveG1saHR0
cHJlcXVlc3QvcmVzb3VyY2VzL2dldC50eHQnIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxv
d2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJjb25uZWN0LXNyYyAnbm9u
ZSciLgorCiAKIFBBU1MgV29ya2VyIGNhbiBoYXZlIG11bHRpcGxlIENTUCBoZWFkZXJzIAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS93b3JrZXItd2l0aG91dC1vd24tY3NwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci13aXRob3V0
LW93bi1jc3AtZXhwZWN0ZWQudHh0CmluZGV4IGQ4NjMzOWFmYjgyZmRiMWJmMjcyZDAxNGE5Yzlj
ZjNjYzI4Y2ZmNzUuLmVhM2M0NzYzOTMxOWJlODhmYmNmYmExNzdkNWNmMzQ1OWZjMGFhZDAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3dvcmtlci13aXRob3V0LW93bi1jc3AtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci13aXRo
b3V0LW93bi1jc3AtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi0KIFBBU1MgV29ya2Vy
IHNob3VsZCBub3QgaW5oZXJpdCBkb2N1bWVudCdzIENTUCAKIAo=
</data>
<flag name="review"
          id="294986"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>