<?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>121543</bug_id>
          
          <creation_ts>2013-09-18 00:37:15 -0700</creation_ts>
          <short_desc>[GTK] Some of DOM bindings macros are misnamed</short_desc>
          <delta_ts>2014-06-24 23:55:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>133724</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Tomas Popela">tpopela</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alecflett</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jsbell</cc>
    
    <cc>mrobinson</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>930557</commentid>
    <comment_count>0</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2013-09-18 00:37:15 -0700</bug_when>
    <thetext>Some of DOM bindings macros are misnamed.

WEBKIT_DOM_HTMLBR_ELEMENT should be WEBKIT_DOM_HTML_BR_ELEMENT
WEBKIT_DOM_HTMLLI_ELEMENT should be WEBKIT_DOM_HTML_LI_ELEMENT
WEBKIT_DOM_HTMLHR_ELEMENT should be WEBKIT_DOM_HTML_HR_ELEMENT
WEBKIT_DOM_HTMLU_LIST_ELEMENT should be WEBKIT_DOM_HTML_U_LIST_ELEMENT
WEBKIT_DOM_HTMLD_LIST_ELEMENT should be WEBKIT_DOM_HTML_D_LIST_ELEMENT
WEBKIT_DOM_HTMLO_LIST_ELEMENT should be WEBKIT_DOM_HTML_O_LIST_ELEMENT

The same is for _IS_ macros (ie. WEBKIT_DOM_IS_HTML_BR_ELEMENT not HTMLBR_ELEMENT).

Looks like generator is doing something wrong with elements that have their tag name with two or less characters.

We should do something similar like in webkit_dom_element_get_id vs. webkit_dom_html_element_get_id case, because these macros are part of the public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930559</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-09-18 00:45:32 -0700</bug_when>
    <thetext>We have some exceptions in the function decamelize, but not all cases are covered. While working on bug #121538 I also noticed an inconsistency in the macros for the WebKitDOMObject and all others, see:

WEBKIT_TYPE_DOM_OBJECT
WEBKIT_IS_DOM_OBJECT
WEBKIT_IS_DOM_OBJECT_CLASS

While all other generated objects have WEBKIT_DOM as the prefix, for example:

WEBKIT_TYPE_DOM_ATTR
WEBKIT_DOM_IS_ATTR
WEBKIT_DOM_IS_ATTR_CLASS

So, we are always using WEBKIT as the prefix for TYPE macros, but WEBKIT_DOM for IS macros except for WebKitDOMObject that we use WEBKIT. 

I think we should fix all these inconsistencies and provide backwards compatibility macros in WebKitDOMCustom.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015840</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-06-16 04:33:25 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; We have some exceptions in the function decamelize, but not all cases are covered. While working on bug #121538 I also noticed an inconsistency in the macros for the WebKitDOMObject and all others, see:
&gt; 
&gt; WEBKIT_TYPE_DOM_OBJECT
&gt; WEBKIT_IS_DOM_OBJECT
&gt; WEBKIT_IS_DOM_OBJECT_CLASS
&gt; 
&gt; While all other generated objects have WEBKIT_DOM as the prefix, for example:
&gt; 
&gt; WEBKIT_TYPE_DOM_ATTR
&gt; WEBKIT_DOM_IS_ATTR
&gt; WEBKIT_DOM_IS_ATTR_CLASS
&gt; 
&gt; So, we are always using WEBKIT as the prefix for TYPE macros, but WEBKIT_DOM for IS macros except for WebKitDOMObject that we use WEBKIT. 
&gt; 
&gt; I think we should fix all these inconsistencies and provide backwards compatibility macros in WebKitDOMCustom.

To make it clear, since we are using WebKitDOM as our namespace I think we should rename all TYPE macros as WEBKIT_DOM_TYPE_FOO and WebKitDOMObject macros as well. Unless I&apos;m wrong and the intention was not to use WebKitDOM as the namespace. Maybe Gustavo or Martin know it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015870</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-06-16 08:49:31 -0700</bug_when>
    <thetext>(In reply to comment #2)

&gt; To make it clear, since we are using WebKitDOM as our namespace I think we should rename all TYPE macros as WEBKIT_DOM_TYPE_FOO and WebKitDOMObject macros as well. Unless I&apos;m wrong and the intention was not to use WebKitDOM as the namespace. Maybe Gustavo or Martin know it.

I cannot remember why it was designed this way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016745</commentid>
    <comment_count>4</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2014-06-19 13:36:52 -0700</bug_when>
    <thetext>I think originally the namespace was supposed to be WebKit only, even for the DOM bindings, but in practice it ended up being WebKitDOM, so I think this fix would make sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017533</commentid>
    <comment_count>5</comment_count>
      <attachid>233599</attachid>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-06-23 05:33:25 -0700</bug_when>
    <thetext>Created attachment 233599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017538</commentid>
    <comment_count>6</comment_count>
      <attachid>233599</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-06-23 06:32:28 -0700</bug_when>
    <thetext>Comment on attachment 233599
Patch

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

Great job! Thank you very much. This looks good to me. Martin, Gustavo, any objection?

&gt; Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm:1419
&gt; -    return WEBKIT_DOM_${clsCaps}(g_object_new(WEBKIT_TYPE_DOM_${clsCaps}, &quot;core-object&quot;, coreObject, NULL));
&gt; +    return WEBKIT_DOM_${clsCaps}(g_object_new(WEBKIT_DOM_TYPE_${clsCaps}, &quot;core-object&quot;, coreObject, NULL));

We can take advantage we are changing this line to use nullptr instead of NULL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017542</commentid>
    <comment_count>7</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-06-23 06:39:53 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 233599 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=233599&amp;action=review
&gt; 
&gt; Great job! Thank you very much. This looks good to me. Martin, Gustavo, any objection?
&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm:1419
&gt; &gt; -    return WEBKIT_DOM_${clsCaps}(g_object_new(WEBKIT_TYPE_DOM_${clsCaps}, &quot;core-object&quot;, coreObject, NULL));
&gt; &gt; +    return WEBKIT_DOM_${clsCaps}(g_object_new(WEBKIT_DOM_TYPE_${clsCaps}, &quot;core-object&quot;, coreObject, NULL));
&gt; 
&gt; We can take advantage we are changing this line to use nullptr instead of NULL.

No problem. Updated patch will follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017543</commentid>
    <comment_count>8</comment_count>
      <attachid>233602</attachid>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-06-23 06:42:42 -0700</bug_when>
    <thetext>Created attachment 233602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018034</commentid>
    <comment_count>9</comment_count>
      <attachid>233602</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-06-24 11:59:49 -0700</bug_when>
    <thetext>Comment on attachment 233602
Patch

I haven&apos;t reviewed this, but I support making the names consistent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018267</commentid>
    <comment_count>10</comment_count>
      <attachid>233602</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-06-24 23:23:49 -0700</bug_when>
    <thetext>Comment on attachment 233602
Patch

Ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018275</commentid>
    <comment_count>11</comment_count>
      <attachid>233602</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-06-24 23:55:13 -0700</bug_when>
    <thetext>Comment on attachment 233602
Patch

Clearing flags on attachment: 233602

Committed r170422: &lt;http://trac.webkit.org/changeset/170422&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018276</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-06-24 23:55:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233599</attachid>
            <date>2014-06-23 05:33:25 -0700</date>
            <delta_ts>2014-06-23 06:42:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121543-20140623143302.patch</filename>
            <type>text/plain</type>
            <size>110507</size>
            <attacher name="Tomas Popela">tpopela</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcwMjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWUwMzg5NDllYmUxYzY1
MGZhMDdlNTU0N2E2YTgzMmRiYmM5ODgwZS4uNTIyZDg4NWU2MTgzNGE1YTlkMWViMGNmMzA1NmY4
ZmNlMzE4YzE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkwIEBACisyMDE0LTA2LTIzICBUb21h
cyBQb3BlbGEgIDx0cG9wZWxhQHJlZGhhdC5jb20+CisKKyAgICAgICAgW0dUS10gU29tZSBvZiBE
T00gYmluZGluZ3MgbWFjcm9zIGFyZSBtaXNuYW1lZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxNTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQXMgd2UgYXJlIHVzaW5nIFdlYktpdERPTSBhcyBhIG5h
bWVzcGFjZSB3ZSBzaG91bGQgdW5pZnkgYWxsIHR5cGUgbWFjcm9zCisgICAgICAgIHRvIGhhdmUg
V0VCS0lUX0RPTV9UWVBFIHByZWZpeCBpbnN0ZWFkIG9mIFdFQktJVF9UWVBFX0RPTS4gQWxzbyBh
ZGQKKyAgICAgICAgbW9yZSBleGNlcHRpb25zIHRvIGRlY2FtZWxpemUgZnVuY3Rpb24gaW4gR09i
amVjdCBiaW5kaW5ncyBnZW5lcmF0b3IKKyAgICAgICAgdG8gZml4IHRoZSBuYW1lcyBvZiBiaW5k
aW5ncyBmb3IgQlIsIEhSLCBVTCwgT0wsIERMIGFuZCBMSSBlbGVtZW50cy4KKworICAgICAgICAq
IGJpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R09iamVjdEV2ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5k
aW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0Lmg6CisgICAgICAgICogYmluZGluZ3Mv
Z29iamVjdC9XZWJLaXRET01Ob2RlRmlsdGVyLmg6CisgICAgICAgICogYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRET01PYmplY3QuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L3dlYmtpdGRv
bS5zeW1ib2xzOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmpl
Y3QucG06CisgICAgICAgIChkZWNhbWVsaXplKToKKyAgICAgICAgKEdldFBhcmVudEdPYmpUeXBl
KToKKyAgICAgICAgKEdlbmVyYXRlUHJvcGVydHkpOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIp
OgorICAgICAgICAoR2VuZXJhdGVDRmlsZSk6CisgICAgICAgIChHZW5lcmF0ZUV2ZW50VGFyZ2V0
SWZhY2UpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TUZsb2F0NjRBcnJheS5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBGbG9hdDY0QXJyYXkpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTUZsb2F0NjRB
cnJheS5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RBY3RpdmVET01PYmplY3QuY3BwOgorICAgICAgICAoV2ViS2l0Ojp3cmFwVGVzdEFjdGl2
ZURPTU9iamVjdCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdC5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHA6CisgICAgICAgIChXZWJLaXQ6
OndyYXBUZXN0Q2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OndyYXBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlci5oOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVu
dENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6d3JhcFRlc3RFdmVudENvbnN0cnVj
dG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0RXZlbnRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9H
T2JqZWN0L1dlYktpdERPTVRlc3RFdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ondy
YXBUZXN0RXZlbnRUYXJnZXQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTVRlc3RFdmVudFRhcmdldC5oOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFeGNlcHRpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0Ojp3cmFwVGVzdEV4Y2VwdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbi5oOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6d3JhcFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0R2VuZXJhdGVJc1Jl
YWNoYWJsZS5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktp
dERPTVRlc3RJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViS2l0Ojp3cmFwVGVzdEludGVyZmFj
ZSk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX2NsYXNzX2luaXQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RJbnRlcmZh
Y2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBUZXN0TmFtZWRDb25zdHJ1Y3Rvcik6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5hbWVk
Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9X
ZWJLaXRET01UZXN0Tm9kZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBUZXN0Tm9kZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5vZGUu
aDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
Tm9uZGV0ZXJtaW5pc3RpYy5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBUZXN0Tm9uZGV0ZXJt
aW5pc3RpYyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdE5vbmRldGVybWluaXN0aWMuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYktpdDo6d3JhcFRl
c3RPYmopOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9jbGFzc19pbml0KToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmg6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnMuY3BwOgorICAgICAgICAoV2ViS2l0Ojp3cmFwVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0
L1dlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmg6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3Nj
cmlwdF92YWx1ZV9pbnRlcmZhY2VfY2xhc3NfaW5pdCk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RUeXBlZGVmcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBUZXN0VHlwZWRlZnMpOgor
ICAgICAgICAod2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX2NsYXNzX2luaXQpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmcy5oOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTWF0dHJpYnV0
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBhdHRyaWJ1dGUpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTWF0dHJpYnV0ZS5oOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTXJlYWRvbmx5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6d3JhcHJlYWRvbmx5KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01yZWFkb25seS5oOgorCiAyMDE0LTA2LTIyICBaYWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBvZmZzZXQgZnJvbSBhbmNl
c3RvciBjb21wdXRhdGlvbiBleHBsaWNpdCBieSBtb3ZpbmcgaXQgdG8gdGhlIGNhbGxlcnMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmplY3RFdmVudExp
c3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50
TGlzdGVuZXIuY3BwCmluZGV4IDNhMzljN2U5YTU3ZWJjNWY4NDZiZjhiOTBkMGQ5ZTM3OTY1NWZj
YzIuLjc2Y2YyNzkyZjNkZTk5OGIxN2RlYzdhNzI4YjdhOTE0NTk3N2E2NzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVu
ZXIuY3BwCkBAIC02NCwxMSArNjQsMTEgQEAgdm9pZCBHT2JqZWN0RXZlbnRMaXN0ZW5lcjo6Z29i
amVjdERlc3Ryb3llZCgpCiB2b2lkIEdPYmplY3RFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXZlbnQqIGV2ZW50KQogewogICAgIEdWYWx1ZSBwYXJh
bWV0ZXJzWzJdID0geyBHX1ZBTFVFX0lOSVQsIEdfVkFMVUVfSU5JVCB9OwotICAgIGdfdmFsdWVf
aW5pdCgmcGFyYW1ldGVyc1swXSwgV0VCS0lUX1RZUEVfRE9NX0VWRU5UX1RBUkdFVCk7CisgICAg
Z192YWx1ZV9pbml0KCZwYXJhbWV0ZXJzWzBdLCBXRUJLSVRfRE9NX1RZUEVfRVZFTlRfVEFSR0VU
KTsKICAgICBnX3ZhbHVlX3NldF9vYmplY3QoJnBhcmFtZXRlcnNbMF0sIG1fdGFyZ2V0KTsKIAog
ICAgIEdSZWZQdHI8V2ViS2l0RE9NRXZlbnQ+IGRvbUV2ZW50ID0gYWRvcHRHUmVmKFdlYktpdDo6
a2l0KGV2ZW50KSk7Ci0gICAgZ192YWx1ZV9pbml0KCZwYXJhbWV0ZXJzWzFdLCBXRUJLSVRfVFlQ
RV9ET01fRVZFTlQpOworICAgIGdfdmFsdWVfaW5pdCgmcGFyYW1ldGVyc1sxXSwgV0VCS0lUX0RP
TV9UWVBFX0VWRU5UKTsKICAgICBnX3ZhbHVlX3NldF9vYmplY3QoJnBhcmFtZXRlcnNbMV0sIGRv
bUV2ZW50LmdldCgpKTsKIAogICAgIGdfY2xvc3VyZV9pbnZva2UobV9oYW5kbGVyLmdldCgpLCAw
LCAyLCBwYXJhbWV0ZXJzLCBOVUxMKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuaAppbmRleCAzZDNkNjYwOWI4NTYyMzZm
MmJiZmU5YTg2NjBkNDliY2EyZmM4NDM1Li4zNDIwZjE1NzlmZjI1OTk5ODNjZmVmNTU1OTk3NDNm
YTRjNzBkYWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dl
YktpdERPTUV2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRET01FdmVudFRhcmdldC5oCkBAIC0yNCwxMSArMjQsMTEgQEAKIAogR19CRUdJTl9E
RUNMUwogCi0jZGVmaW5lIFdFQktJVF9UWVBFX0RPTV9FVkVOVF9UQVJHRVQgICAgICAgICAgICAo
d2Via2l0X2RvbV9ldmVudF90YXJnZXRfZ2V0X3R5cGUgKCkpCi0jZGVmaW5lIFdFQktJVF9ET01f
RVZFTlRfVEFSR0VUKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1Qg
KChvYmopLCBXRUJLSVRfVFlQRV9ET01fRVZFTlRfVEFSR0VULCBXZWJLaXRET01FdmVudFRhcmdl
dCkpCi0jZGVmaW5lIFdFQktJVF9ET01fRVZFTlRfVEFSR0VUX0NMQVNTKG9iaikgICAgICAoR19U
WVBFX0NIRUNLX0NMQVNTX0NBU1QgKChvYmopLCBXRUJLSVRfVFlQRV9ET01fRVZFTlRfVEFSR0VU
LCBXZWJLaXRET01FdmVudFRhcmdldElmYWNlKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19FVkVO
VF9UQVJHRVQob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSAoKG9iaiks
IFdFQktJVF9UWVBFX0RPTV9FVkVOVF9UQVJHRVQpKQotI2RlZmluZSBXRUJLSVRfRE9NX0VWRU5U
X1RBUkdFVF9HRVRfSUZBQ0Uob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfSU5URVJGQUNFICgo
b2JqKSwgV0VCS0lUX1RZUEVfRE9NX0VWRU5UX1RBUkdFVCwgV2ViS2l0RE9NRXZlbnRUYXJnZXRJ
ZmFjZSkpCisjZGVmaW5lIFdFQktJVF9ET01fVFlQRV9FVkVOVF9UQVJHRVQgICAgICAgICAgICAo
d2Via2l0X2RvbV9ldmVudF90YXJnZXRfZ2V0X3R5cGUgKCkpCisjZGVmaW5lIFdFQktJVF9ET01f
RVZFTlRfVEFSR0VUKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1Qg
KChvYmopLCBXRUJLSVRfRE9NX1RZUEVfRVZFTlRfVEFSR0VULCBXZWJLaXRET01FdmVudFRhcmdl
dCkpCisjZGVmaW5lIFdFQktJVF9ET01fRVZFTlRfVEFSR0VUX0NMQVNTKG9iaikgICAgICAoR19U
WVBFX0NIRUNLX0NMQVNTX0NBU1QgKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfRVZFTlRfVEFSR0VU
LCBXZWJLaXRET01FdmVudFRhcmdldElmYWNlKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19FVkVO
VF9UQVJHRVQob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSAoKG9iaiks
IFdFQktJVF9ET01fVFlQRV9FVkVOVF9UQVJHRVQpKQorI2RlZmluZSBXRUJLSVRfRE9NX0VWRU5U
X1RBUkdFVF9HRVRfSUZBQ0Uob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfSU5URVJGQUNFICgo
b2JqKSwgV0VCS0lUX0RPTV9UWVBFX0VWRU5UX1RBUkdFVCwgV2ViS2l0RE9NRXZlbnRUYXJnZXRJ
ZmFjZSkpCiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRET01FdmVudFRhcmdldElmYWNlIFdlYktp
dERPTUV2ZW50VGFyZ2V0SWZhY2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvV2ViS2l0RE9NTm9kZUZpbHRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9XZWJLaXRET01Ob2RlRmlsdGVyLmgKaW5kZXggOGE5OGE2MTRhYjczNTg1OGFj
YjFhMmI0NzFmYjNmMGI3NWE2YjdjZi4uNWQxZDNmZDFiZjQwNjE0MmU0ZDIzYmExNzJiZDI2Yzhl
ODdjYjMzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01Ob2RlRmlsdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9X
ZWJLaXRET01Ob2RlRmlsdGVyLmgKQEAgLTI0LDExICsyNCwxMSBAQAogCiBHX0JFR0lOX0RFQ0xT
CiAKLSNkZWZpbmUgV0VCS0lUX1RZUEVfRE9NX05PREVfRklMVEVSICAgICAgICAgICAgKHdlYmtp
dF9kb21fbm9kZV9maWx0ZXJfZ2V0X3R5cGUgKCkpCi0jZGVmaW5lIFdFQktJVF9ET01fTk9ERV9G
SUxURVIob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCAoKG9iaiks
IFdFQktJVF9UWVBFX0RPTV9OT0RFX0ZJTFRFUiwgV2ViS2l0RE9NTm9kZUZpbHRlcikpCi0jZGVm
aW5lIFdFQktJVF9ET01fTk9ERV9GSUxURVJfQ0xBU1Mob2JqKSAgICAgIChHX1RZUEVfQ0hFQ0tf
Q0xBU1NfQ0FTVCAoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9OT0RFX0ZJTFRFUiwgV2ViS2l0RE9N
Tm9kZUZpbHRlcklmYWNlKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19OT0RFX0ZJTFRFUihvYmop
ICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFICgob2JqKSwgV0VCS0lUX1RZUEVf
RE9NX05PREVfRklMVEVSKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9OT0RFX0ZJTFRFUl9HRVRfSUZB
Q0Uob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfSU5URVJGQUNFICgob2JqKSwgV0VCS0lUX1RZ
UEVfRE9NX05PREVfRklMVEVSLCBXZWJLaXRET01Ob2RlRmlsdGVySWZhY2UpKQorI2RlZmluZSBX
RUJLSVRfRE9NX1RZUEVfTk9ERV9GSUxURVIgICAgICAgICAgICAod2Via2l0X2RvbV9ub2RlX2Zp
bHRlcl9nZXRfdHlwZSAoKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9OT0RFX0ZJTFRFUihvYmopICAg
ICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUICgob2JqKSwgV0VCS0lUX0RPTV9U
WVBFX05PREVfRklMVEVSLCBXZWJLaXRET01Ob2RlRmlsdGVyKSkKKyNkZWZpbmUgV0VCS0lUX0RP
TV9OT0RFX0ZJTFRFUl9DTEFTUyhvYmopICAgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUICgo
b2JqKSwgV0VCS0lUX0RPTV9UWVBFX05PREVfRklMVEVSLCBXZWJLaXRET01Ob2RlRmlsdGVySWZh
Y2UpKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX05PREVfRklMVEVSKG9iaikgICAgICAgICAoR19U
WVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUgKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfTk9ERV9GSUxU
RVIpKQorI2RlZmluZSBXRUJLSVRfRE9NX05PREVfRklMVEVSX0dFVF9JRkFDRShvYmopICAoR19U
WVBFX0lOU1RBTkNFX0dFVF9JTlRFUkZBQ0UgKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfTk9ERV9G
SUxURVIsIFdlYktpdERPTU5vZGVGaWx0ZXJJZmFjZSkpCiAKIC8qKgogICogV0VCS0lUX0RPTV9O
T0RFX0ZJTFRFUl9BQ0NFUFQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9n
b2JqZWN0L1dlYktpdERPTU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRET01PYmplY3QuaAppbmRleCAzNTU2Yjc5ZTQyMjE2YTliNDc5OGRjYmQ2MDIyYWZj
OGVmZDU1ZGNjLi45YjdiODY3YjQxNjU3ZTVlZTMxNzcxNDZhNGZiMjczNzJmZmIzNjk1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NT2JqZWN0LmgK
QEAgLTMwLDEyICszMCwxMiBAQAogCiBHX0JFR0lOX0RFQ0xTCiAKLSNkZWZpbmUgV0VCS0lUX1RZ
UEVfRE9NX09CSkVDVCAgICAgICAgICAgICh3ZWJraXRfZG9tX29iamVjdF9nZXRfdHlwZSgpKQot
I2RlZmluZSBXRUJLSVRfRE9NX09CSkVDVChvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19J
TlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9ET01fT0JKRUNULCBXZWJLaXRET01PYmpl
Y3QpKQotI2RlZmluZSBXRUJLSVRfRE9NX09CSkVDVF9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9D
SEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fT0JKRUNULCBXZWJLaXRE
T01PYmplY3RDbGFzcykpCi0jZGVmaW5lIFdFQktJVF9JU19ET01fT0JKRUNUKG9iaikgICAgICAg
ICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9PQkpF
Q1QpKQotI2RlZmluZSBXRUJLSVRfSVNfRE9NX09CSkVDVF9DTEFTUyhrbGFzcykgKEdfVFlQRV9D
SEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fT0JKRUNUKSkKLSNkZWZp
bmUgV0VCS0lUX0RPTV9PQkpFQ1RfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VU
X0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX09CSkVDVCwgV2ViS2l0RE9NT2JqZWN0Q2xh
c3MpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RZUEVfT0JKRUNUICAgICAgICAgICAgKHdlYmtpdF9k
b21fb2JqZWN0X2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9ET01fT0JKRUNUKG9iaikgICAg
ICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9ET01fVFlQ
RV9PQkpFQ1QsIFdlYktpdERPTU9iamVjdCkpCisjZGVmaW5lIFdFQktJVF9ET01fT0JKRUNUX0NM
QVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9E
T01fVFlQRV9PQkpFQ1QsIFdlYktpdERPTU9iamVjdENsYXNzKSkKKyNkZWZpbmUgV0VCS0lUX0RP
TV9JU19PQkpFQ1Qob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2Jq
KSwgV0VCS0lUX0RPTV9UWVBFX09CSkVDVCkpCisjZGVmaW5lIFdFQktJVF9ET01fSVNfT0JKRUNU
X0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9E
T01fVFlQRV9PQkpFQ1QpKQorI2RlZmluZSBXRUJLSVRfRE9NX09CSkVDVF9HRVRfQ0xBU1Mob2Jq
KSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfRE9NX1RZUEVfT0JK
RUNULCBXZWJLaXRET01PYmplY3RDbGFzcykpCiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRET01P
YmplY3RQcml2YXRlIFdlYktpdERPTU9iamVjdFByaXZhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qvd2Via2l0ZG9tLnN5bWJvbHMgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L3dlYmtpdGRvbS5zeW1ib2xzCmluZGV4IGE3OThmNWZjZTM0
OTQ2MjlkODU2M2M4ZWY3MDY3MjMxZjYyYjA5ZWUuLjAyMGE0NjVlNjMyYTBjMjg5YmJjNGFiZDA4
NzBhZTk0MjFhMzllODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmpl
Y3Qvd2Via2l0ZG9tLnN5bWJvbHMKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC93ZWJraXRkb20uc3ltYm9scwpAQCAtMzAyLDkgKzMwMiw5IEBAIGdjaGFyKiB3ZWJraXRfZG9t
X2h0bWxfYmFzZV9lbGVtZW50X2dldF9ocmVmKFdlYktpdERPTUhUTUxCYXNlRWxlbWVudCopCiBn
Y2hhciogd2Via2l0X2RvbV9odG1sX2Jhc2VfZWxlbWVudF9nZXRfdGFyZ2V0KFdlYktpdERPTUhU
TUxCYXNlRWxlbWVudCopCiB2b2lkIHdlYmtpdF9kb21faHRtbF9iYXNlX2VsZW1lbnRfc2V0X2hy
ZWYoV2ViS2l0RE9NSFRNTEJhc2VFbGVtZW50KiwgY29uc3QgZ2NoYXIqKQogdm9pZCB3ZWJraXRf
ZG9tX2h0bWxfYmFzZV9lbGVtZW50X3NldF90YXJnZXQoV2ViS2l0RE9NSFRNTEJhc2VFbGVtZW50
KiwgY29uc3QgZ2NoYXIqKQotR1R5cGUgd2Via2l0X2RvbV9odG1sYnJfZWxlbWVudF9nZXRfdHlw
ZSh2b2lkKQotZ2NoYXIqIHdlYmtpdF9kb21faHRtbGJyX2VsZW1lbnRfZ2V0X2NsZWFyKFdlYktp
dERPTUhUTUxCUkVsZW1lbnQqKQotdm9pZCB3ZWJraXRfZG9tX2h0bWxicl9lbGVtZW50X3NldF9j
bGVhcihXZWJLaXRET01IVE1MQlJFbGVtZW50KiwgY29uc3QgZ2NoYXIqKQorR1R5cGUgd2Via2l0
X2RvbV9odG1sX2JyX2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkKK2djaGFyKiB3ZWJraXRfZG9tX2h0
bWxfYnJfZWxlbWVudF9nZXRfY2xlYXIoV2ViS2l0RE9NSFRNTEJSRWxlbWVudCopCit2b2lkIHdl
YmtpdF9kb21faHRtbF9icl9lbGVtZW50X3NldF9jbGVhcihXZWJLaXRET01IVE1MQlJFbGVtZW50
KiwgY29uc3QgZ2NoYXIqKQogR1R5cGUgd2Via2l0X2RvbV9odG1sX2Jhc2VfZm9udF9lbGVtZW50
X2dldF90eXBlKHZvaWQpCiBnY2hhciogd2Via2l0X2RvbV9odG1sX2Jhc2VfZm9udF9lbGVtZW50
X2dldF9jb2xvcihXZWJLaXRET01IVE1MQmFzZUZvbnRFbGVtZW50KikKIGdjaGFyKiB3ZWJraXRf
ZG9tX2h0bWxfYmFzZV9mb250X2VsZW1lbnRfZ2V0X2ZhY2UoV2ViS2l0RE9NSFRNTEJhc2VGb250
RWxlbWVudCopCkBAIC0zNDUsOSArMzQ1LDkgQEAgR1R5cGUgd2Via2l0X2RvbV9odG1sX2NvbGxl
Y3Rpb25fZ2V0X3R5cGUodm9pZCkKIGd1bG9uZyB3ZWJraXRfZG9tX2h0bWxfY29sbGVjdGlvbl9n
ZXRfbGVuZ3RoKFdlYktpdERPTUhUTUxDb2xsZWN0aW9uKikKIFdlYktpdERPTU5vZGUqIHdlYmtp
dF9kb21faHRtbF9jb2xsZWN0aW9uX2l0ZW0oV2ViS2l0RE9NSFRNTENvbGxlY3Rpb24qLCBndWxv
bmcpCiBXZWJLaXRET01Ob2RlKiB3ZWJraXRfZG9tX2h0bWxfY29sbGVjdGlvbl9uYW1lZF9pdGVt
KFdlYktpdERPTUhUTUxDb2xsZWN0aW9uKiwgY29uc3QgZ2NoYXIqKQotR1R5cGUgd2Via2l0X2Rv
bV9odG1sZF9saXN0X2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkKLWdib29sZWFuIHdlYmtpdF9kb21f
aHRtbGRfbGlzdF9lbGVtZW50X2dldF9jb21wYWN0KFdlYktpdERPTUhUTUxETGlzdEVsZW1lbnQq
KQotdm9pZCB3ZWJraXRfZG9tX2h0bWxkX2xpc3RfZWxlbWVudF9zZXRfY29tcGFjdChXZWJLaXRE
T01IVE1MRExpc3RFbGVtZW50KiwgZ2Jvb2xlYW4pCitHVHlwZSB3ZWJraXRfZG9tX2h0bWxfZF9s
aXN0X2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkKK2dib29sZWFuIHdlYmtpdF9kb21faHRtbF9kX2xp
c3RfZWxlbWVudF9nZXRfY29tcGFjdChXZWJLaXRET01IVE1MRExpc3RFbGVtZW50KikKK3ZvaWQg
d2Via2l0X2RvbV9odG1sX2RfbGlzdF9lbGVtZW50X3NldF9jb21wYWN0KFdlYktpdERPTUhUTUxE
TGlzdEVsZW1lbnQqLCBnYm9vbGVhbikKIEdUeXBlIHdlYmtpdF9kb21faHRtbF9kaXJlY3Rvcnlf
ZWxlbWVudF9nZXRfdHlwZSh2b2lkKQogZ2Jvb2xlYW4gd2Via2l0X2RvbV9odG1sX2RpcmVjdG9y
eV9lbGVtZW50X2dldF9jb21wYWN0KFdlYktpdERPTUhUTUxEaXJlY3RvcnlFbGVtZW50KikKIHZv
aWQgd2Via2l0X2RvbV9odG1sX2RpcmVjdG9yeV9lbGVtZW50X3NldF9jb21wYWN0KFdlYktpdERP
TUhUTUxEaXJlY3RvcnlFbGVtZW50KiwgZ2Jvb2xlYW4pCkBAIC00NjgsMTUgKzQ2OCwxNSBAQCBn
Y2hhciogd2Via2l0X2RvbV9odG1sX2ZyYW1lX3NldF9lbGVtZW50X2dldF9jb2xzKFdlYktpdERP
TUhUTUxGcmFtZVNldEVsZW1lbnQqKQogZ2NoYXIqIHdlYmtpdF9kb21faHRtbF9mcmFtZV9zZXRf
ZWxlbWVudF9nZXRfcm93cyhXZWJLaXRET01IVE1MRnJhbWVTZXRFbGVtZW50KikKIHZvaWQgd2Vi
a2l0X2RvbV9odG1sX2ZyYW1lX3NldF9lbGVtZW50X3NldF9jb2xzKFdlYktpdERPTUhUTUxGcmFt
ZVNldEVsZW1lbnQqLCBjb25zdCBnY2hhciopCiB2b2lkIHdlYmtpdF9kb21faHRtbF9mcmFtZV9z
ZXRfZWxlbWVudF9zZXRfcm93cyhXZWJLaXRET01IVE1MRnJhbWVTZXRFbGVtZW50KiwgY29uc3Qg
Z2NoYXIqKQotR1R5cGUgd2Via2l0X2RvbV9odG1saHJfZWxlbWVudF9nZXRfdHlwZSh2b2lkKQot
Z2NoYXIqIHdlYmtpdF9kb21faHRtbGhyX2VsZW1lbnRfZ2V0X2FsaWduKFdlYktpdERPTUhUTUxI
UkVsZW1lbnQqKQotZ2Jvb2xlYW4gd2Via2l0X2RvbV9odG1saHJfZWxlbWVudF9nZXRfbm9fc2hh
ZGUoV2ViS2l0RE9NSFRNTEhSRWxlbWVudCopCi1nY2hhciogd2Via2l0X2RvbV9odG1saHJfZWxl
bWVudF9nZXRfc2l6ZShXZWJLaXRET01IVE1MSFJFbGVtZW50KikKLWdjaGFyKiB3ZWJraXRfZG9t
X2h0bWxocl9lbGVtZW50X2dldF93aWR0aChXZWJLaXRET01IVE1MSFJFbGVtZW50KikKLXZvaWQg
d2Via2l0X2RvbV9odG1saHJfZWxlbWVudF9zZXRfYWxpZ24oV2ViS2l0RE9NSFRNTEhSRWxlbWVu
dCosIGNvbnN0IGdjaGFyKikKLXZvaWQgd2Via2l0X2RvbV9odG1saHJfZWxlbWVudF9zZXRfbm9f
c2hhZGUoV2ViS2l0RE9NSFRNTEhSRWxlbWVudCosIGdib29sZWFuKQotdm9pZCB3ZWJraXRfZG9t
X2h0bWxocl9lbGVtZW50X3NldF9zaXplKFdlYktpdERPTUhUTUxIUkVsZW1lbnQqLCBjb25zdCBn
Y2hhciopCi12b2lkIHdlYmtpdF9kb21faHRtbGhyX2VsZW1lbnRfc2V0X3dpZHRoKFdlYktpdERP
TUhUTUxIUkVsZW1lbnQqLCBjb25zdCBnY2hhciopCitHVHlwZSB3ZWJraXRfZG9tX2h0bWxfaHJf
ZWxlbWVudF9nZXRfdHlwZSh2b2lkKQorZ2NoYXIqIHdlYmtpdF9kb21faHRtbF9ocl9lbGVtZW50
X2dldF9hbGlnbihXZWJLaXRET01IVE1MSFJFbGVtZW50KikKK2dib29sZWFuIHdlYmtpdF9kb21f
aHRtbF9ocl9lbGVtZW50X2dldF9ub19zaGFkZShXZWJLaXRET01IVE1MSFJFbGVtZW50KikKK2dj
aGFyKiB3ZWJraXRfZG9tX2h0bWxfaHJfZWxlbWVudF9nZXRfc2l6ZShXZWJLaXRET01IVE1MSFJF
bGVtZW50KikKK2djaGFyKiB3ZWJraXRfZG9tX2h0bWxfaHJfZWxlbWVudF9nZXRfd2lkdGgoV2Vi
S2l0RE9NSFRNTEhSRWxlbWVudCopCit2b2lkIHdlYmtpdF9kb21faHRtbF9ocl9lbGVtZW50X3Nl
dF9hbGlnbihXZWJLaXRET01IVE1MSFJFbGVtZW50KiwgY29uc3QgZ2NoYXIqKQordm9pZCB3ZWJr
aXRfZG9tX2h0bWxfaHJfZWxlbWVudF9zZXRfbm9fc2hhZGUoV2ViS2l0RE9NSFRNTEhSRWxlbWVu
dCosIGdib29sZWFuKQordm9pZCB3ZWJraXRfZG9tX2h0bWxfaHJfZWxlbWVudF9zZXRfc2l6ZShX
ZWJLaXRET01IVE1MSFJFbGVtZW50KiwgY29uc3QgZ2NoYXIqKQordm9pZCB3ZWJraXRfZG9tX2h0
bWxfaHJfZWxlbWVudF9zZXRfd2lkdGgoV2ViS2l0RE9NSFRNTEhSRWxlbWVudCosIGNvbnN0IGdj
aGFyKikKIEdUeXBlIHdlYmtpdF9kb21faHRtbF9oZWFkX2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkK
IGdjaGFyKiB3ZWJraXRfZG9tX2h0bWxfaGVhZF9lbGVtZW50X2dldF9wcm9maWxlKFdlYktpdERP
TUhUTUxIZWFkRWxlbWVudCopCiB2b2lkIHdlYmtpdF9kb21faHRtbF9oZWFkX2VsZW1lbnRfc2V0
X3Byb2ZpbGUoV2ViS2l0RE9NSFRNTEhlYWRFbGVtZW50KiwgY29uc3QgZ2NoYXIqKQpAQCAtNTg1
LDkgKzU4NSw5IEBAIHZvaWQgd2Via2l0X2RvbV9odG1sX2lucHV0X2VsZW1lbnRfc2V0X3VzZV9t
YXAoV2ViS2l0RE9NSFRNTElucHV0RWxlbWVudCosIGNvbnN0CiB2b2lkIHdlYmtpdF9kb21faHRt
bF9pbnB1dF9lbGVtZW50X3NldF92YWx1ZShXZWJLaXRET01IVE1MSW5wdXRFbGVtZW50KiwgY29u
c3QgZ2NoYXIqKQogdm9pZCB3ZWJraXRfZG9tX2h0bWxfaW5wdXRfZWxlbWVudF9zZXRfd2lkdGgo
V2ViS2l0RE9NSFRNTElucHV0RWxlbWVudCosIGd1bG9uZykKIGdib29sZWFuIHdlYmtpdF9kb21f
aHRtbF9pbnB1dF9lbGVtZW50X2lzX2VkaXRlZChXZWJLaXRET01IVE1MSW5wdXRFbGVtZW50KikK
LUdUeXBlIHdlYmtpdF9kb21faHRtbGxpX2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkKLWdsb25nIHdl
YmtpdF9kb21faHRtbGxpX2VsZW1lbnRfZ2V0X3ZhbHVlKFdlYktpdERPTUhUTUxMSUVsZW1lbnQq
KQotdm9pZCB3ZWJraXRfZG9tX2h0bWxsaV9lbGVtZW50X3NldF92YWx1ZShXZWJLaXRET01IVE1M
TElFbGVtZW50KiwgZ2xvbmcpCitHVHlwZSB3ZWJraXRfZG9tX2h0bWxfbGlfZWxlbWVudF9nZXRf
dHlwZSh2b2lkKQorZ2xvbmcgd2Via2l0X2RvbV9odG1sX2xpX2VsZW1lbnRfZ2V0X3ZhbHVlKFdl
YktpdERPTUhUTUxMSUVsZW1lbnQqKQordm9pZCB3ZWJraXRfZG9tX2h0bWxfbGlfZWxlbWVudF9z
ZXRfdmFsdWUoV2ViS2l0RE9NSFRNTExJRWxlbWVudCosIGdsb25nKQogR1R5cGUgd2Via2l0X2Rv
bV9odG1sX2xhYmVsX2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkKIFdlYktpdERPTUhUTUxGb3JtRWxl
bWVudCogd2Via2l0X2RvbV9odG1sX2xhYmVsX2VsZW1lbnRfZ2V0X2Zvcm0oV2ViS2l0RE9NSFRN
TExhYmVsRWxlbWVudCopCiBnY2hhciogd2Via2l0X2RvbV9odG1sX2xhYmVsX2VsZW1lbnRfZ2V0
X2h0bWxfZm9yKFdlYktpdERPTUhUTUxMYWJlbEVsZW1lbnQqKQpAQCAtNjM4LDExICs2MzgsMTEg
QEAgZ2NoYXIqIHdlYmtpdF9kb21faHRtbF9tb2RfZWxlbWVudF9nZXRfY2l0ZShXZWJLaXRET01I
VE1MTW9kRWxlbWVudCopCiBnY2hhciogd2Via2l0X2RvbV9odG1sX21vZF9lbGVtZW50X2dldF9k
YXRlX3RpbWUoV2ViS2l0RE9NSFRNTE1vZEVsZW1lbnQqKQogdm9pZCB3ZWJraXRfZG9tX2h0bWxf
bW9kX2VsZW1lbnRfc2V0X2NpdGUoV2ViS2l0RE9NSFRNTE1vZEVsZW1lbnQqLCBjb25zdCBnY2hh
ciopCiB2b2lkIHdlYmtpdF9kb21faHRtbF9tb2RfZWxlbWVudF9zZXRfZGF0ZV90aW1lKFdlYktp
dERPTUhUTUxNb2RFbGVtZW50KiwgY29uc3QgZ2NoYXIqKQotR1R5cGUgd2Via2l0X2RvbV9odG1s
b19saXN0X2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkKLWdib29sZWFuIHdlYmtpdF9kb21faHRtbG9f
bGlzdF9lbGVtZW50X2dldF9jb21wYWN0KFdlYktpdERPTUhUTUxPTGlzdEVsZW1lbnQqKQotZ2xv
bmcgd2Via2l0X2RvbV9odG1sb19saXN0X2VsZW1lbnRfZ2V0X3N0YXJ0KFdlYktpdERPTUhUTUxP
TGlzdEVsZW1lbnQqKQotdm9pZCB3ZWJraXRfZG9tX2h0bWxvX2xpc3RfZWxlbWVudF9zZXRfY29t
cGFjdChXZWJLaXRET01IVE1MT0xpc3RFbGVtZW50KiwgZ2Jvb2xlYW4pCi12b2lkIHdlYmtpdF9k
b21faHRtbG9fbGlzdF9lbGVtZW50X3NldF9zdGFydChXZWJLaXRET01IVE1MT0xpc3RFbGVtZW50
KiwgZ2xvbmcpCitHVHlwZSB3ZWJraXRfZG9tX2h0bWxfb19saXN0X2VsZW1lbnRfZ2V0X3R5cGUo
dm9pZCkKK2dib29sZWFuIHdlYmtpdF9kb21faHRtbF9vX2xpc3RfZWxlbWVudF9nZXRfY29tcGFj
dChXZWJLaXRET01IVE1MT0xpc3RFbGVtZW50KikKK2dsb25nIHdlYmtpdF9kb21faHRtbF9vX2xp
c3RfZWxlbWVudF9nZXRfc3RhcnQoV2ViS2l0RE9NSFRNTE9MaXN0RWxlbWVudCopCit2b2lkIHdl
YmtpdF9kb21faHRtbF9vX2xpc3RfZWxlbWVudF9zZXRfY29tcGFjdChXZWJLaXRET01IVE1MT0xp
c3RFbGVtZW50KiwgZ2Jvb2xlYW4pCit2b2lkIHdlYmtpdF9kb21faHRtbF9vX2xpc3RfZWxlbWVu
dF9zZXRfc3RhcnQoV2ViS2l0RE9NSFRNTE9MaXN0RWxlbWVudCosIGdsb25nKQogR1R5cGUgd2Vi
a2l0X2RvbV9odG1sX29iamVjdF9lbGVtZW50X2dldF90eXBlKHZvaWQpCiBnY2hhciogd2Via2l0
X2RvbV9odG1sX29iamVjdF9lbGVtZW50X2dldF9hbGlnbihXZWJLaXRET01IVE1MT2JqZWN0RWxl
bWVudCopCiBnY2hhciogd2Via2l0X2RvbV9odG1sX29iamVjdF9lbGVtZW50X2dldF9hcmNoaXZl
KFdlYktpdERPTUhUTUxPYmplY3RFbGVtZW50KikKQEAgLTg5Niw5ICs4OTYsOSBAQCBnYm9vbGVh
biB3ZWJraXRfZG9tX2h0bWxfdGV4dF9hcmVhX2VsZW1lbnRfaXNfZWRpdGVkKFdlYktpdERPTUhU
TUxUZXh0QXJlYUVsZW1lbgogR1R5cGUgd2Via2l0X2RvbV9odG1sX3RpdGxlX2VsZW1lbnRfZ2V0
X3R5cGUodm9pZCkKIGdjaGFyKiB3ZWJraXRfZG9tX2h0bWxfdGl0bGVfZWxlbWVudF9nZXRfdGV4
dChXZWJLaXRET01IVE1MVGl0bGVFbGVtZW50KikKIHZvaWQgd2Via2l0X2RvbV9odG1sX3RpdGxl
X2VsZW1lbnRfc2V0X3RleHQoV2ViS2l0RE9NSFRNTFRpdGxlRWxlbWVudCosIGNvbnN0IGdjaGFy
KikKLUdUeXBlIHdlYmtpdF9kb21faHRtbHVfbGlzdF9lbGVtZW50X2dldF90eXBlKHZvaWQpCi1n
Ym9vbGVhbiB3ZWJraXRfZG9tX2h0bWx1X2xpc3RfZWxlbWVudF9nZXRfY29tcGFjdChXZWJLaXRE
T01IVE1MVUxpc3RFbGVtZW50KikKLXZvaWQgd2Via2l0X2RvbV9odG1sdV9saXN0X2VsZW1lbnRf
c2V0X2NvbXBhY3QoV2ViS2l0RE9NSFRNTFVMaXN0RWxlbWVudCosIGdib29sZWFuKQorR1R5cGUg
d2Via2l0X2RvbV9odG1sX3VfbGlzdF9lbGVtZW50X2dldF90eXBlKHZvaWQpCitnYm9vbGVhbiB3
ZWJraXRfZG9tX2h0bWxfdV9saXN0X2VsZW1lbnRfZ2V0X2NvbXBhY3QoV2ViS2l0RE9NSFRNTFVM
aXN0RWxlbWVudCopCit2b2lkIHdlYmtpdF9kb21faHRtbF91X2xpc3RfZWxlbWVudF9zZXRfY29t
cGFjdChXZWJLaXRET01IVE1MVUxpc3RFbGVtZW50KiwgZ2Jvb2xlYW4pCiBHVHlwZSB3ZWJraXRf
ZG9tX3N0eWxlX3NoZWV0X2xpc3RfZ2V0X3R5cGUodm9pZCkKIGd1bG9uZyB3ZWJraXRfZG9tX3N0
eWxlX3NoZWV0X2xpc3RfZ2V0X2xlbmd0aChXZWJLaXRET01TdHlsZVNoZWV0TGlzdCopCiBXZWJL
aXRET01TdHlsZVNoZWV0KiB3ZWJraXRfZG9tX3N0eWxlX3NoZWV0X2xpc3RfaXRlbShXZWJLaXRE
T01TdHlsZVNoZWV0TGlzdCosIGd1bG9uZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0gYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCmluZGV4IDFlMTI2MDUwYzc5
MDYxNmRhYjBiNDViZmQ2NWE0ZWUzMmJkYjhjZjQuLmZlNmI1ZjQzNDM3ZDIxZDFjOTFlOTBhNzFk
NmI3YjEzMzM5MTJiNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQpAQCAtMTU4LDYgKzE1OCwxMiBAQCBzdWIg
ZGVjYW1lbGl6ZQogICAgICAgICAgICAgcy94X3BhdGgveHBhdGgvOwogICAgICAgICAgICAgcy93
ZWJfa2l0L3dlYmtpdC87CiAgICAgICAgICAgICBzL2h0bWxpX2ZyYW1lL2h0bWxfaWZyYW1lLzsK
KyAgICAgICAgICAgIHMvaHRtbGJyL2h0bWxfYnIvOworICAgICAgICAgICAgcy9odG1sbGkvaHRt
bF9saS87CisgICAgICAgICAgICBzL2h0bWxoci9odG1sX2hyLzsKKyAgICAgICAgICAgIHMvaHRt
bGQvaHRtbF9kLzsKKyAgICAgICAgICAgIHMvaHRtbG8vaHRtbF9vLzsKKyAgICAgICAgICAgIHMv
aHRtbHUvaHRtbF91LzsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gJHM7CiB9CkBAIC0xODAs
OCArMTg2LDggQEAgc3ViIEh1bWFuUmVhZGFibGVDb25kaXRpb25hbCB7CiBzdWIgR2V0UGFyZW50
R09ialR5cGUgewogICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKIAotICAgIHJldHVybiAiV0VC
S0lUX1RZUEVfRE9NX09CSkVDVCIgdW5sZXNzICRpbnRlcmZhY2UtPnBhcmVudDsKLSAgICByZXR1
cm4gIldFQktJVF9UWVBFX0RPTV8iIC4gdWMoZGVjYW1lbGl6ZSgoJGludGVyZmFjZS0+cGFyZW50
KSkpOworICAgIHJldHVybiAiV0VCS0lUX0RPTV9UWVBFX09CSkVDVCIgdW5sZXNzICRpbnRlcmZh
Y2UtPnBhcmVudDsKKyAgICByZXR1cm4gIldFQktJVF9ET01fVFlQRV8iIC4gdWMoZGVjYW1lbGl6
ZSgoJGludGVyZmFjZS0+cGFyZW50KSkpOwogfQogCiBzdWIgR2V0Q2xhc3NOYW1lIHsKQEAgLTU5
OCw3ICs2MDQsNyBAQCBzdWIgR2VuZXJhdGVQcm9wZXJ0eSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ1Y2hhciIgPT4gICBbICJHX01JTklOVDgiLCAiR19NQVhJTlQ4IiwgIjAi
IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaGFyIiA9PiAgICBbICIwIiwg
IkdfTUFYVUlOVDgiLCAiMCIgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0
cmluZyIgPT4gIFsgJyIiJywgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9i
amVjdCIgPT4gIFsgIldFQktJVF9UWVBFX0RPTV8ke3VjUHJvcEdUeXBlfSIgXSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJvYmplY3QiID0+ICBbICJXRUJLSVRfRE9NX1RZUEVf
JHt1Y1Byb3BHVHlwZX0iIF0pOwogCiAgICAgbXkgJGV4dHJhUGFyYW1ldGVycyA9IGpvaW4oIiwg
IiwgQHskcGFyYW1ldGVyU3BlY09wdGlvbnN7JGd0eXBlfX0pOwogICAgIG15ICRnbGliVHlwZU5h
bWUgPSBHZXRHbGliVHlwZU5hbWUoJHByb3BUeXBlKTsKQEAgLTg1MSwxMiArODU3LDEyIEBAIEVP
RgogICAgIG15ICRsb3dlckNhc2VJZmFjZU5hbWUgPSAid2Via2l0X2RvbV8kZGVjYW1lbGl6ZSI7
CiAKICAgICAkaW1wbENvbnRlbnQgPSA8PCAiRU9GIjsKLSNkZWZpbmUgV0VCS0lUX1RZUEVfRE9N
XyR7Y2xzQ2Fwc30gICAgICAgICAgICAoJHtsb3dlckNhc2VJZmFjZU5hbWV9X2dldF90eXBlKCkp
Ci0jZGVmaW5lIFdFQktJVF9ET01fJHtjbHNDYXBzfShvYmopICAgICAgICAgICAgKEdfVFlQRV9D
SEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9ET01fJHtjbHNDYXBzfSwgJHtj
bGFzc05hbWV9KSkKLSNkZWZpbmUgV0VCS0lUX0RPTV8ke2Nsc0NhcHN9X0NMQVNTKGtsYXNzKSAg
ICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV8ke2Ns
c0NhcHN9LCAke2NsYXNzTmFtZX1DbGFzcykKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU18ke2Nsc0Nh
cHN9KG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJ
VF9UWVBFX0RPTV8ke2Nsc0NhcHN9KSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU18ke2Nsc0NhcHN9
X0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9U
WVBFX0RPTV8ke2Nsc0NhcHN9KSkKLSNkZWZpbmUgV0VCS0lUX0RPTV8ke2Nsc0NhcHN9X0dFVF9D
TEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9UWVBF
X0RPTV8ke2Nsc0NhcHN9LCAke2NsYXNzTmFtZX1DbGFzcykpCisjZGVmaW5lIFdFQktJVF9ET01f
VFlQRV8ke2Nsc0NhcHN9ICAgICAgICAgICAgKCR7bG93ZXJDYXNlSWZhY2VOYW1lfV9nZXRfdHlw
ZSgpKQorI2RlZmluZSBXRUJLSVRfRE9NXyR7Y2xzQ2Fwc30ob2JqKSAgICAgICAgICAgIChHX1RZ
UEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX0RPTV9UWVBFXyR7Y2xzQ2Fwc30s
ICR7Y2xhc3NOYW1lfSkpCisjZGVmaW5lIFdFQktJVF9ET01fJHtjbHNDYXBzfV9DTEFTUyhrbGFz
cykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVf
JHtjbHNDYXBzfSwgJHtjbGFzc05hbWV9Q2xhc3MpCisjZGVmaW5lIFdFQktJVF9ET01fSVNfJHtj
bHNDYXBzfShvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBX
RUJLSVRfRE9NX1RZUEVfJHtjbHNDYXBzfSkpCisjZGVmaW5lIFdFQktJVF9ET01fSVNfJHtjbHND
YXBzfV9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJL
SVRfRE9NX1RZUEVfJHtjbHNDYXBzfSkpCisjZGVmaW5lIFdFQktJVF9ET01fJHtjbHNDYXBzfV9H
RVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRf
RE9NX1RZUEVfJHtjbHNDYXBzfSwgJHtjbGFzc05hbWV9Q2xhc3MpKQogCiBzdHJ1Y3QgXyR7Y2xh
c3NOYW1lfSB7CiAgICAgJHtwYXJlbnRDbGFzc05hbWV9IHBhcmVudF9pbnN0YW5jZTsKQEAgLTEz
NTksNyArMTM2NSw3IEBAIHN1YiBHZW5lcmF0ZUNGaWxlIHsKICAgICAjIGZvciB0aGUgV2ViQ29y
ZSB3cmFwcGVkIG9iamVjdCBhbmQgbWFrZSBzdXJlIHdlIG9ubHkgaW5jcmVtZW50IHRoZSByZWZl
cmVuY2UgY291bnRlciBvbmNlLgogICAgIGlmICgkcGFyZW50SW1wbENsYXNzTmFtZSBlcSAiT2Jq
ZWN0IikgewogICAgICAgICBteSAkY29uZGl0aW9uYWxTdHJpbmcgPSAkY29kZUdlbmVyYXRvci0+
R2VuZXJhdGVDb25kaXRpb25hbFN0cmluZygkaW50ZXJmYWNlKTsKLSAgICAgICAgcHVzaChAY1N0
cnVjdFByaXYsICIjZGVmaW5lIFdFQktJVF9ET01fJHtjbHNDYXBzfV9HRVRfUFJJVkFURShvYmop
IEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9UWVBFX0RPTV8ke2Nsc0Nh
cHN9LCAke2NsYXNzTmFtZX1Qcml2YXRlKVxuXG4iKTsKKyAgICAgICAgcHVzaChAY1N0cnVjdFBy
aXYsICIjZGVmaW5lIFdFQktJVF9ET01fJHtjbHNDYXBzfV9HRVRfUFJJVkFURShvYmopIEdfVFlQ
RV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9ET01fVFlQRV8ke2Nsc0NhcHN9LCAk
e2NsYXNzTmFtZX1Qcml2YXRlKVxuXG4iKTsKICAgICAgICAgcHVzaChAY1N0cnVjdFByaXYsICJ0
eXBlZGVmIHN0cnVjdCBfJHtjbGFzc05hbWV9UHJpdmF0ZSB7XG4iKTsKICAgICAgICAgcHVzaChA
Y1N0cnVjdFByaXYsICIjaWYgJHtjb25kaXRpb25hbFN0cmluZ31cbiIpIGlmICRjb25kaXRpb25h
bFN0cmluZzsKICAgICAgICAgcHVzaChAY1N0cnVjdFByaXYsICIgICAgUmVmUHRyPFdlYkNvcmU6
OiR7aW50ZXJmYWNlTmFtZX0+IGNvcmVPYmplY3Q7XG4iKTsKQEAgLTE0MTAsNyArMTQxNiw3IEBA
IFdlYkNvcmU6OiR7aW50ZXJmYWNlTmFtZX0qIGNvcmUoJHtjbGFzc05hbWV9KiByZXF1ZXN0KQog
JHtjbGFzc05hbWV9KiB3cmFwJHtpbnRlcmZhY2VOYW1lfShXZWJDb3JlOjoke2ludGVyZmFjZU5h
bWV9KiBjb3JlT2JqZWN0KQogewogICAgIEFTU0VSVChjb3JlT2JqZWN0KTsKLSAgICByZXR1cm4g
V0VCS0lUX0RPTV8ke2Nsc0NhcHN9KGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9ET01fJHtjbHND
YXBzfSwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJL
SVRfRE9NXyR7Y2xzQ2Fwc30oZ19vYmplY3RfbmV3KFdFQktJVF9ET01fVFlQRV8ke2Nsc0NhcHN9
LCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBOVUxMKSk7CiB9CiAKIEVPRgpAQCAtMTUwOSw3
ICsxNTE1LDcgQEAgc3ViIEdlbmVyYXRlRXZlbnRUYXJnZXRJZmFjZSB7CiAgICAgcHVzaChAY0Jv
ZHlQcm9wZXJ0aWVzLCAiICAgIGlmYWNlLT5yZW1vdmVfZXZlbnRfbGlzdGVuZXIgPSB3ZWJraXRf
ZG9tXyR7ZGVjYW1lbGl6ZX1fcmVtb3ZlX2V2ZW50X2xpc3RlbmVyO1xufVxuXG4iKTsKIAogICAg
ICRkZWZpbmVUeXBlTWFjcm8gPSAiR19ERUZJTkVfVFlQRV9XSVRIX0NPREUiOwotICAgICRkZWZp
bmVUeXBlSW50ZXJmYWNlSW1wbGVtZW50YXRpb24gPSAiLCBHX0lNUExFTUVOVF9JTlRFUkZBQ0Uo
V0VCS0lUX1RZUEVfRE9NX0VWRU5UX1RBUkdFVCwgd2Via2l0X2RvbV9ldmVudF90YXJnZXRfaW5p
dCkpIjsKKyAgICAkZGVmaW5lVHlwZUludGVyZmFjZUltcGxlbWVudGF0aW9uID0gIiwgR19JTVBM
RU1FTlRfSU5URVJGQUNFKFdFQktJVF9ET01fVFlQRV9FVkVOVF9UQVJHRVQsIHdlYmtpdF9kb21f
ZXZlbnRfdGFyZ2V0X2luaXQpKSI7CiB9CiAKIHN1YiBHZW5lcmF0ZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01GbG9h
dDY0QXJyYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NRmxvYXQ2NEFycmF5LmNwcAppbmRleCBjMzFhNzM3YTM0ZGFlNjc5YzkxMzhh
NjRhY2MyMGNhYmVjZjQ5MGI5Li41MzkyZDk1MTVhYTYzNzE1NzNkYmJhZGExMWMxMDdmMjNiODNj
YjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01GbG9hdDY0QXJyYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTUZsb2F0NjRBcnJheS5jcHAKQEAgLTQ5
LDEyICs0OSwxMiBAQCBXZWJDb3JlOjpGbG9hdDY0QXJyYXkqIGNvcmUoV2ViS2l0RE9NRmxvYXQ2
NEFycmF5KiByZXF1ZXN0KQogV2ViS2l0RE9NRmxvYXQ2NEFycmF5KiB3cmFwRmxvYXQ2NEFycmF5
KFdlYkNvcmU6OkZsb2F0NjRBcnJheSogY29yZU9iamVjdCkKIHsKICAgICBBU1NFUlQoY29yZU9i
amVjdCk7Ci0gICAgcmV0dXJuIFdFQktJVF9ET01fRkxPQVQ2NEFSUkFZKGdfb2JqZWN0X25ldyhX
RUJLSVRfVFlQRV9ET01fRkxPQVQ2NEFSUkFZLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBO
VUxMKSk7CisgICAgcmV0dXJuIFdFQktJVF9ET01fRkxPQVQ2NEFSUkFZKGdfb2JqZWN0X25ldyhX
RUJLSVRfRE9NX1RZUEVfRkxPQVQ2NEFSUkFZLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBO
VUxMKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi1HX0RFRklORV9UWVBFKFdlYktp
dERPTUZsb2F0NjRBcnJheSwgd2Via2l0X2RvbV9mbG9hdDY0YXJyYXksIFdFQktJVF9UWVBFX0RP
TV9BUlJBWV9CVUZGRVJfVklFVykKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NRmxvYXQ2NEFycmF5
LCB3ZWJraXRfZG9tX2Zsb2F0NjRhcnJheSwgV0VCS0lUX0RPTV9UWVBFX0FSUkFZX0JVRkZFUl9W
SUVXKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX2Zsb2F0NjRhcnJheV9jbGFzc19pbml0KFdl
YktpdERPTUZsb2F0NjRBcnJheUNsYXNzKiByZXF1ZXN0Q2xhc3MpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01GbG9h
dDY0QXJyYXkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0
L1dlYktpdERPTUZsb2F0NjRBcnJheS5oCmluZGV4IDRkZGEyNTk0YTI0MWU2OGU5NGY1MDA0MzVk
ZTEzYjA5OTBhNWQwNmQuLmQ3ZjBkMDdjOGFhYjE0YmIwMzM1NDBmNDA2NmQyYzVmNjYyNmMwZjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0
L1dlYktpdERPTUZsb2F0NjRBcnJheS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTUZsb2F0NjRBcnJheS5oCkBAIC0zMSwxMiArMzEs
MTIgQEAKIAogR19CRUdJTl9ERUNMUwogCi0jZGVmaW5lIFdFQktJVF9UWVBFX0RPTV9GTE9BVDY0
QVJSQVkgICAgICAgICAgICAod2Via2l0X2RvbV9mbG9hdDY0YXJyYXlfZ2V0X3R5cGUoKSkKLSNk
ZWZpbmUgV0VCS0lUX0RPTV9GTE9BVDY0QVJSQVkob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hF
Q0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfRE9NX0ZMT0FUNjRBUlJBWSwgV2Vi
S2l0RE9NRmxvYXQ2NEFycmF5KSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9GTE9BVDY0QVJSQVlfQ0xB
U1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZ
UEVfRE9NX0ZMT0FUNjRBUlJBWSwgV2ViS2l0RE9NRmxvYXQ2NEFycmF5Q2xhc3MpCi0jZGVmaW5l
IFdFQktJVF9ET01fSVNfRkxPQVQ2NEFSUkFZKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lO
U1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9GTE9BVDY0QVJSQVkpKQotI2RlZmlu
ZSBXRUJLSVRfRE9NX0lTX0ZMT0FUNjRBUlJBWV9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19D
TEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fRkxPQVQ2NEFSUkFZKSkKLSNkZWZp
bmUgV0VCS0lUX0RPTV9GTE9BVDY0QVJSQVlfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFO
Q0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX0ZMT0FUNjRBUlJBWSwgV2ViS2l0
RE9NRmxvYXQ2NEFycmF5Q2xhc3MpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RZUEVfRkxPQVQ2NEFS
UkFZICAgICAgICAgICAgKHdlYmtpdF9kb21fZmxvYXQ2NGFycmF5X2dldF90eXBlKCkpCisjZGVm
aW5lIFdFQktJVF9ET01fRkxPQVQ2NEFSUkFZKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNL
X0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9ET01fVFlQRV9GTE9BVDY0QVJSQVksIFdlYktp
dERPTUZsb2F0NjRBcnJheSkpCisjZGVmaW5lIFdFQktJVF9ET01fRkxPQVQ2NEFSUkFZX0NMQVNT
KGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01f
VFlQRV9GTE9BVDY0QVJSQVksIFdlYktpdERPTUZsb2F0NjRBcnJheUNsYXNzKQorI2RlZmluZSBX
RUJLSVRfRE9NX0lTX0ZMT0FUNjRBUlJBWShvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNU
QU5DRV9UWVBFKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfRkxPQVQ2NEFSUkFZKSkKKyNkZWZpbmUg
V0VCS0lUX0RPTV9JU19GTE9BVDY0QVJSQVlfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xB
U1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX0ZMT0FUNjRBUlJBWSkpCisjZGVmaW5l
IFdFQktJVF9ET01fRkxPQVQ2NEFSUkFZX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNF
X0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQRV9GTE9BVDY0QVJSQVksIFdlYktpdERP
TUZsb2F0NjRBcnJheUNsYXNzKSkKIAogc3RydWN0IF9XZWJLaXRET01GbG9hdDY0QXJyYXkgewog
ICAgIFdlYktpdERPTUFycmF5QnVmZmVyVmlldyBwYXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4IDRkZDA3
ZmRhZTZjMmZiZWViMTY3MzEwNTNhNTgwOWZjNmI2ZGMxZGQuLmU1OTE4OTY4Yzk2YjYwZTIxNTZm
NzI5NjJkMzJjZWIyNjkxM2E2ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RBY3RpdmVET01PYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RBY3RpdmVET01PYmplY3QuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAjaW5jbHVkZSA8d3Rm
L0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotI2RlZmluZSBXRUJLSVRfRE9N
X1RFU1RfQUNUSVZFX0RPTV9PQkpFQ1RfR0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0Vf
R0VUX1BSSVZBVEUob2JqLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9BQ1RJVkVfRE9NX09CSkVDVCwg
V2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdFByaXZhdGUpCisjZGVmaW5lIFdFQktJVF9ET01f
VEVTVF9BQ1RJVkVfRE9NX09CSkVDVF9HRVRfUFJJVkFURShvYmopIEdfVFlQRV9JTlNUQU5DRV9H
RVRfUFJJVkFURShvYmosIFdFQktJVF9ET01fVFlQRV9URVNUX0FDVElWRV9ET01fT0JKRUNULCBX
ZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0UHJpdmF0ZSkKIAogdHlwZWRlZiBzdHJ1Y3QgX1dl
YktpdERPTVRlc3RBY3RpdmVET01PYmplY3RQcml2YXRlIHsKICAgICBSZWZQdHI8V2ViQ29yZTo6
VGVzdEFjdGl2ZURPTU9iamVjdD4gY29yZU9iamVjdDsKQEAgLTYwLDEyICs2MCwxMiBAQCBXZWJD
b3JlOjpUZXN0QWN0aXZlRE9NT2JqZWN0KiBjb3JlKFdlYktpdERPTVRlc3RBY3RpdmVET01PYmpl
Y3QqIHJlcXVlc3QpCiBXZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0KiB3cmFwVGVzdEFjdGl2
ZURPTU9iamVjdChXZWJDb3JlOjpUZXN0QWN0aXZlRE9NT2JqZWN0KiBjb3JlT2JqZWN0KQogewog
ICAgIEFTU0VSVChjb3JlT2JqZWN0KTsKLSAgICByZXR1cm4gV0VCS0lUX0RPTV9URVNUX0FDVElW
RV9ET01fT0JKRUNUKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9ET01fVEVTVF9BQ1RJVkVfRE9N
X09CSkVDVCwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBX
RUJLSVRfRE9NX1RFU1RfQUNUSVZFX0RPTV9PQkpFQ1QoZ19vYmplY3RfbmV3KFdFQktJVF9ET01f
VFlQRV9URVNUX0FDVElWRV9ET01fT0JKRUNULCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBO
VUxMKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi1HX0RFRklORV9UWVBFKFdlYktp
dERPTVRlc3RBY3RpdmVET01PYmplY3QsIHdlYmtpdF9kb21fdGVzdF9hY3RpdmVfZG9tX29iamVj
dCwgV0VCS0lUX1RZUEVfRE9NX09CSkVDVCkKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdEFj
dGl2ZURPTU9iamVjdCwgd2Via2l0X2RvbV90ZXN0X2FjdGl2ZV9kb21fb2JqZWN0LCBXRUJLSVRf
RE9NX1RZUEVfT0JKRUNUKQogCiBlbnVtIHsKICAgICBQUk9QXzAsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0QWN0
aXZlRE9NT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0LmgKaW5kZXggYTJjMTI1MmI5NDRhMWI1
ZDBjMTE4Yzc0YWEyNGQzOTE5MjFiODNhMC4uMjA0NjdhNjZlM2JkNjU3NDVkZGMzMjdjZjEwN2Fk
ZjczMmJiMmM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RBY3RpdmVE
T01PYmplY3QuaApAQCAtMjksMTIgKzI5LDEyIEBACiAKIEdfQkVHSU5fREVDTFMKIAotI2RlZmlu
ZSBXRUJLSVRfVFlQRV9ET01fVEVTVF9BQ1RJVkVfRE9NX09CSkVDVCAgICAgICAgICAgICh3ZWJr
aXRfZG9tX3Rlc3RfYWN0aXZlX2RvbV9vYmplY3RfZ2V0X3R5cGUoKSkKLSNkZWZpbmUgV0VCS0lU
X0RPTV9URVNUX0FDVElWRV9ET01fT0JKRUNUKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNL
X0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9URVNUX0FDVElWRV9ET01fT0JK
RUNULCBXZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0KSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9U
RVNUX0FDVElWRV9ET01fT0JKRUNUX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNT
X0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX0FDVElWRV9ET01fT0JKRUNULCBX
ZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0Q2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNf
VEVTVF9BQ1RJVkVfRE9NX09CSkVDVChvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5D
RV9UWVBFKChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9BQ1RJVkVfRE9NX09CSkVDVCkpCi0j
ZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9BQ1RJVkVfRE9NX09CSkVDVF9DTEFTUyhrbGFzcykg
KEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9B
Q1RJVkVfRE9NX09CSkVDVCkpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9BQ1RJVkVfRE9NX09C
SkVDVF9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBX
RUJLSVRfVFlQRV9ET01fVEVTVF9BQ1RJVkVfRE9NX09CSkVDVCwgV2ViS2l0RE9NVGVzdEFjdGl2
ZURPTU9iamVjdENsYXNzKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9UWVBFX1RFU1RfQUNUSVZFX0RP
TV9PQkpFQ1QgICAgICAgICAgICAod2Via2l0X2RvbV90ZXN0X2FjdGl2ZV9kb21fb2JqZWN0X2dl
dF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9BQ1RJVkVfRE9NX09CSkVDVChvYmop
ICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfRE9N
X1RZUEVfVEVTVF9BQ1RJVkVfRE9NX09CSkVDVCwgV2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVj
dCkpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9BQ1RJVkVfRE9NX09CSkVDVF9DTEFTUyhrbGFz
cykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVf
VEVTVF9BQ1RJVkVfRE9NX09CSkVDVCwgV2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdENsYXNz
KQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfQUNUSVZFX0RPTV9PQkpFQ1Qob2JqKSAgICAg
ICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX0RPTV9UWVBFX1RF
U1RfQUNUSVZFX0RPTV9PQkpFQ1QpKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfQUNUSVZF
X0RPTV9PQkpFQ1RfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3Mp
LCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfQUNUSVZFX0RPTV9PQkpFQ1QpKQorI2RlZmluZSBXRUJL
SVRfRE9NX1RFU1RfQUNUSVZFX0RPTV9PQkpFQ1RfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5T
VEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfQUNUSVZFX0RPTV9P
QkpFQ1QsIFdlYktpdERPTVRlc3RBY3RpdmVET01PYmplY3RDbGFzcykpCiAKIHN0cnVjdCBfV2Vi
S2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdCB7CiAgICAgV2ViS2l0RE9NT2JqZWN0IHBhcmVudF9p
bnN0YW5jZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suY3BwCmluZGV4
IDYyZTgyZGJhMjY5ZGYxNzcyNTBkYzliZjQzNzFmNGE0YThkYmUyYjYuLjllNDlhMzUzMWM4ZjIx
NTEzYjBmYjQ2OWNjZTJhMTZiMGVhZDczMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9N
VGVzdENhbGxiYWNrLmNwcApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgPHd0Zi9HZXRQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0NB
TExCQUNLX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwg
V0VCS0lUX1RZUEVfRE9NX1RFU1RfQ0FMTEJBQ0ssIFdlYktpdERPTVRlc3RDYWxsYmFja1ByaXZh
dGUpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9DQUxMQkFDS19HRVRfUFJJVkFURShvYmopIEdf
VFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9ET01fVFlQRV9URVNUX0NBTExC
QUNLLCBXZWJLaXRET01UZXN0Q2FsbGJhY2tQcml2YXRlKQogCiB0eXBlZGVmIHN0cnVjdCBfV2Vi
S2l0RE9NVGVzdENhbGxiYWNrUHJpdmF0ZSB7CiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKQEAg
LTY3LDE0ICs2NywxNCBAQCBXZWJDb3JlOjpUZXN0Q2FsbGJhY2sqIGNvcmUoV2ViS2l0RE9NVGVz
dENhbGxiYWNrKiByZXF1ZXN0KQogV2ViS2l0RE9NVGVzdENhbGxiYWNrKiB3cmFwVGVzdENhbGxi
YWNrKFdlYkNvcmU6OlRlc3RDYWxsYmFjayogY29yZU9iamVjdCkKIHsKICAgICBBU1NFUlQoY29y
ZU9iamVjdCk7Ci0gICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9DQUxMQkFDSyhnX29iamVjdF9u
ZXcoV0VCS0lUX1RZUEVfRE9NX1RFU1RfQ0FMTEJBQ0ssICJjb3JlLW9iamVjdCIsIGNvcmVPYmpl
Y3QsIE5VTEwpKTsKKyAgICByZXR1cm4gV0VCS0lUX0RPTV9URVNUX0NBTExCQUNLKGdfb2JqZWN0
X25ldyhXRUJLSVRfRE9NX1RZUEVfVEVTVF9DQUxMQkFDSywgImNvcmUtb2JqZWN0IiwgY29yZU9i
amVjdCwgTlVMTCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAKLUdfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdENhbGxiYWNr
LCB3ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2ssIFdFQktJVF9UWVBFX0RPTV9PQkpFQ1QpCitHX0RF
RklORV9UWVBFKFdlYktpdERPTVRlc3RDYWxsYmFjaywgd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNr
LCBXRUJLSVRfRE9NX1RZUEVfT0JKRUNUKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3Rf
Y2FsbGJhY2tfZmluYWxpemUoR09iamVjdCogb2JqZWN0KQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdENhbGxi
YWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0Q2FsbGJhY2suaAppbmRleCA5NGYzMzcyNDBkMzdjYjI5ZGJlYjZjMDdlZTgxMDUw
NTViM2Q4YjQ1Li45ZjYwZjMwMGI1YjFlMGY0YTFmOGY4NGI4NWUzOWZjYzZlZjc4NmQzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0Q2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suaApAQCAtMjksMTIgKzI5LDEyIEBA
CiAKIEdfQkVHSU5fREVDTFMKIAotI2RlZmluZSBXRUJLSVRfVFlQRV9ET01fVEVTVF9DQUxMQkFD
SyAgICAgICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfZ2V0X3R5cGUoKSkKLSNkZWZp
bmUgV0VCS0lUX0RPTV9URVNUX0NBTExCQUNLKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNL
X0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9URVNUX0NBTExCQUNLLCBXZWJL
aXRET01UZXN0Q2FsbGJhY2spKQotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfQ0FMTEJBQ0tfQ0xB
U1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZ
UEVfRE9NX1RFU1RfQ0FMTEJBQ0ssIFdlYktpdERPTVRlc3RDYWxsYmFja0NsYXNzKQotI2RlZmlu
ZSBXRUJLSVRfRE9NX0lTX1RFU1RfQ0FMTEJBQ0sob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tf
SU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZUEVfRE9NX1RFU1RfQ0FMTEJBQ0spKQotI2Rl
ZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfQ0FMTEJBQ0tfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hF
Q0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfQ0FMTEJBQ0spKQot
I2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfQ0FMTEJBQ0tfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVf
SU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfQ0FMTEJBQ0ss
IFdlYktpdERPTVRlc3RDYWxsYmFja0NsYXNzKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9UWVBFX1RF
U1RfQ0FMTEJBQ0sgICAgICAgICAgICAod2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2dldF90eXBl
KCkpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9DQUxMQkFDSyhvYmopICAgICAgICAgICAgKEdf
VFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9DQUxM
QkFDSywgV2ViS2l0RE9NVGVzdENhbGxiYWNrKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0NB
TExCQUNLX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwg
IFdFQktJVF9ET01fVFlQRV9URVNUX0NBTExCQUNLLCBXZWJLaXRET01UZXN0Q2FsbGJhY2tDbGFz
cykKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX0NBTExCQUNLKG9iaikgICAgICAgICAoR19U
WVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9ET01fVFlQRV9URVNUX0NBTExC
QUNLKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX0NBTExCQUNLX0NMQVNTKGtsYXNzKSAo
R19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX0NB
TExCQUNLKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0NBTExCQUNLX0dFVF9DTEFTUyhvYmop
ICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQRV9URVNU
X0NBTExCQUNLLCBXZWJLaXRET01UZXN0Q2FsbGJhY2tDbGFzcykpCiAKIHN0cnVjdCBfV2ViS2l0
RE9NVGVzdENhbGxiYWNrIHsKICAgICBXZWJLaXRET01PYmplY3QgcGFyZW50X2luc3RhbmNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlci5j
cHAKaW5kZXggMWE1MDdmMDdlZDM5ZWMzMzE0ZmZjMzFmNjY0MGM3N2M4ODczMGEwOS4uZDQ0ZWFk
YjA5ZDczYzNjNTFmZTJkNWFjMmM1N2IzZWViNTMzN2YxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEN1c3RvbU5h
bWVkR2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCkBAIC0zMiw3ICszMiw3
IEBACiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAot
I2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUl9HRVRfUFJJVkFURShv
YmopIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9UWVBFX0RPTV9URVNU
X0NVU1RPTV9OQU1FRF9HRVRURVIsIFdlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlclByaXZh
dGUpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSX0dFVF9QUklW
QVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX0RPTV9UWVBF
X1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUiwgV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVy
UHJpdmF0ZSkKIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRl
clByaXZhdGUgewogICAgIFJlZlB0cjxXZWJDb3JlOjpUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI+IGNv
cmVPYmplY3Q7CkBAIC01OSwxMiArNTksMTIgQEAgV2ViQ29yZTo6VGVzdEN1c3RvbU5hbWVkR2V0
dGVyKiBjb3JlKFdlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlciogcmVxdWVzdCkKIFdlYktp
dERPTVRlc3RDdXN0b21OYW1lZEdldHRlciogd3JhcFRlc3RDdXN0b21OYW1lZEdldHRlcihXZWJD
b3JlOjpUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqIGNvcmVPYmplY3QpCiB7CiAgICAgQVNTRVJUKGNv
cmVPYmplY3QpOwotICAgIHJldHVybiBXRUJLSVRfRE9NX1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRF
UihnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfRE9NX1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUiwg
ImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRfRE9N
X1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUihnX29iamVjdF9uZXcoV0VCS0lUX0RPTV9UWVBFX1RF
U1RfQ1VTVE9NX05BTUVEX0dFVFRFUiwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotR19ERUZJTkVfVFlQRShXZWJLaXRET01U
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXIsIHdlYmtpdF9kb21fdGVzdF9jdXN0b21fbmFtZWRfZ2V0dGVy
LCBXRUJLSVRfVFlQRV9ET01fT0JKRUNUKQorR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0Q3Vz
dG9tTmFtZWRHZXR0ZXIsIHdlYmtpdF9kb21fdGVzdF9jdXN0b21fbmFtZWRfZ2V0dGVyLCBXRUJL
SVRfRE9NX1RZUEVfT0JKRUNUKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3RfY3VzdG9t
X25hbWVkX2dldHRlcl9maW5hbGl6ZShHT2JqZWN0KiBvYmplY3QpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
Q3VzdG9tTmFtZWRHZXR0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9HT2JqZWN0L1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlci5oCmluZGV4IGM3YTg0YTU1
ODUzNmMxNTc4N2EwOTJiMGE5NTMxNWFiZmQwMjVjNGYuLjU4NTZjMTAwOTBjYmE5ZjM2MmQzNjdl
ODFmMjQ0MTQ1YzQyODU0YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRl
c3RDdXN0b21OYW1lZEdldHRlci5oCkBAIC0yOSwxMiArMjksMTIgQEAKIAogR19CRUdJTl9ERUNM
UwogCi0jZGVmaW5lIFdFQktJVF9UWVBFX0RPTV9URVNUX0NVU1RPTV9OQU1FRF9HRVRURVIgICAg
ICAgICAgICAod2Via2l0X2RvbV90ZXN0X2N1c3RvbV9uYW1lZF9nZXR0ZXJfZ2V0X3R5cGUoKSkK
LSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0NVU1RPTV9OQU1FRF9HRVRURVIob2JqKSAgICAgICAg
ICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfRE9NX1RF
U1RfQ1VTVE9NX05BTUVEX0dFVFRFUiwgV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyKSkK
LSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0NVU1RPTV9OQU1FRF9HRVRURVJfQ0xBU1Moa2xhc3Mp
ICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RF
U1RfQ1VTVE9NX05BTUVEX0dFVFRFUiwgV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyQ2xh
c3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSKG9iaikg
ICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX0RP
TV9URVNUX0NVU1RPTV9OQU1FRF9HRVRURVIpKQotI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1Rf
Q1VTVE9NX05BTUVEX0dFVFRFUl9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBF
KChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSKSkKLSNk
ZWZpbmUgV0VCS0lUX0RPTV9URVNUX0NVU1RPTV9OQU1FRF9HRVRURVJfR0VUX0NMQVNTKG9iaikg
IChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1Rf
Q1VTVE9NX05BTUVEX0dFVFRFUiwgV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyQ2xhc3Mp
KQorI2RlZmluZSBXRUJLSVRfRE9NX1RZUEVfVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSICAgICAg
ICAgICAgKHdlYmtpdF9kb21fdGVzdF9jdXN0b21fbmFtZWRfZ2V0dGVyX2dldF90eXBlKCkpCisj
ZGVmaW5lIFdFQktJVF9ET01fVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSKG9iaikgICAgICAgICAg
ICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9ET01fVFlQRV9URVNU
X0NVU1RPTV9OQU1FRF9HRVRURVIsIFdlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlcikpCisj
ZGVmaW5lIFdFQktJVF9ET01fVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSX0NMQVNTKGtsYXNzKSAg
ICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNU
X0NVU1RPTV9OQU1FRF9HRVRURVIsIFdlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlckNsYXNz
KQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUihvYmopICAg
ICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfRE9NX1RZUEVf
VEVTVF9DVVNUT01fTkFNRURfR0VUVEVSKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX0NV
U1RPTV9OQU1FRF9HRVRURVJfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgo
a2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUikpCisjZGVm
aW5lIFdFQktJVF9ET01fVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSX0dFVF9DTEFTUyhvYmopICAo
R19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX0NV
U1RPTV9OQU1FRF9HRVRURVIsIFdlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlckNsYXNzKSkK
IAogc3RydWN0IF9XZWJLaXRET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXIgewogICAgIFdlYktpdERP
TU9iamVjdCBwYXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0RXZlbnRDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggOGQyOGIyOTdiMzU0ZDY1ZWQ4NjQ2MjNi
ODcyMjJkNTI4OTdhMjMyZS4uMmRlOWUxMDQ3Njc0MDk0MTQwMzFmYzMwOWZjNmRkMzIyYTI3N2Fh
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudENvbnN0cnVj
dG9yLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0VWRU5UX0NPTlNU
UlVDVE9SX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwg
V0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1IsIFdlYktpdERPTVRlc3RFdmVu
dENvbnN0cnVjdG9yUHJpdmF0ZSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0VWRU5UX0NPTlNU
UlVDVE9SX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwg
V0VCS0lUX0RPTV9UWVBFX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1IsIFdlYktpdERPTVRlc3RFdmVu
dENvbnN0cnVjdG9yUHJpdmF0ZSkKIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RFdmVu
dENvbnN0cnVjdG9yUHJpdmF0ZSB7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlRlc3RFdmVudENvbnN0
cnVjdG9yPiBjb3JlT2JqZWN0OwpAQCAtNTksMTIgKzU5LDEyIEBAIFdlYkNvcmU6OlRlc3RFdmVu
dENvbnN0cnVjdG9yKiBjb3JlKFdlYktpdERPTVRlc3RFdmVudENvbnN0cnVjdG9yKiByZXF1ZXN0
KQogV2ViS2l0RE9NVGVzdEV2ZW50Q29uc3RydWN0b3IqIHdyYXBUZXN0RXZlbnRDb25zdHJ1Y3Rv
cihXZWJDb3JlOjpUZXN0RXZlbnRDb25zdHJ1Y3RvciogY29yZU9iamVjdCkKIHsKICAgICBBU1NF
UlQoY29yZU9iamVjdCk7Ci0gICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9FVkVOVF9DT05TVFJV
Q1RPUihnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1Is
ICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKKyAgICByZXR1cm4gV0VCS0lUX0RP
TV9URVNUX0VWRU5UX0NPTlNUUlVDVE9SKGdfb2JqZWN0X25ldyhXRUJLSVRfRE9NX1RZUEVfVEVT
VF9FVkVOVF9DT05TVFJVQ1RPUiwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0
RXZlbnRDb25zdHJ1Y3Rvciwgd2Via2l0X2RvbV90ZXN0X2V2ZW50X2NvbnN0cnVjdG9yLCBXRUJL
SVRfVFlQRV9ET01fT0JKRUNUKQorR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0RXZlbnRDb25z
dHJ1Y3Rvciwgd2Via2l0X2RvbV90ZXN0X2V2ZW50X2NvbnN0cnVjdG9yLCBXRUJLSVRfRE9NX1RZ
UEVfT0JKRUNUKQogCiBlbnVtIHsKICAgICBQUk9QXzAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0RXZlbnRDb25z
dHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdEV2ZW50Q29uc3RydWN0b3IuaAppbmRleCBlM2JhN2VjMTI3YzQwNWQxNWRk
N2FkMTM3M2UwNWU1MWUzZWI1ZWVkLi42NjNmYmNlZDJiOGE2ZjVlMWQ1ZjYyY2Q2Y2I2YTY0MjVl
NGE5Y2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudENvbnN0
cnVjdG9yLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogCiBHX0JFR0lOX0RFQ0xTCiAKLSNkZWZpbmUg
V0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1IgICAgICAgICAgICAod2Via2l0
X2RvbV90ZXN0X2V2ZW50X2NvbnN0cnVjdG9yX2dldF90eXBlKCkpCi0jZGVmaW5lIFdFQktJVF9E
T01fVEVTVF9FVkVOVF9DT05TVFJVQ1RPUihvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19J
TlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9FVkVOVF9DT05TVFJVQ1RP
UiwgV2ViS2l0RE9NVGVzdEV2ZW50Q29uc3RydWN0b3IpKQotI2RlZmluZSBXRUJLSVRfRE9NX1RF
U1RfRVZFTlRfQ09OU1RSVUNUT1JfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1Nf
Q0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1IsIFdl
YktpdERPTVRlc3RFdmVudENvbnN0cnVjdG9yQ2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNf
VEVTVF9FVkVOVF9DT05TVFJVQ1RPUihvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5D
RV9UWVBFKChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9FVkVOVF9DT05TVFJVQ1RPUikpCi0j
ZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9FVkVOVF9DT05TVFJVQ1RPUl9DTEFTUyhrbGFzcykg
KEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9F
VkVOVF9DT05TVFJVQ1RPUikpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9FVkVOVF9DT05TVFJV
Q1RPUl9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBX
RUJLSVRfVFlQRV9ET01fVEVTVF9FVkVOVF9DT05TVFJVQ1RPUiwgV2ViS2l0RE9NVGVzdEV2ZW50
Q29uc3RydWN0b3JDbGFzcykpCisjZGVmaW5lIFdFQktJVF9ET01fVFlQRV9URVNUX0VWRU5UX0NP
TlNUUlVDVE9SICAgICAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9ldmVudF9jb25zdHJ1Y3Rvcl9n
ZXRfdHlwZSgpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1Iob2Jq
KSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX0RP
TV9UWVBFX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1IsIFdlYktpdERPTVRlc3RFdmVudENvbnN0cnVj
dG9yKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0VWRU5UX0NPTlNUUlVDVE9SX0NMQVNTKGts
YXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQ
RV9URVNUX0VWRU5UX0NPTlNUUlVDVE9SLCBXZWJLaXRET01UZXN0RXZlbnRDb25zdHJ1Y3RvckNs
YXNzKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1Iob2JqKSAg
ICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX0RPTV9UWVBF
X1RFU1RfRVZFTlRfQ09OU1RSVUNUT1IpKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfRVZF
TlRfQ09OU1RSVUNUT1JfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xh
c3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1IpKQorI2RlZmluZSBX
RUJLSVRfRE9NX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1JfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVf
SU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfRVZFTlRfQ09O
U1RSVUNUT1IsIFdlYktpdERPTVRlc3RFdmVudENvbnN0cnVjdG9yQ2xhc3MpKQogCiBzdHJ1Y3Qg
X1dlYktpdERPTVRlc3RFdmVudENvbnN0cnVjdG9yIHsKICAgICBXZWJLaXRET01PYmplY3QgcGFy
ZW50X2luc3RhbmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudFRhcmdl
dC5jcHAKaW5kZXggMTk2OWYwOTBiZGQ1OWE4NjIwZmY1YTEyOGQ1OTBjNGIzNGExMTRjMy4uZTZl
Mzk2NzdjZDI4MzFmNGNjZjc2NjFhNTNkNmQxZTc1ZWNkMjAwYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV2ZW50
VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0RXZlbnRUYXJnZXQuY3BwCkBAIC0zNiw3ICszNiw3IEBACiAjaW5j
bHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotI2RlZmluZSBX
RUJLSVRfRE9NX1RFU1RfRVZFTlRfVEFSR0VUX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RB
TkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRfVEFSR0VULCBX
ZWJLaXRET01UZXN0RXZlbnRUYXJnZXRQcml2YXRlKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1Rf
RVZFTlRfVEFSR0VUX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRF
KG9iaiwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfRVZFTlRfVEFSR0VULCBXZWJLaXRET01UZXN0RXZl
bnRUYXJnZXRQcml2YXRlKQogCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0RE9NVGVzdEV2ZW50VGFy
Z2V0UHJpdmF0ZSB7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlRlc3RFdmVudFRhcmdldD4gY29yZU9i
amVjdDsKQEAgLTYzLDcgKzYzLDcgQEAgV2ViQ29yZTo6VGVzdEV2ZW50VGFyZ2V0KiBjb3JlKFdl
YktpdERPTVRlc3RFdmVudFRhcmdldCogcmVxdWVzdCkKIFdlYktpdERPTVRlc3RFdmVudFRhcmdl
dCogd3JhcFRlc3RFdmVudFRhcmdldChXZWJDb3JlOjpUZXN0RXZlbnRUYXJnZXQqIGNvcmVPYmpl
Y3QpCiB7CiAgICAgQVNTRVJUKGNvcmVPYmplY3QpOwotICAgIHJldHVybiBXRUJLSVRfRE9NX1RF
U1RfRVZFTlRfVEFSR0VUKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9ET01fVEVTVF9FVkVOVF9U
QVJHRVQsICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKKyAgICByZXR1cm4gV0VC
S0lUX0RPTV9URVNUX0VWRU5UX1RBUkdFVChnX29iamVjdF9uZXcoV0VCS0lUX0RPTV9UWVBFX1RF
U1RfRVZFTlRfVEFSR0VULCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBOVUxMKSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApAQCAtMTAxLDcgKzEwMSw3IEBAIHN0YXRpYyB2b2lkIHdl
YmtpdF9kb21fZXZlbnRfdGFyZ2V0X2luaXQoV2ViS2l0RE9NRXZlbnRUYXJnZXRJZmFjZSogaWZh
Y2UpCiAgICAgaWZhY2UtPnJlbW92ZV9ldmVudF9saXN0ZW5lciA9IHdlYmtpdF9kb21fdGVzdF9l
dmVudF90YXJnZXRfcmVtb3ZlX2V2ZW50X2xpc3RlbmVyOwogfQogCi1HX0RFRklORV9UWVBFX1dJ
VEhfQ09ERShXZWJLaXRET01UZXN0RXZlbnRUYXJnZXQsIHdlYmtpdF9kb21fdGVzdF9ldmVudF90
YXJnZXQsIFdFQktJVF9UWVBFX0RPTV9PQkpFQ1QsIEdfSU1QTEVNRU5UX0lOVEVSRkFDRShXRUJL
SVRfVFlQRV9ET01fRVZFTlRfVEFSR0VULCB3ZWJraXRfZG9tX2V2ZW50X3RhcmdldF9pbml0KSkK
K0dfREVGSU5FX1RZUEVfV0lUSF9DT0RFKFdlYktpdERPTVRlc3RFdmVudFRhcmdldCwgd2Via2l0
X2RvbV90ZXN0X2V2ZW50X3RhcmdldCwgV0VCS0lUX0RPTV9UWVBFX09CSkVDVCwgR19JTVBMRU1F
TlRfSU5URVJGQUNFKFdFQktJVF9ET01fVFlQRV9FVkVOVF9UQVJHRVQsIHdlYmtpdF9kb21fZXZl
bnRfdGFyZ2V0X2luaXQpKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3RfZXZlbnRfdGFy
Z2V0X2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudFRhcmdl
dC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdEV2ZW50VGFyZ2V0LmgKaW5kZXggOGZmOWNhN2Y4ZTgyNDFhNWJiOWVlMzJmYWYwOTNh
ODViZWM4NDg2ZC4uOGM3NjY2ODljOWY3NGM5ZmFhNDQ1ZDk4NWFhMDA3YzZkODVhZTJmMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdEV2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0LmgKQEAgLTI5LDEyICsy
OSwxMiBAQAogCiBHX0JFR0lOX0RFQ0xTCiAKLSNkZWZpbmUgV0VCS0lUX1RZUEVfRE9NX1RFU1Rf
RVZFTlRfVEFSR0VUICAgICAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9ldmVudF90YXJnZXRfZ2V0
X3R5cGUoKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0VWRU5UX1RBUkdFVChvYmopICAgICAg
ICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9ET01f
VEVTVF9FVkVOVF9UQVJHRVQsIFdlYktpdERPTVRlc3RFdmVudFRhcmdldCkpCi0jZGVmaW5lIFdF
QktJVF9ET01fVEVTVF9FVkVOVF9UQVJHRVRfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tf
Q0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRfVEFSR0VULCBX
ZWJLaXRET01UZXN0RXZlbnRUYXJnZXRDbGFzcykKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNU
X0VWRU5UX1RBUkdFVChvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChv
YmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9FVkVOVF9UQVJHRVQpKQotI2RlZmluZSBXRUJLSVRf
RE9NX0lTX1RFU1RfRVZFTlRfVEFSR0VUX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNT
X1RZUEUoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX0VWRU5UX1RBUkdFVCkpCi0jZGVm
aW5lIFdFQktJVF9ET01fVEVTVF9FVkVOVF9UQVJHRVRfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVf
SU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRfVEFS
R0VULCBXZWJLaXRET01UZXN0RXZlbnRUYXJnZXRDbGFzcykpCisjZGVmaW5lIFdFQktJVF9ET01f
VFlQRV9URVNUX0VWRU5UX1RBUkdFVCAgICAgICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfZXZlbnRf
dGFyZ2V0X2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9FVkVOVF9UQVJHRVQo
b2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lU
X0RPTV9UWVBFX1RFU1RfRVZFTlRfVEFSR0VULCBXZWJLaXRET01UZXN0RXZlbnRUYXJnZXQpKQor
I2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfRVZFTlRfVEFSR0VUX0NMQVNTKGtsYXNzKSAgICAoR19U
WVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX0VWRU5U
X1RBUkdFVCwgV2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0Q2xhc3MpCisjZGVmaW5lIFdFQktJVF9E
T01fSVNfVEVTVF9FVkVOVF9UQVJHRVQob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFO
Q0VfVFlQRSgob2JqKSwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfRVZFTlRfVEFSR0VUKSkKKyNkZWZp
bmUgV0VCS0lUX0RPTV9JU19URVNUX0VWRU5UX1RBUkdFVF9DTEFTUyhrbGFzcykgKEdfVFlQRV9D
SEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9FVkVOVF9UQVJH
RVQpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfRVZFTlRfVEFSR0VUX0dFVF9DTEFTUyhvYmop
ICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQRV9URVNU
X0VWRU5UX1RBUkdFVCwgV2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0Q2xhc3MpKQogCiBzdHJ1Y3Qg
X1dlYktpdERPTVRlc3RFdmVudFRhcmdldCB7CiAgICAgV2ViS2l0RE9NT2JqZWN0IHBhcmVudF9p
bnN0YW5jZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9HT2JqZWN0L1dlYktpdERPTVRlc3RFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbi5jcHAKaW5k
ZXggODM2ZDMxYzIxNmZjMDE1NjBlYTg2YTRjY2ZjMWU1YjFiZWNmNmZlMC4uYTZkZTIxZjE4Y2Y0
NGJkYTI4MWI5YTA1MGUwMjA0ZjNmOGE1OTk5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdEV4Y2VwdGlvbi5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlIDx3dGYvR2V0
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi0jZGVmaW5lIFdFQktJVF9ET01fVEVT
VF9FWENFUFRJT05fR0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUo
b2JqLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9FWENFUFRJT04sIFdlYktpdERPTVRlc3RFeGNlcHRp
b25Qcml2YXRlKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfRVhDRVBUSU9OX0dFVF9QUklWQVRF
KG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX0RPTV9UWVBFX1RF
U1RfRVhDRVBUSU9OLCBXZWJLaXRET01UZXN0RXhjZXB0aW9uUHJpdmF0ZSkKIAogdHlwZWRlZiBz
dHJ1Y3QgX1dlYktpdERPTVRlc3RFeGNlcHRpb25Qcml2YXRlIHsKICAgICBSZWZQdHI8V2ViQ29y
ZTo6VGVzdEV4Y2VwdGlvbj4gY29yZU9iamVjdDsKQEAgLTU5LDEyICs1OSwxMiBAQCBXZWJDb3Jl
OjpUZXN0RXhjZXB0aW9uKiBjb3JlKFdlYktpdERPTVRlc3RFeGNlcHRpb24qIHJlcXVlc3QpCiBX
ZWJLaXRET01UZXN0RXhjZXB0aW9uKiB3cmFwVGVzdEV4Y2VwdGlvbihXZWJDb3JlOjpUZXN0RXhj
ZXB0aW9uKiBjb3JlT2JqZWN0KQogewogICAgIEFTU0VSVChjb3JlT2JqZWN0KTsKLSAgICByZXR1
cm4gV0VCS0lUX0RPTV9URVNUX0VYQ0VQVElPTihnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfRE9N
X1RFU1RfRVhDRVBUSU9OLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBOVUxMKSk7CisgICAg
cmV0dXJuIFdFQktJVF9ET01fVEVTVF9FWENFUFRJT04oZ19vYmplY3RfbmV3KFdFQktJVF9ET01f
VFlQRV9URVNUX0VYQ0VQVElPTiwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0
RXhjZXB0aW9uLCB3ZWJraXRfZG9tX3Rlc3RfZXhjZXB0aW9uLCBXRUJLSVRfVFlQRV9ET01fT0JK
RUNUKQorR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0RXhjZXB0aW9uLCB3ZWJraXRfZG9tX3Rl
c3RfZXhjZXB0aW9uLCBXRUJLSVRfRE9NX1RZUEVfT0JKRUNUKQogCiBlbnVtIHsKICAgICBQUk9Q
XzAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0RXhjZXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0RXhjZXB0aW9uLmgKaW5kZXggNGJiMmZi
YzYwYTM4ZTQ5NDkxOWMzOGNiZjU4OTlhNmJjNjQ2M2M4My4uNjI3NDU1MzQ0MjNhNTIzZjljYjVm
ZDFkZWZjOWQ4OGM4N2YxMGNkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFeGNl
cHRpb24uaApAQCAtMjksMTIgKzI5LDEyIEBACiAKIEdfQkVHSU5fREVDTFMKIAotI2RlZmluZSBX
RUJLSVRfVFlQRV9ET01fVEVTVF9FWENFUFRJT04gICAgICAgICAgICAod2Via2l0X2RvbV90ZXN0
X2V4Y2VwdGlvbl9nZXRfdHlwZSgpKQotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfRVhDRVBUSU9O
KG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJ
VF9UWVBFX0RPTV9URVNUX0VYQ0VQVElPTiwgV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbikpCi0jZGVm
aW5lIFdFQktJVF9ET01fVEVTVF9FWENFUFRJT05fQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hF
Q0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVhDRVBUSU9OLCBX
ZWJLaXRET01UZXN0RXhjZXB0aW9uQ2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9F
WENFUFRJT04ob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwg
V0VCS0lUX1RZUEVfRE9NX1RFU1RfRVhDRVBUSU9OKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19U
RVNUX0VYQ0VQVElPTl9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFz
cyksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9FWENFUFRJT04pKQotI2RlZmluZSBXRUJLSVRfRE9N
X1RFU1RfRVhDRVBUSU9OX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFT
Uygob2JqKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX0VYQ0VQVElPTiwgV2ViS2l0RE9NVGVzdEV4
Y2VwdGlvbkNsYXNzKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9UWVBFX1RFU1RfRVhDRVBUSU9OICAg
ICAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9leGNlcHRpb25fZ2V0X3R5cGUoKSkKKyNkZWZpbmUg
V0VCS0lUX0RPTV9URVNUX0VYQ0VQVElPTihvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19J
TlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9FWENFUFRJT04sIFdlYktp
dERPTVRlc3RFeGNlcHRpb24pKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfRVhDRVBUSU9OX0NM
QVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9E
T01fVFlQRV9URVNUX0VYQ0VQVElPTiwgV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbkNsYXNzKQorI2Rl
ZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfRVhDRVBUSU9OKG9iaikgICAgICAgICAoR19UWVBFX0NI
RUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9ET01fVFlQRV9URVNUX0VYQ0VQVElPTikp
CisjZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9FWENFUFRJT05fQ0xBU1Moa2xhc3MpIChHX1RZ
UEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfRVhDRVBU
SU9OKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0VYQ0VQVElPTl9HRVRfQ0xBU1Mob2JqKSAg
KEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9F
WENFUFRJT04sIFdlYktpdERPTVRlc3RFeGNlcHRpb25DbGFzcykpCiAKIHN0cnVjdCBfV2ViS2l0
RE9NVGVzdEV4Y2VwdGlvbiB7CiAgICAgV2ViS2l0RE9NT2JqZWN0IHBhcmVudF9pbnN0YW5jZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0
L1dlYktpdERPTVRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RHZW5lcmF0ZUlzUmVhY2hh
YmxlLmNwcAppbmRleCBjODU4N2VjNDFkZjlkZGUwZDAxYjZlMDExY2RhNTU0OTA1NDUwZWVjLi44
M2M1YTEzZjc0NDc5MGNhYzc0NWQ5MTg5ODhlNjdlNDRiYmM0MTc3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0R2Vu
ZXJhdGVJc1JlYWNoYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCkBAIC0z
Miw3ICszMiw3IEBACiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFX0dF
VF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX1RZ
UEVfRE9NX1RFU1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFLCBXZWJLaXRET01UZXN0R2VuZXJhdGVJ
c1JlYWNoYWJsZVByaXZhdGUpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9HRU5FUkFURV9JU19S
RUFDSEFCTEVfR0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUob2Jq
LCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9HRU5FUkFURV9JU19SRUFDSEFCTEUsIFdlYktpdERPTVRl
c3RHZW5lcmF0ZUlzUmVhY2hhYmxlUHJpdmF0ZSkKIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdERP
TVRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlUHJpdmF0ZSB7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlRl
c3RHZW5lcmF0ZUlzUmVhY2hhYmxlPiBjb3JlT2JqZWN0OwpAQCAtNTksMTIgKzU5LDEyIEBAIFdl
YkNvcmU6OlRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlKiBjb3JlKFdlYktpdERPTVRlc3RHZW5lcmF0
ZUlzUmVhY2hhYmxlKiByZXF1ZXN0CiBXZWJLaXRET01UZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSog
d3JhcFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlKFdlYkNvcmU6OlRlc3RHZW5lcmF0ZUlzUmVhY2hh
YmxlKiBjb3JlT2JqZWN0KQogewogICAgIEFTU0VSVChjb3JlT2JqZWN0KTsKLSAgICByZXR1cm4g
V0VCS0lUX0RPTV9URVNUX0dFTkVSQVRFX0lTX1JFQUNIQUJMRShnX29iamVjdF9uZXcoV0VCS0lU
X1RZUEVfRE9NX1RFU1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFLCAiY29yZS1vYmplY3QiLCBjb3Jl
T2JqZWN0LCBOVUxMKSk7CisgICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9HRU5FUkFURV9JU19S
RUFDSEFCTEUoZ19vYmplY3RfbmV3KFdFQktJVF9ET01fVFlQRV9URVNUX0dFTkVSQVRFX0lTX1JF
QUNIQUJMRSwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAotR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0R2VuZXJhdGVJc1Jl
YWNoYWJsZSwgd2Via2l0X2RvbV90ZXN0X2dlbmVyYXRlX2lzX3JlYWNoYWJsZSwgV0VCS0lUX1RZ
UEVfRE9NX09CSkVDVCkKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdEdlbmVyYXRlSXNSZWFj
aGFibGUsIHdlYmtpdF9kb21fdGVzdF9nZW5lcmF0ZV9pc19yZWFjaGFibGUsIFdFQktJVF9ET01f
VFlQRV9PQkpFQ1QpCiAKIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9nZW5lcmF0ZV9pc19y
ZWFjaGFibGVfZmluYWxpemUoR09iamVjdCogb2JqZWN0KQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEdlbmVy
YXRlSXNSZWFjaGFibGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9H
T2JqZWN0L1dlYktpdERPTVRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmgKaW5kZXggYmIzYzIwOWU3
ODMxNDQ1ZTEyMDI4MzVhYWM0MTA1NmFmYzI0MWU4Ni4uMjg0OThkY2Y0NjE3NjJkMzgyMjRhZDk3
MTA2OGQ0ZWI5ZmZhYTc2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5oCkBAIC0yOSwxMiArMjksMTIgQEAKIAogR19CRUdJTl9E
RUNMUwogCi0jZGVmaW5lIFdFQktJVF9UWVBFX0RPTV9URVNUX0dFTkVSQVRFX0lTX1JFQUNIQUJM
RSAgICAgICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfZ2VuZXJhdGVfaXNfcmVhY2hhYmxlX2dldF90
eXBlKCkpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9HRU5FUkFURV9JU19SRUFDSEFCTEUob2Jq
KSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZ
UEVfRE9NX1RFU1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFLCBXZWJLaXRET01UZXN0R2VuZXJhdGVJ
c1JlYWNoYWJsZSkpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9HRU5FUkFURV9JU19SRUFDSEFC
TEVfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VC
S0lUX1RZUEVfRE9NX1RFU1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFLCBXZWJLaXRET01UZXN0R2Vu
ZXJhdGVJc1JlYWNoYWJsZUNsYXNzKQotI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfR0VORVJB
VEVfSVNfUkVBQ0hBQkxFKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUo
KG9iaiksIFdFQktJVF9UWVBFX0RPTV9URVNUX0dFTkVSQVRFX0lTX1JFQUNIQUJMRSkpCi0jZGVm
aW5lIFdFQktJVF9ET01fSVNfVEVTVF9HRU5FUkFURV9JU19SRUFDSEFCTEVfQ0xBU1Moa2xhc3Mp
IChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1Rf
R0VORVJBVEVfSVNfUkVBQ0hBQkxFKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0dFTkVSQVRF
X0lTX1JFQUNIQUJMRV9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1Mo
KG9iaiksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9HRU5FUkFURV9JU19SRUFDSEFCTEUsIFdlYktp
dERPTVRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlQ2xhc3MpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RZ
UEVfVEVTVF9HRU5FUkFURV9JU19SRUFDSEFCTEUgICAgICAgICAgICAod2Via2l0X2RvbV90ZXN0
X2dlbmVyYXRlX2lzX3JlYWNoYWJsZV9nZXRfdHlwZSgpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RF
U1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lO
U1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9ET01fVFlQRV9URVNUX0dFTkVSQVRFX0lTX1JFQUNI
QUJMRSwgV2ViS2l0RE9NVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUpKQorI2RlZmluZSBXRUJLSVRf
RE9NX1RFU1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NI
RUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX0dFTkVSQVRFX0lT
X1JFQUNIQUJMRSwgV2ViS2l0RE9NVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVDbGFzcykKKyNkZWZp
bmUgV0VCS0lUX0RPTV9JU19URVNUX0dFTkVSQVRFX0lTX1JFQUNIQUJMRShvYmopICAgICAgICAg
KEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9H
RU5FUkFURV9JU19SRUFDSEFCTEUpKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfR0VORVJB
VEVfSVNfUkVBQ0hBQkxFX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGts
YXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX0dFTkVSQVRFX0lTX1JFQUNIQUJMRSkpCisjZGVm
aW5lIFdFQktJVF9ET01fVEVTVF9HRU5FUkFURV9JU19SRUFDSEFCTEVfR0VUX0NMQVNTKG9iaikg
IChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1Rf
R0VORVJBVEVfSVNfUkVBQ0hBQkxFLCBXZWJLaXRET01UZXN0R2VuZXJhdGVJc1JlYWNoYWJsZUNs
YXNzKSkKIAogc3RydWN0IF9XZWJLaXRET01UZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSB7CiAgICAg
V2ViS2l0RE9NT2JqZWN0IHBhcmVudF9pbnN0YW5jZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RJbnRlcmZhY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdEludGVyZmFjZS5jcHAKaW5kZXggMjhiMzQ0YzE1ZGY5NzEzOGU2Y2RjYjk3ODQ0ZGRl
OGY3YjE1ZGVkZC4uODM3Njg1YTNlYzcxYWI1YzU4ZjM4MzdlNzhlYjVhMjhlYjkxZDNjMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdEludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEludGVyZmFjZS5jcHAKQEAgLTM1LDcgKzM1
LDcgQEAKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
Ci0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9JTlRFUkZBQ0VfR0VUX1BSSVZBVEUob2JqKSBHX1RZ
UEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUob2JqLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9JTlRFUkZB
Q0UsIFdlYktpdERPTVRlc3RJbnRlcmZhY2VQcml2YXRlKQorI2RlZmluZSBXRUJLSVRfRE9NX1RF
U1RfSU5URVJGQUNFX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRF
KG9iaiwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfSU5URVJGQUNFLCBXZWJLaXRET01UZXN0SW50ZXJm
YWNlUHJpdmF0ZSkKIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RJbnRlcmZhY2VQcml2
YXRlIHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCkBAIC02
NiwxNCArNjYsMTQgQEAgV2ViQ29yZTo6VGVzdEludGVyZmFjZSogY29yZShXZWJLaXRET01UZXN0
SW50ZXJmYWNlKiByZXF1ZXN0KQogV2ViS2l0RE9NVGVzdEludGVyZmFjZSogd3JhcFRlc3RJbnRl
cmZhY2UoV2ViQ29yZTo6VGVzdEludGVyZmFjZSogY29yZU9iamVjdCkKIHsKICAgICBBU1NFUlQo
Y29yZU9iamVjdCk7Ci0gICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9JTlRFUkZBQ0UoZ19vYmpl
Y3RfbmV3KFdFQktJVF9UWVBFX0RPTV9URVNUX0lOVEVSRkFDRSwgImNvcmUtb2JqZWN0IiwgY29y
ZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRfRE9NX1RFU1RfSU5URVJGQUNFKGdf
b2JqZWN0X25ldyhXRUJLSVRfRE9NX1RZUEVfVEVTVF9JTlRFUkZBQ0UsICJjb3JlLW9iamVjdCIs
IGNvcmVPYmplY3QsIE5VTEwpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRp
ZiAvLyBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCiAKLUdfREVGSU5F
X1RZUEUoV2ViS2l0RE9NVGVzdEludGVyZmFjZSwgd2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZSwg
V0VCS0lUX1RZUEVfRE9NX09CSkVDVCkKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdEludGVy
ZmFjZSwgd2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZSwgV0VCS0lUX0RPTV9UWVBFX09CSkVDVCkK
IAogZW51bSB7CiAgICAgUFJPUF8wLApAQCAtMjkwLDcgKzI5MCw3IEBAIHN0YXRpYyB2b2lkIHdl
YmtpdF9kb21fdGVzdF9pbnRlcmZhY2VfY2xhc3NfaW5pdChXZWJLaXRET01UZXN0SW50ZXJmYWNl
Q2xhc3MqIHJlCiAgICAgICAgICAgICAiaW1wbGVtZW50cy1ub2RlIiwKICAgICAgICAgICAgICJU
ZXN0SW50ZXJmYWNlOmltcGxlbWVudHMtbm9kZSIsCiAgICAgICAgICAgICAicmVhZC1vbmx5IFdl
YktpdERPTU5vZGUqIFRlc3RJbnRlcmZhY2U6aW1wbGVtZW50cy1ub2RlIiwKLSAgICAgICAgICAg
IFdFQktJVF9UWVBFX0RPTV9OT0RFLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX05PREUs
CiAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUpKTsKIAogICAgIGdfb2JqZWN0X2Ns
YXNzX2luc3RhbGxfcHJvcGVydHkoCkBAIC0zMjAsNyArMzIwLDcgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0X2RvbV90ZXN0X2ludGVyZmFjZV9jbGFzc19pbml0KFdlYktpdERPTVRlc3RJbnRlcmZhY2VD
bGFzcyogcmUKICAgICAgICAgICAgICJzdXBwbGVtZW50YWwtbm9kZSIsCiAgICAgICAgICAgICAi
VGVzdEludGVyZmFjZTpzdXBwbGVtZW50YWwtbm9kZSIsCiAgICAgICAgICAgICAicmVhZC1vbmx5
IFdlYktpdERPTU5vZGUqIFRlc3RJbnRlcmZhY2U6c3VwcGxlbWVudGFsLW5vZGUiLAotICAgICAg
ICAgICAgV0VCS0lUX1RZUEVfRE9NX05PREUsCisgICAgICAgICAgICBXRUJLSVRfRE9NX1RZUEVf
Tk9ERSwKICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0SW50ZXJmYWNlLmgKaW5kZXggNTMxMmNiOGUxMWQzNDU0MDMx
N2VkZDlmMDQ2MTM4YjE3ZThkMjJiNS4uZDYyNTI1MTAxNDgwYjI2NjE0ZmJjZTI3ODU4NWU3Yzky
YmI0MzRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RJbnRlcmZhY2UuaApAQCAt
MjksMTIgKzI5LDEyIEBACiAKIEdfQkVHSU5fREVDTFMKIAotI2RlZmluZSBXRUJLSVRfVFlQRV9E
T01fVEVTVF9JTlRFUkZBQ0UgICAgICAgICAgICAod2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZV9n
ZXRfdHlwZSgpKQotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfSU5URVJGQUNFKG9iaikgICAgICAg
ICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9U
RVNUX0lOVEVSRkFDRSwgV2ViS2l0RE9NVGVzdEludGVyZmFjZSkpCi0jZGVmaW5lIFdFQktJVF9E
T01fVEVTVF9JTlRFUkZBQ0VfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FT
VCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfSU5URVJGQUNFLCBXZWJLaXRET01UZXN0
SW50ZXJmYWNlQ2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9JTlRFUkZBQ0Uob2Jq
KSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZUEVf
RE9NX1RFU1RfSU5URVJGQUNFKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX0lOVEVSRkFD
RV9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRf
VFlQRV9ET01fVEVTVF9JTlRFUkZBQ0UpKQotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfSU5URVJG
QUNFX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdF
QktJVF9UWVBFX0RPTV9URVNUX0lOVEVSRkFDRSwgV2ViS2l0RE9NVGVzdEludGVyZmFjZUNsYXNz
KSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9UWVBFX1RFU1RfSU5URVJGQUNFICAgICAgICAgICAgKHdl
YmtpdF9kb21fdGVzdF9pbnRlcmZhY2VfZ2V0X3R5cGUoKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9U
RVNUX0lOVEVSRkFDRShvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNU
KChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9JTlRFUkZBQ0UsIFdlYktpdERPTVRlc3RJbnRl
cmZhY2UpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfSU5URVJGQUNFX0NMQVNTKGtsYXNzKSAg
ICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNU
X0lOVEVSRkFDRSwgV2ViS2l0RE9NVGVzdEludGVyZmFjZUNsYXNzKQorI2RlZmluZSBXRUJLSVRf
RE9NX0lTX1RFU1RfSU5URVJGQUNFKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNF
X1RZUEUoKG9iaiksIFdFQktJVF9ET01fVFlQRV9URVNUX0lOVEVSRkFDRSkpCisjZGVmaW5lIFdF
QktJVF9ET01fSVNfVEVTVF9JTlRFUkZBQ0VfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xB
U1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfSU5URVJGQUNFKSkKKyNkZWZp
bmUgV0VCS0lUX0RPTV9URVNUX0lOVEVSRkFDRV9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNU
QU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9JTlRFUkZBQ0UsIFdl
YktpdERPTVRlc3RJbnRlcmZhY2VDbGFzcykpCiAKIHN0cnVjdCBfV2ViS2l0RE9NVGVzdEludGVy
ZmFjZSB7CiAgICAgV2ViS2l0RE9NT2JqZWN0IHBhcmVudF9pbnN0YW5jZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNw
cAppbmRleCBhZTE2MGEzOWU5NGQxNWQ3MjNlY2QzZWEwZDM1NjgyMzJkNzMxZjFjLi4yMWJiMzQ4
NTk0MmFlYzM2NzY5OGE1ZmYwZTk0MGE5YTc0ZmE0Njc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCkBAIC0z
Miw3ICszMiw3IEBACiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfTUVESUFfUVVFUllfTElTVF9MSVNURU5F
Ul9HRVRfUFJJVkFURShvYmopIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJ
VF9UWVBFX0RPTV9URVNUX01FRElBX1FVRVJZX0xJU1RfTElTVEVORVIsIFdlYktpdERPTVRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJpdmF0ZSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX01F
RElBX1FVRVJZX0xJU1RfTElTVEVORVJfR0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0Vf
R0VUX1BSSVZBVEUob2JqLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9NRURJQV9RVUVSWV9MSVNUX0xJ
U1RFTkVSLCBXZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByaXZhdGUpCiAKIHR5
cGVkZWYgc3RydWN0IF9XZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByaXZhdGUg
ewogICAgIFJlZlB0cjxXZWJDb3JlOjpUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4gY29yZU9i
amVjdDsKQEAgLTU5LDEyICs1OSwxMiBAQCBXZWJDb3JlOjpUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lciogY29yZShXZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogcgogV2ViS2l0
RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIHdyYXBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcihXZWJDb3JlOjpUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogY29yZU9iamVjdCkKIHsK
ICAgICBBU1NFUlQoY29yZU9iamVjdCk7Ci0gICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9NRURJ
QV9RVUVSWV9MSVNUX0xJU1RFTkVSKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9ET01fVEVTVF9N
RURJQV9RVUVSWV9MSVNUX0xJU1RFTkVSLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBOVUxM
KSk7CisgICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9NRURJQV9RVUVSWV9MSVNUX0xJU1RFTkVS
KGdfb2JqZWN0X25ldyhXRUJLSVRfRE9NX1RZUEVfVEVTVF9NRURJQV9RVUVSWV9MSVNUX0xJU1RF
TkVSLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBOVUxMKSk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCi1HX0RFRklORV9UWVBFKFdlYktpdERPTVRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyLCB3ZWJraXRfZG9tX3Rlc3RfbWVkaWFfcXVlcnlfbGlzdF9saXN0ZW5lciwgV0VCS0lU
X1RZUEVfRE9NX09CSkVDVCkKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXIsIHdlYmtpdF9kb21fdGVzdF9tZWRpYV9xdWVyeV9saXN0X2xpc3RlbmVyLCBX
RUJLSVRfRE9NX1RZUEVfT0JKRUNUKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3RfbWVk
aWFfcXVlcnlfbGlzdF9saXN0ZW5lcl9maW5hbGl6ZShHT2JqZWN0KiBvYmplY3QpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuaAppbmRleCBlNzA0MjVmYzVhMjc3YzM3YTIxMmRmZmI2YTJkMzkwYmI2NDk1ZGYyLi43N2M3
ZjRiYWZmZmMxMWRiZDI0NzgzZjMxMDdlYTBhNzQyNmQ3YWRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKQEAgLTI5
LDEyICsyOSwxMiBAQAogCiBHX0JFR0lOX0RFQ0xTCiAKLSNkZWZpbmUgV0VCS0lUX1RZUEVfRE9N
X1RFU1RfTUVESUFfUVVFUllfTElTVF9MSVNURU5FUiAgICAgICAgICAgICh3ZWJraXRfZG9tX3Rl
c3RfbWVkaWFfcXVlcnlfbGlzdF9saXN0ZW5lcl9nZXRfdHlwZSgpKQotI2RlZmluZSBXRUJLSVRf
RE9NX1RFU1RfTUVESUFfUVVFUllfTElTVF9MSVNURU5FUihvYmopICAgICAgICAgICAgKEdfVFlQ
RV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9NRURJQV9R
VUVSWV9MSVNUX0xJU1RFTkVSLCBXZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcikp
Ci0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9NRURJQV9RVUVSWV9MSVNUX0xJU1RFTkVSX0NMQVNT
KGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBF
X0RPTV9URVNUX01FRElBX1FVRVJZX0xJU1RfTElTVEVORVIsIFdlYktpdERPTVRlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyQ2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9NRURJQV9R
VUVSWV9MSVNUX0xJU1RFTkVSKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZ
UEUoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9URVNUX01FRElBX1FVRVJZX0xJU1RfTElTVEVORVIp
KQotI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfTUVESUFfUVVFUllfTElTVF9MSVNURU5FUl9D
TEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQ
RV9ET01fVEVTVF9NRURJQV9RVUVSWV9MSVNUX0xJU1RFTkVSKSkKLSNkZWZpbmUgV0VCS0lUX0RP
TV9URVNUX01FRElBX1FVRVJZX0xJU1RfTElTVEVORVJfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVf
SU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfTUVESUFfUVVF
UllfTElTVF9MSVNURU5FUiwgV2ViS2l0RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDbGFz
cykpCisjZGVmaW5lIFdFQktJVF9ET01fVFlQRV9URVNUX01FRElBX1FVRVJZX0xJU1RfTElTVEVO
RVIgICAgICAgICAgICAod2Via2l0X2RvbV90ZXN0X21lZGlhX3F1ZXJ5X2xpc3RfbGlzdGVuZXJf
Z2V0X3R5cGUoKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX01FRElBX1FVRVJZX0xJU1RfTElT
VEVORVIob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwg
V0VCS0lUX0RPTV9UWVBFX1RFU1RfTUVESUFfUVVFUllfTElTVF9MSVNURU5FUiwgV2ViS2l0RE9N
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfTUVE
SUFfUVVFUllfTElTVF9MSVNURU5FUl9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFT
U19DQVNUKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9NRURJQV9RVUVSWV9MSVNUX0xJ
U1RFTkVSLCBXZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNsYXNzKQorI2RlZmlu
ZSBXRUJLSVRfRE9NX0lTX1RFU1RfTUVESUFfUVVFUllfTElTVF9MSVNURU5FUihvYmopICAgICAg
ICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVT
VF9NRURJQV9RVUVSWV9MSVNUX0xJU1RFTkVSKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNU
X01FRElBX1FVRVJZX0xJU1RfTElTVEVORVJfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xB
U1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfTUVESUFfUVVFUllfTElTVF9M
SVNURU5FUikpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9NRURJQV9RVUVSWV9MSVNUX0xJU1RF
TkVSX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdF
QktJVF9ET01fVFlQRV9URVNUX01FRElBX1FVRVJZX0xJU1RfTElTVEVORVIsIFdlYktpdERPTVRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ2xhc3MpKQogCiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIHsKICAgICBXZWJLaXRET01PYmplY3QgcGFyZW50X2luc3Rh
bmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0
b3IuY3BwCmluZGV4IDE3ZTExOTBmMjJhMmFmYjA4ZmI1MDc3YmM1NTc5MWJiMjIzZmNkMDMuLjBj
NDM1NmQ3MDBhOGVmNjYwZDE0MDhmNzZiZmJmMDE3ZWU1NzUxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROYW1l
ZENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvR09iamVjdC9XZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKQEAgLTMyLDcgKzMy
LDcgQEAKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
Ci0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OQU1FRF9DT05TVFJVQ1RPUl9HRVRfUFJJVkFURShv
YmopIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9UWVBFX0RPTV9URVNU
X05BTUVEX0NPTlNUUlVDVE9SLCBXZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3RvclByaXZhdGUp
CisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OQU1FRF9DT05TVFJVQ1RPUl9HRVRfUFJJVkFURShv
YmopIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9ET01fVFlQRV9URVNU
X05BTUVEX0NPTlNUUlVDVE9SLCBXZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3RvclByaXZhdGUp
CiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3RvclByaXZhdGUg
ewogICAgIFJlZlB0cjxXZWJDb3JlOjpUZXN0TmFtZWRDb25zdHJ1Y3Rvcj4gY29yZU9iamVjdDsK
QEAgLTU5LDEyICs1OSwxMiBAQCBXZWJDb3JlOjpUZXN0TmFtZWRDb25zdHJ1Y3RvciogY29yZShX
ZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3RvciogcmVxdWVzdCkKIFdlYktpdERPTVRlc3ROYW1l
ZENvbnN0cnVjdG9yKiB3cmFwVGVzdE5hbWVkQ29uc3RydWN0b3IoV2ViQ29yZTo6VGVzdE5hbWVk
Q29uc3RydWN0b3IqIGNvcmVPYmplY3QpCiB7CiAgICAgQVNTRVJUKGNvcmVPYmplY3QpOwotICAg
IHJldHVybiBXRUJLSVRfRE9NX1RFU1RfTkFNRURfQ09OU1RSVUNUT1IoZ19vYmplY3RfbmV3KFdF
QktJVF9UWVBFX0RPTV9URVNUX05BTUVEX0NPTlNUUlVDVE9SLCAiY29yZS1vYmplY3QiLCBjb3Jl
T2JqZWN0LCBOVUxMKSk7CisgICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9OQU1FRF9DT05TVFJV
Q1RPUihnX29iamVjdF9uZXcoV0VCS0lUX0RPTV9UWVBFX1RFU1RfTkFNRURfQ09OU1RSVUNUT1Is
ICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CiAKLUdfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3IsIHdl
YmtpdF9kb21fdGVzdF9uYW1lZF9jb25zdHJ1Y3RvciwgV0VCS0lUX1RZUEVfRE9NX09CSkVDVCkK
K0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3IsIHdlYmtpdF9kb21f
dGVzdF9uYW1lZF9jb25zdHJ1Y3RvciwgV0VCS0lUX0RPTV9UWVBFX09CSkVDVCkKIAogc3RhdGlj
IHZvaWQgd2Via2l0X2RvbV90ZXN0X25hbWVkX2NvbnN0cnVjdG9yX2ZpbmFsaXplKEdPYmplY3Qq
IG9iamVjdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROYW1lZENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0TmFtZWRDb25z
dHJ1Y3Rvci5oCmluZGV4IDIxYmVkZGIzNGMzYzQyMjhhZTM3YThmM2JkMGZhNDg0NjYxMzcwYTUu
LjVlNGU5NmQ4NGU1OTVhMTMyMWNjMjhiMzQ3NjgzMTQ0ZTMzNWQzODcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RO
YW1lZENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3IuaApAQCAtMjksMTIgKzI5
LDEyIEBACiAKIEdfQkVHSU5fREVDTFMKIAotI2RlZmluZSBXRUJLSVRfVFlQRV9ET01fVEVTVF9O
QU1FRF9DT05TVFJVQ1RPUiAgICAgICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfbmFtZWRfY29uc3Ry
dWN0b3JfZ2V0X3R5cGUoKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX05BTUVEX0NPTlNUUlVD
VE9SKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdF
QktJVF9UWVBFX0RPTV9URVNUX05BTUVEX0NPTlNUUlVDVE9SLCBXZWJLaXRET01UZXN0TmFtZWRD
b25zdHJ1Y3RvcikpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OQU1FRF9DT05TVFJVQ1RPUl9D
TEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRf
VFlQRV9ET01fVEVTVF9OQU1FRF9DT05TVFJVQ1RPUiwgV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3Ry
dWN0b3JDbGFzcykKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX05BTUVEX0NPTlNUUlVDVE9S
KG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9U
WVBFX0RPTV9URVNUX05BTUVEX0NPTlNUUlVDVE9SKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19U
RVNUX05BTUVEX0NPTlNUUlVDVE9SX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZ
UEUoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX05BTUVEX0NPTlNUUlVDVE9SKSkKLSNk
ZWZpbmUgV0VCS0lUX0RPTV9URVNUX05BTUVEX0NPTlNUUlVDVE9SX0dFVF9DTEFTUyhvYmopICAo
R19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX05B
TUVEX0NPTlNUUlVDVE9SLCBXZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3RvckNsYXNzKSkKKyNk
ZWZpbmUgV0VCS0lUX0RPTV9UWVBFX1RFU1RfTkFNRURfQ09OU1RSVUNUT1IgICAgICAgICAgICAo
d2Via2l0X2RvbV90ZXN0X25hbWVkX2NvbnN0cnVjdG9yX2dldF90eXBlKCkpCisjZGVmaW5lIFdF
QktJVF9ET01fVEVTVF9OQU1FRF9DT05TVFJVQ1RPUihvYmopICAgICAgICAgICAgKEdfVFlQRV9D
SEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OQU1FRF9DT05T
VFJVQ1RPUiwgV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3IpKQorI2RlZmluZSBXRUJLSVRf
RE9NX1RFU1RfTkFNRURfQ09OU1RSVUNUT1JfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tf
Q0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfTkFNRURfQ09OU1RSVUNU
T1IsIFdlYktpdERPTVRlc3ROYW1lZENvbnN0cnVjdG9yQ2xhc3MpCisjZGVmaW5lIFdFQktJVF9E
T01fSVNfVEVTVF9OQU1FRF9DT05TVFJVQ1RPUihvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19J
TlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OQU1FRF9DT05TVFJVQ1RP
UikpCisjZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9OQU1FRF9DT05TVFJVQ1RPUl9DTEFTUyhr
bGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVf
VEVTVF9OQU1FRF9DT05TVFJVQ1RPUikpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OQU1FRF9D
T05TVFJVQ1RPUl9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9i
aiksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OQU1FRF9DT05TVFJVQ1RPUiwgV2ViS2l0RE9NVGVz
dE5hbWVkQ29uc3RydWN0b3JDbGFzcykpCiAKIHN0cnVjdCBfV2ViS2l0RE9NVGVzdE5hbWVkQ29u
c3RydWN0b3IgewogICAgIFdlYktpdERPTU9iamVjdCBwYXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0Tm9kZS5jcHAKaW5kZXggNWYyYWI0N2I0MjcyODNiNTlkZWIwN2Q2
MzY4NzE5ZjUyZmI3ODdjYy4uMjdjNmEwYTVmZjQ5YjVkODM1YzRjMGUxYjQwOTNiNjU1ZGRjZDgx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NVGVzdE5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROb2RlLmNwcApAQCAtNTEsNyArNTEsNyBA
QCBXZWJDb3JlOjpUZXN0Tm9kZSogY29yZShXZWJLaXRET01UZXN0Tm9kZSogcmVxdWVzdCkKIFdl
YktpdERPTVRlc3ROb2RlKiB3cmFwVGVzdE5vZGUoV2ViQ29yZTo6VGVzdE5vZGUqIGNvcmVPYmpl
Y3QpCiB7CiAgICAgQVNTRVJUKGNvcmVPYmplY3QpOwotICAgIHJldHVybiBXRUJLSVRfRE9NX1RF
U1RfTk9ERShnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfRE9NX1RFU1RfTk9ERSwgImNvcmUtb2Jq
ZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRfRE9NX1RFU1RfTk9E
RShnX29iamVjdF9uZXcoV0VCS0lUX0RPTV9UWVBFX1RFU1RfTk9ERSwgImNvcmUtb2JqZWN0Iiwg
Y29yZU9iamVjdCwgTlVMTCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKQEAgLTg5LDcg
Kzg5LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X2RvbV9ldmVudF90YXJnZXRfaW5pdChXZWJLaXRE
T01FdmVudFRhcmdldElmYWNlKiBpZmFjZSkKICAgICBpZmFjZS0+cmVtb3ZlX2V2ZW50X2xpc3Rl
bmVyID0gd2Via2l0X2RvbV90ZXN0X25vZGVfcmVtb3ZlX2V2ZW50X2xpc3RlbmVyOwogfQogCi1H
X0RFRklORV9UWVBFX1dJVEhfQ09ERShXZWJLaXRET01UZXN0Tm9kZSwgd2Via2l0X2RvbV90ZXN0
X25vZGUsIFdFQktJVF9UWVBFX0RPTV9OT0RFLCBHX0lNUExFTUVOVF9JTlRFUkZBQ0UoV0VCS0lU
X1RZUEVfRE9NX0VWRU5UX1RBUkdFVCwgd2Via2l0X2RvbV9ldmVudF90YXJnZXRfaW5pdCkpCitH
X0RFRklORV9UWVBFX1dJVEhfQ09ERShXZWJLaXRET01UZXN0Tm9kZSwgd2Via2l0X2RvbV90ZXN0
X25vZGUsIFdFQktJVF9ET01fVFlQRV9OT0RFLCBHX0lNUExFTUVOVF9JTlRFUkZBQ0UoV0VCS0lU
X0RPTV9UWVBFX0VWRU5UX1RBUkdFVCwgd2Via2l0X2RvbV9ldmVudF90YXJnZXRfaW5pdCkpCiAK
IHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9ub2RlX2NsYXNzX2luaXQoV2ViS2l0RE9NVGVz
dE5vZGVDbGFzcyogcmVxdWVzdENsYXNzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5vZGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROb2Rl
LmgKaW5kZXggY2NlNGEzMzZmZDJiNzYyNzhhMWUzNDgwYmExNGY4NDRmZmUzNzcwOC4uZTFhZWJj
NjlhODFlM2NlMDQ2ZDUzNmQxZTNkZTM0NDFlZTgxZWYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5vZGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0Tm9kZS5oCkBAIC0yOSwxMiArMjksMTIgQEAKIAogR19CRUdJTl9ERUNMUwogCi0jZGVm
aW5lIFdFQktJVF9UWVBFX0RPTV9URVNUX05PREUgICAgICAgICAgICAod2Via2l0X2RvbV90ZXN0
X25vZGVfZ2V0X3R5cGUoKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX05PREUob2JqKSAgICAg
ICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfRE9N
X1RFU1RfTk9ERSwgV2ViS2l0RE9NVGVzdE5vZGUpKQotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1Rf
Tk9ERV9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBX
RUJLSVRfVFlQRV9ET01fVEVTVF9OT0RFLCBXZWJLaXRET01UZXN0Tm9kZUNsYXNzKQotI2RlZmlu
ZSBXRUJLSVRfRE9NX0lTX1RFU1RfTk9ERShvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNU
QU5DRV9UWVBFKChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9OT0RFKSkKLSNkZWZpbmUgV0VC
S0lUX0RPTV9JU19URVNUX05PREVfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQ
RSgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfTk9ERSkpCi0jZGVmaW5lIFdFQktJVF9E
T01fVEVTVF9OT0RFX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygo
b2JqKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX05PREUsIFdlYktpdERPTVRlc3ROb2RlQ2xhc3Mp
KQorI2RlZmluZSBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OT0RFICAgICAgICAgICAgKHdlYmtpdF9k
b21fdGVzdF9ub2RlX2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OT0RFKG9i
aikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9E
T01fVFlQRV9URVNUX05PREUsIFdlYktpdERPTVRlc3ROb2RlKSkKKyNkZWZpbmUgV0VCS0lUX0RP
TV9URVNUX05PREVfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xh
c3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfTk9ERSwgV2ViS2l0RE9NVGVzdE5vZGVDbGFzcykK
KyNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX05PREUob2JqKSAgICAgICAgIChHX1RZUEVfQ0hF
Q0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfTk9ERSkpCisjZGVm
aW5lIFdFQktJVF9ET01fSVNfVEVTVF9OT0RFX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NM
QVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX05PREUpKQorI2RlZmluZSBX
RUJLSVRfRE9NX1RFU1RfTk9ERV9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRf
Q0xBU1MoKG9iaiksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OT0RFLCBXZWJLaXRET01UZXN0Tm9k
ZUNsYXNzKSkKIAogc3RydWN0IF9XZWJLaXRET01UZXN0Tm9kZSB7CiAgICAgV2ViS2l0RE9NTm9k
ZSBwYXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Tm9uZGV0ZXJtaW5pc3RpYy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
Tm9uZGV0ZXJtaW5pc3RpYy5jcHAKaW5kZXggNWZlZjI2NWE0YTkxYzVkYTI1YTVmNGE5YjhmYjc0
MzA0NmY4MmY5Zi4uM2U3MTE1ZGI1NmIwY2U5NDhiMGQ2YWJhZWM1ZTY2ZDRhNTYxNzMzZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdE5vbmRldGVybWluaXN0aWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROb25kZXRlcm1pbmlzdGljLmNw
cApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX05PTkRFVEVSTUlOSVNUSUNf
R0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUob2JqLCBXRUJLSVRf
VFlQRV9ET01fVEVTVF9OT05ERVRFUk1JTklTVElDLCBXZWJLaXRET01UZXN0Tm9uZGV0ZXJtaW5p
c3RpY1ByaXZhdGUpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OT05ERVRFUk1JTklTVElDX0dF
VF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX0RP
TV9UWVBFX1RFU1RfTk9OREVURVJNSU5JU1RJQywgV2ViS2l0RE9NVGVzdE5vbmRldGVybWluaXN0
aWNQcml2YXRlKQogCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0RE9NVGVzdE5vbmRldGVybWluaXN0
aWNQcml2YXRlIHsKICAgICBSZWZQdHI8V2ViQ29yZTo6VGVzdE5vbmRldGVybWluaXN0aWM+IGNv
cmVPYmplY3Q7CkBAIC01OSwxMiArNTksMTIgQEAgV2ViQ29yZTo6VGVzdE5vbmRldGVybWluaXN0
aWMqIGNvcmUoV2ViS2l0RE9NVGVzdE5vbmRldGVybWluaXN0aWMqIHJlcXVlc3QpCiBXZWJLaXRE
T01UZXN0Tm9uZGV0ZXJtaW5pc3RpYyogd3JhcFRlc3ROb25kZXRlcm1pbmlzdGljKFdlYkNvcmU6
OlRlc3ROb25kZXRlcm1pbmlzdGljKiBjb3JlT2JqZWN0KQogewogICAgIEFTU0VSVChjb3JlT2Jq
ZWN0KTsKLSAgICByZXR1cm4gV0VCS0lUX0RPTV9URVNUX05PTkRFVEVSTUlOSVNUSUMoZ19vYmpl
Y3RfbmV3KFdFQktJVF9UWVBFX0RPTV9URVNUX05PTkRFVEVSTUlOSVNUSUMsICJjb3JlLW9iamVj
dCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKKyAgICByZXR1cm4gV0VCS0lUX0RPTV9URVNUX05PTkRF
VEVSTUlOSVNUSUMoZ19vYmplY3RfbmV3KFdFQktJVF9ET01fVFlQRV9URVNUX05PTkRFVEVSTUlO
SVNUSUMsICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKLUdfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdE5vbmRldGVybWluaXN0
aWMsIHdlYmtpdF9kb21fdGVzdF9ub25kZXRlcm1pbmlzdGljLCBXRUJLSVRfVFlQRV9ET01fT0JK
RUNUKQorR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0Tm9uZGV0ZXJtaW5pc3RpYywgd2Via2l0
X2RvbV90ZXN0X25vbmRldGVybWluaXN0aWMsIFdFQktJVF9ET01fVFlQRV9PQkpFQ1QpCiAKIGVu
dW0gewogICAgIFBST1BfMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROb25kZXRlcm1pbmlzdGljLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Tm9u
ZGV0ZXJtaW5pc3RpYy5oCmluZGV4IDFjZDE0NzQ5ZDFkODQ4OWFiZjkxNzZmY2JjMDI3ODkwYjEw
NmVmODAuLmU5ZjgyMzEwODk4OGQzMTdjNGZhZWZkY2U5ZTFiMzJlNDcxNmMyN2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3ROb25kZXRlcm1pbmlzdGljLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5vbmRldGVybWluaXN0aWMuaApAQCAtMjks
MTIgKzI5LDEyIEBACiAKIEdfQkVHSU5fREVDTFMKIAotI2RlZmluZSBXRUJLSVRfVFlQRV9ET01f
VEVTVF9OT05ERVRFUk1JTklTVElDICAgICAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9ub25kZXRl
cm1pbmlzdGljX2dldF90eXBlKCkpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OT05ERVRFUk1J
TklTVElDKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiks
IFdFQktJVF9UWVBFX0RPTV9URVNUX05PTkRFVEVSTUlOSVNUSUMsIFdlYktpdERPTVRlc3ROb25k
ZXRlcm1pbmlzdGljKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX05PTkRFVEVSTUlOSVNUSUNf
Q0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lU
X1RZUEVfRE9NX1RFU1RfTk9OREVURVJNSU5JU1RJQywgV2ViS2l0RE9NVGVzdE5vbmRldGVybWlu
aXN0aWNDbGFzcykKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX05PTkRFVEVSTUlOSVNUSUMo
b2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZ
UEVfRE9NX1RFU1RfTk9OREVURVJNSU5JU1RJQykpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVT
VF9OT05ERVRFUk1JTklTVElDX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUo
KGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX05PTkRFVEVSTUlOSVNUSUMpKQotI2RlZmlu
ZSBXRUJLSVRfRE9NX1RFU1RfTk9OREVURVJNSU5JU1RJQ19HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQ
RV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9OT05ERVRF
Uk1JTklTVElDLCBXZWJLaXRET01UZXN0Tm9uZGV0ZXJtaW5pc3RpY0NsYXNzKSkKKyNkZWZpbmUg
V0VCS0lUX0RPTV9UWVBFX1RFU1RfTk9OREVURVJNSU5JU1RJQyAgICAgICAgICAgICh3ZWJraXRf
ZG9tX3Rlc3Rfbm9uZGV0ZXJtaW5pc3RpY19nZXRfdHlwZSgpKQorI2RlZmluZSBXRUJLSVRfRE9N
X1RFU1RfTk9OREVURVJNSU5JU1RJQyhvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNU
QU5DRV9DQVNUKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OT05ERVRFUk1JTklTVElDLCBX
ZWJLaXRET01UZXN0Tm9uZGV0ZXJtaW5pc3RpYykpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9O
T05ERVRFUk1JTklTVElDX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1Qo
KGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX05PTkRFVEVSTUlOSVNUSUMsIFdlYktpdERP
TVRlc3ROb25kZXRlcm1pbmlzdGljQ2xhc3MpCisjZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9O
T05ERVRFUk1JTklTVElDKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUo
KG9iaiksIFdFQktJVF9ET01fVFlQRV9URVNUX05PTkRFVEVSTUlOSVNUSUMpKQorI2RlZmluZSBX
RUJLSVRfRE9NX0lTX1RFU1RfTk9OREVURVJNSU5JU1RJQ19DTEFTUyhrbGFzcykgKEdfVFlQRV9D
SEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OT05ERVRFUk1J
TklTVElDKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX05PTkRFVEVSTUlOSVNUSUNfR0VUX0NM
QVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX0RPTV9U
WVBFX1RFU1RfTk9OREVURVJNSU5JU1RJQywgV2ViS2l0RE9NVGVzdE5vbmRldGVybWluaXN0aWND
bGFzcykpCiAKIHN0cnVjdCBfV2ViS2l0RE9NVGVzdE5vbmRldGVybWluaXN0aWMgewogICAgIFdl
YktpdERPTU9iamVjdCBwYXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RP
YmouY3BwCmluZGV4IGMxMjRiZmY4YjM1MTMxYjUyYjc2YThmYjQ2YTdkMjlkMzVjNTIwM2UuLmQ2
MzQzZWI5MThhNzBkNTUxZWI2MDRiYmM2N2IxZmMxYjZmNDI0MjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmou
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dl
YktpdERPTVRlc3RPYmouY3BwCkBAIC00MSw3ICs0MSw3IEBACiAjaW5jbHVkZSA8d3RmL0dldFB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1Rf
T0JKX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VC
S0lUX1RZUEVfRE9NX1RFU1RfT0JKLCBXZWJLaXRET01UZXN0T2JqUHJpdmF0ZSkKKyNkZWZpbmUg
V0VCS0lUX0RPTV9URVNUX09CSl9HRVRfUFJJVkFURShvYmopIEdfVFlQRV9JTlNUQU5DRV9HRVRf
UFJJVkFURShvYmosIFdFQktJVF9ET01fVFlQRV9URVNUX09CSiwgV2ViS2l0RE9NVGVzdE9ialBy
aXZhdGUpCiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRET01UZXN0T2JqUHJpdmF0ZSB7CiAgICAg
UmVmUHRyPFdlYkNvcmU6OlRlc3RPYmo+IGNvcmVPYmplY3Q7CkBAIC02OCwxMiArNjgsMTIgQEAg
V2ViQ29yZTo6VGVzdE9iaiogY29yZShXZWJLaXRET01UZXN0T2JqKiByZXF1ZXN0KQogV2ViS2l0
RE9NVGVzdE9iaiogd3JhcFRlc3RPYmooV2ViQ29yZTo6VGVzdE9iaiogY29yZU9iamVjdCkKIHsK
ICAgICBBU1NFUlQoY29yZU9iamVjdCk7Ci0gICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9PQkoo
Z19vYmplY3RfbmV3KFdFQktJVF9UWVBFX0RPTV9URVNUX09CSiwgImNvcmUtb2JqZWN0IiwgY29y
ZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRfRE9NX1RFU1RfT0JKKGdfb2JqZWN0
X25ldyhXRUJLSVRfRE9NX1RZUEVfVEVTVF9PQkosICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3Qs
IE5VTEwpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLUdfREVGSU5FX1RZUEUoV2Vi
S2l0RE9NVGVzdE9iaiwgd2Via2l0X2RvbV90ZXN0X29iaiwgV0VCS0lUX1RZUEVfRE9NX09CSkVD
VCkKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdE9iaiwgd2Via2l0X2RvbV90ZXN0X29iaiwg
V0VCS0lUX0RPTV9UWVBFX09CSkVDVCkKIAogZW51bSB7CiAgICAgUFJPUF8wLApAQCAtNjI1LDcg
KzYyNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfaW5pdChXZWJL
aXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAgICJyZWFkLW9ubHkt
dGVzdC1vYmotYXR0ciIsCiAgICAgICAgICAgICAiVGVzdE9iajpyZWFkLW9ubHktdGVzdC1vYmot
YXR0ciIsCiAgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTVRlc3RPYmoqIFRlc3RPYmo6
cmVhZC1vbmx5LXRlc3Qtb2JqLWF0dHIiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RF
U1RfT0JKLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAg
ICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxs
X3Byb3BlcnR5KApAQCAtNzE1LDcgKzcxNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVz
dF9vYmpfY2xhc3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAg
ICAgICAgICAgICJ0ZXN0LW9iai1hdHRyIiwKICAgICAgICAgICAgICJUZXN0T2JqOnRlc3Qtb2Jq
LWF0dHIiLAogICAgICAgICAgICAgInJlYWQtb25seSBXZWJLaXRET01UZXN0T2JqKiBUZXN0T2Jq
OnRlc3Qtb2JqLWF0dHIiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAor
ICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAgICAgV0VCS0lU
X1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5
KApAQCAtNzI1LDcgKzcyNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xh
c3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAg
ICJ4bWwtb2JqLWF0dHIiLAogICAgICAgICAgICAgIlRlc3RPYmo6eG1sLW9iai1hdHRyIiwKICAg
ICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NVGVzdE9iaiogVGVzdE9iajp4bWwtb2JqLWF0
dHIiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAorICAgICAgICAgICAg
V0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURB
QkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApAQCAtODg1LDcg
Kzg4NSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfaW5pdChXZWJL
aXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAgICJ3aXRoLXNjcmlw
dC1leGVjdXRpb24tY29udGV4dC1hdHRyaWJ1dGUiLAogICAgICAgICAgICAgIlRlc3RPYmo6d2l0
aC1zY3JpcHQtZXhlY3V0aW9uLWNvbnRleHQtYXR0cmlidXRlIiwKICAgICAgICAgICAgICJyZWFk
LW9ubHkgV2ViS2l0RE9NVGVzdE9iaiogVGVzdE9iajp3aXRoLXNjcmlwdC1leGVjdXRpb24tY29u
dGV4dC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAor
ICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAgICAgV0VCS0lU
X1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5
KApAQCAtODk1LDcgKzg5NSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xh
c3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAg
ICJ3aXRoLXNjcmlwdC1zdGF0ZS1hdHRyaWJ1dGUtcmFpc2VzIiwKICAgICAgICAgICAgICJUZXN0
T2JqOndpdGgtc2NyaXB0LXN0YXRlLWF0dHJpYnV0ZS1yYWlzZXMiLAogICAgICAgICAgICAgInJl
YWQtb25seSBXZWJLaXRET01UZXN0T2JqKiBUZXN0T2JqOndpdGgtc2NyaXB0LXN0YXRlLWF0dHJp
YnV0ZS1yYWlzZXMiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAorICAg
ICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAgICAgV0VCS0lUX1BB
UkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApA
QCAtOTA1LDcgKzkwNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3Nf
aW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAgICJ3
aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hdHRyaWJ1dGUtcmFpc2VzIiwKICAgICAgICAg
ICAgICJUZXN0T2JqOndpdGgtc2NyaXB0LWV4ZWN1dGlvbi1jb250ZXh0LWF0dHJpYnV0ZS1yYWlz
ZXMiLAogICAgICAgICAgICAgInJlYWQtb25seSBXZWJLaXRET01UZXN0T2JqKiBUZXN0T2JqOndp
dGgtc2NyaXB0LWV4ZWN1dGlvbi1jb250ZXh0LWF0dHJpYnV0ZS1yYWlzZXMiLAotICAgICAgICAg
ICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBF
X1RFU1RfT0JKLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBn
X29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApAQCAtOTE1LDcgKzkxNSw3IEBAIHN0YXRp
YyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xh
c3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAgICJ3aXRoLXNjcmlwdC1leGVjdXRpb24tY29u
dGV4dC1hbmQtc2NyaXB0LXN0YXRlLWF0dHJpYnV0ZSIsCiAgICAgICAgICAgICAiVGVzdE9iajp3
aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hbmQtc2NyaXB0LXN0YXRlLWF0dHJpYnV0ZSIs
CiAgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTVRlc3RPYmoqIFRlc3RPYmo6d2l0aC1z
Y3JpcHQtZXhlY3V0aW9uLWNvbnRleHQtYW5kLXNjcmlwdC1zdGF0ZS1hdHRyaWJ1dGUiLAotICAg
ICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAorICAgICAgICAgICAgV0VCS0lUX0RP
TV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAK
ICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApAQCAtOTI1LDcgKzkyNSw3IEBA
IHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfaW5pdChXZWJLaXRET01UZXN0
T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAgICJ3aXRoLXNjcmlwdC1leGVjdXRp
b24tY29udGV4dC1hbmQtc2NyaXB0LXN0YXRlLWF0dHJpYnV0ZS1yYWlzZXMiLAogICAgICAgICAg
ICAgIlRlc3RPYmo6d2l0aC1zY3JpcHQtZXhlY3V0aW9uLWNvbnRleHQtYW5kLXNjcmlwdC1zdGF0
ZS1hdHRyaWJ1dGUtcmFpc2VzIiwKICAgICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NVGVz
dE9iaiogVGVzdE9iajp3aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hbmQtc2NyaXB0LXN0
YXRlLWF0dHJpYnV0ZS1yYWlzZXMiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1Rf
T0JKLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAgICAg
V0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3By
b3BlcnR5KApAQCAtOTM1LDcgKzkzNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9v
YmpfY2xhc3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAg
ICAgICAgICJ3aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hbmQtc2NyaXB0LXN0YXRlLXdp
dGgtc3BhY2VzLWF0dHJpYnV0ZSIsCiAgICAgICAgICAgICAiVGVzdE9iajp3aXRoLXNjcmlwdC1l
eGVjdXRpb24tY29udGV4dC1hbmQtc2NyaXB0LXN0YXRlLXdpdGgtc3BhY2VzLWF0dHJpYnV0ZSIs
CiAgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTVRlc3RPYmoqIFRlc3RPYmo6d2l0aC1z
Y3JpcHQtZXhlY3V0aW9uLWNvbnRleHQtYW5kLXNjcmlwdC1zdGF0ZS13aXRoLXNwYWNlcy1hdHRy
aWJ1dGUiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAorICAgICAgICAg
ICAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JF
QURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApAQCAtOTQ1
LDcgKzk0NSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfaW5pdChX
ZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAgICJ3aXRoLXNj
cmlwdC1hcmd1bWVudHMtYW5kLWNhbGwtc3RhY2stYXR0cmlidXRlIiwKICAgICAgICAgICAgICJU
ZXN0T2JqOndpdGgtc2NyaXB0LWFyZ3VtZW50cy1hbmQtY2FsbC1zdGFjay1hdHRyaWJ1dGUiLAog
ICAgICAgICAgICAgInJlYWQtb25seSBXZWJLaXRET01UZXN0T2JqKiBUZXN0T2JqOndpdGgtc2Ny
aXB0LWFyZ3VtZW50cy1hbmQtY2FsbC1zdGFjay1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgV0VC
S0lUX1RZUEVfRE9NX1RFU1RfT0JKLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1RFU1Rf
T0JKLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVj
dF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApAQCAtOTg1LDcgKzk4NSw3IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJl
cXVlc3RDbGFzcykKICAgICAgICAgICAgICJhbnktYXR0cmlidXRlIiwKICAgICAgICAgICAgICJU
ZXN0T2JqOmFueS1hdHRyaWJ1dGUiLAogICAgICAgICAgICAgInJlYWQtb25seSBXZWJLaXRET01h
bnkqIFRlc3RPYmo6YW55LWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01f
QU5ZLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX0FOWSwKICAgICAgICAgICAgIFdFQktJ
VF9QQVJBTV9SRUFEQUJMRSkpOwogCiAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0
eSgKQEAgLTk5NSw3ICs5OTUsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2Ns
YXNzX2luaXQoV2ViS2l0RE9NVGVzdE9iakNsYXNzKiByZXF1ZXN0Q2xhc3MpCiAgICAgICAgICAg
ICAiY29udGVudC1kb2N1bWVudCIsCiAgICAgICAgICAgICAiVGVzdE9iajpjb250ZW50LWRvY3Vt
ZW50IiwKICAgICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NRG9jdW1lbnQqIFRlc3RPYmo6
Y29udGVudC1kb2N1bWVudCIsCi0gICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01fRE9DVU1FTlQs
CisgICAgICAgICAgICBXRUJLSVRfRE9NX1RZUEVfRE9DVU1FTlQsCiAgICAgICAgICAgICBXRUJL
SVRfUEFSQU1fUkVBREFCTEUpKTsKIAogICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVy
dHkoCkBAIC0xMDA1LDcgKzEwMDUsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2NsYXNzX2luaXQoV2ViS2l0RE9NVGVzdE9iakNsYXNzKiByZXF1ZXN0Q2xhc3MpCiAgICAgICAg
ICAgICAibXV0YWJsZS1wb2ludCIsCiAgICAgICAgICAgICAiVGVzdE9iajptdXRhYmxlLXBvaW50
IiwKICAgICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NU1ZHUG9pbnQqIFRlc3RPYmo6bXV0
YWJsZS1wb2ludCIsCi0gICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01fU1ZHX1BPSU5ULAorICAg
ICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1NWR19QT0lOVCwKICAgICAgICAgICAgIFdFQktJVF9Q
QVJBTV9SRUFEQUJMRSkpOwogCiAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgK
QEAgLTEwMTUsNyArMTAxNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xh
c3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAg
ICJpbW11dGFibGUtcG9pbnQiLAogICAgICAgICAgICAgIlRlc3RPYmo6aW1tdXRhYmxlLXBvaW50
IiwKICAgICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NU1ZHUG9pbnQqIFRlc3RPYmo6aW1t
dXRhYmxlLXBvaW50IiwKLSAgICAgICAgICAgIFdFQktJVF9UWVBFX0RPTV9TVkdfUE9JTlQsCisg
ICAgICAgICAgICBXRUJLSVRfRE9NX1RZUEVfU1ZHX1BPSU5ULAogICAgICAgICAgICAgV0VCS0lU
X1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5
KApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NVGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCmluZGV4IGM1Y2YyY2E2NTUzM2JmMGJjMzQ2
OWVlZGQ0N2JmMjJjY2E1NWE0YmQuLmJmMjdhZmJmNThjYTNlOTEyMjM1ZjNiNzUzN2M1MjljYmY3
ZmYyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9H
T2JqZWN0L1dlYktpdERPTVRlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmgKQEAgLTI5LDEyICsyOSwxMiBA
QAogCiBHX0JFR0lOX0RFQ0xTCiAKLSNkZWZpbmUgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKICAg
ICAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3R5cGUoKSkKLSNkZWZpbmUgV0VCS0lU
X0RPTV9URVNUX09CSihvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNU
KChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9PQkosIFdlYktpdERPTVRlc3RPYmopKQotI2Rl
ZmluZSBXRUJLSVRfRE9NX1RFU1RfT0JKX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NM
QVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX09CSiwgV2ViS2l0RE9NVGVz
dE9iakNsYXNzKQotI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKG9iaikgICAgICAgICAo
R19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9URVNUX09C
SikpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9PQkpfQ0xBU1Moa2xhc3MpIChHX1RZUEVf
Q0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKKSkKLSNk
ZWZpbmUgV0VCS0lUX0RPTV9URVNUX09CSl9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5D
RV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9PQkosIFdlYktpdERPTVRl
c3RPYmpDbGFzcykpCisjZGVmaW5lIFdFQktJVF9ET01fVFlQRV9URVNUX09CSiAgICAgICAgICAg
ICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9ET01fVEVT
VF9PQkoob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwg
V0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLCBXZWJLaXRET01UZXN0T2JqKSkKKyNkZWZpbmUgV0VC
S0lUX0RPTV9URVNUX09CSl9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNU
KChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9PQkosIFdlYktpdERPTVRlc3RPYmpDbGFz
cykKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX09CSihvYmopICAgICAgICAgKEdfVFlQRV9D
SEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9PQkopKQorI2Rl
ZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfT0JKX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NM
QVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX09CSikpCisjZGVmaW5lIFdF
QktJVF9ET01fVEVTVF9PQkpfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NM
QVNTKChvYmopLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLCBXZWJLaXRET01UZXN0T2JqQ2xh
c3MpKQogCiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RPYmogewogICAgIFdlYktpdERPTU9iamVjdCBw
YXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKaW5kZXggMGY1NzJmMmUwZjA0YTE4YWI2ZDkz
YzQyMjhmZDUxMjk4MGQyMGEzNi4uMTFhZjM4OWUyOTlhMDk5NDhkNzI0MWE1N2U4MzBhODk3YTBh
NzRmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgPHd0Zi9H
ZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNkZWZpbmUgV0VCS0lUX0RPTV9U
RVNUX09WRVJMT0FERURfQ09OU1RSVUNUT1JTX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RB
TkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT1ZFUkxPQURFRF9DT05T
VFJVQ1RPUlMsIFdlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzUHJpdmF0ZSkKKyNk
ZWZpbmUgV0VCS0lUX0RPTV9URVNUX09WRVJMT0FERURfQ09OU1RSVUNUT1JTX0dFVF9QUklWQVRF
KG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX0RPTV9UWVBFX1RF
U1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlMsIFdlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzUHJpdmF0ZSkKIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzUHJpdmF0ZSB7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlRlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzPiBjb3JlT2JqZWN0OwpAQCAtNTksMTIgKzU5LDEyIEBAIFdlYkNvcmU6OlRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzKiBjb3JlKFdlYktpdERPTVRlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzKiByCiBXZWJLaXRET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyogd3JhcFRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzKFdlYkNvcmU6OlRlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzKiBjb3JlT2JqZWN0KQogewogICAgIEFTU0VSVChjb3JlT2JqZWN0KTsKLSAgICByZXR1cm4g
V0VCS0lUX0RPTV9URVNUX09WRVJMT0FERURfQ09OU1RSVUNUT1JTKGdfb2JqZWN0X25ldyhXRUJL
SVRfVFlQRV9ET01fVEVTVF9PVkVSTE9BREVEX0NPTlNUUlVDVE9SUywgImNvcmUtb2JqZWN0Iiwg
Y29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRfRE9NX1RFU1RfT1ZFUkxPQURF
RF9DT05TVFJVQ1RPUlMoZ19vYmplY3RfbmV3KFdFQktJVF9ET01fVFlQRV9URVNUX09WRVJMT0FE
RURfQ09OU1RSVUNUT1JTLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBOVUxMKSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi1HX0RFRklORV9UWVBFKFdlYktpdERPTVRlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzLCB3ZWJraXRfZG9tX3Rlc3Rfb3ZlcmxvYWRlZF9jb25zdHJ1Y3Rv
cnMsIFdFQktJVF9UWVBFX0RPTV9PQkpFQ1QpCitHX0RFRklORV9UWVBFKFdlYktpdERPTVRlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzLCB3ZWJraXRfZG9tX3Rlc3Rfb3ZlcmxvYWRlZF9jb25zdHJ1
Y3RvcnMsIFdFQktJVF9ET01fVFlQRV9PQkpFQ1QpCiAKIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21f
dGVzdF9vdmVybG9hZGVkX2NvbnN0cnVjdG9yc19maW5hbGl6ZShHT2JqZWN0KiBvYmplY3QpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVj
dC9XZWJLaXRET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnMuaAppbmRleCBkZDA2ZGY0MmFmYjk0MzY2MjA2ZTk1NDcyN2RjNmU2ZDFmYmYyNjhl
Li4yMjBjZDg3MDYzYjZiZDY2NzkxZmU3YWY3NDBlODMzMDk2MDhlYWI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmgK
QEAgLTI5LDEyICsyOSwxMiBAQAogCiBHX0JFR0lOX0RFQ0xTCiAKLSNkZWZpbmUgV0VCS0lUX1RZ
UEVfRE9NX1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlMgICAgICAgICAgICAod2Via2l0X2Rv
bV90ZXN0X292ZXJsb2FkZWRfY29uc3RydWN0b3JzX2dldF90eXBlKCkpCi0jZGVmaW5lIFdFQktJ
VF9ET01fVEVTVF9PVkVSTE9BREVEX0NPTlNUUlVDVE9SUyhvYmopICAgICAgICAgICAgKEdfVFlQ
RV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9PVkVSTE9B
REVEX0NPTlNUUlVDVE9SUywgV2ViS2l0RE9NVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMpKQot
I2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlNfQ0xBU1Moa2xh
c3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9N
X1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlMsIFdlYktpdERPTVRlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzQ2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9PVkVSTE9BREVEX0NP
TlNUUlVDVE9SUyhvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmop
LCBXRUJLSVRfVFlQRV9ET01fVEVTVF9PVkVSTE9BREVEX0NPTlNUUlVDVE9SUykpCi0jZGVmaW5l
IFdFQktJVF9ET01fSVNfVEVTVF9PVkVSTE9BREVEX0NPTlNUUlVDVE9SU19DTEFTUyhrbGFzcykg
KEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9P
VkVSTE9BREVEX0NPTlNUUlVDVE9SUykpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9PVkVSTE9B
REVEX0NPTlNUUlVDVE9SU19HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xB
U1MoKG9iaiksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9PVkVSTE9BREVEX0NPTlNUUlVDVE9SUywg
V2ViS2l0RE9NVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDbGFzcykpCisjZGVmaW5lIFdFQktJ
VF9ET01fVFlQRV9URVNUX09WRVJMT0FERURfQ09OU1RSVUNUT1JTICAgICAgICAgICAgKHdlYmtp
dF9kb21fdGVzdF9vdmVybG9hZGVkX2NvbnN0cnVjdG9yc19nZXRfdHlwZSgpKQorI2RlZmluZSBX
RUJLSVRfRE9NX1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlMob2JqKSAgICAgICAgICAgIChH
X1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT1ZF
UkxPQURFRF9DT05TVFJVQ1RPUlMsIFdlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
KSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX09WRVJMT0FERURfQ09OU1RSVUNUT1JTX0NMQVNT
KGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01f
VFlQRV9URVNUX09WRVJMT0FERURfQ09OU1RSVUNUT1JTLCBXZWJLaXRET01UZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yc0NsYXNzKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfT1ZFUkxPQURF
RF9DT05TVFJVQ1RPUlMob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgo
b2JqKSwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlMpKQorI2Rl
ZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlNfQ0xBU1Moa2xh
c3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RF
U1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlMpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfT1ZF
UkxPQURFRF9DT05TVFJVQ1RPUlNfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VU
X0NMQVNTKChvYmopLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RP
UlMsIFdlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ2xhc3MpKQogCiBzdHJ1Y3Qg
X1dlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzIHsKICAgICBXZWJLaXRET01PYmpl
Y3QgcGFyZW50X2luc3RhbmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVj
dC9XZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAppbmRleCBm
M2FhNjY5MDE5ZmY5YzkzOTkzMWQyYTlhMmM4ODRjMDE5Mzg3MzkxLi43ZWJhZTc4N2YxOTUwZWFj
YWMxNTFkNTg3YzRiMzA3NjJhYjEwZTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvR09iamVjdC9XZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNw
cApAQCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX1NFUklBTElaRURfU0NSSVBU
X1ZBTFVFX0lOVEVSRkFDRV9HRVRfUFJJVkFURShvYmopIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJ
VkFURShvYmosIFdFQktJVF9UWVBFX0RPTV9URVNUX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFX0lO
VEVSRkFDRSwgV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVByaXZh
dGUpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRF
UkZBQ0VfR0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUob2JqLCBX
RUJLSVRfRE9NX1RZUEVfVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0UsIFdl
YktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcml2YXRlKQogCiB0eXBl
ZGVmIHN0cnVjdCBfV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVBy
aXZhdGUgewogI2lmIEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0aW9uMikKQEAg
LTY0LDE0ICs2NCwxNCBAQCBXZWJDb3JlOjpUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlKiBjb3JlKFdlYktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VgogV2ViS2l0RE9NVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogd3JhcFRlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2UoV2ViQ29yZTo6VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSog
Y29yZU9iamVjdCkKIHsKICAgICBBU1NFUlQoY29yZU9iamVjdCk7Ci0gICAgcmV0dXJuIFdFQktJ
VF9ET01fVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0UoZ19vYmplY3RfbmV3
KFdFQktJVF9UWVBFX0RPTV9URVNUX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFX0lOVEVSRkFDRSwg
ImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRfRE9N
X1RFU1RfU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUVfSU5URVJGQUNFKGdfb2JqZWN0X25ldyhXRUJL
SVRfRE9NX1RZUEVfVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0UsICJjb3Jl
LW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKICNlbmRpZiAvLyBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCiAK
LUdfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZSwgd2Via2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX2ludGVyZmFjZSwgV0VC
S0lUX1RZUEVfRE9NX09CSkVDVCkKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSwgd2Via2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0
X3ZhbHVlX2ludGVyZmFjZSwgV0VCS0lUX0RPTV9UWVBFX09CSkVDVCkKIAogZW51bSB7CiAgICAg
UFJPUF8wLApAQCAtMTc0LDcgKzE3NCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9z
ZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfY2xhc3NfaW5pdChXZWJLaXRECiAgICAg
ICAgICAgICAidmFsdWUiLAogICAgICAgICAgICAgIlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2U6dmFsdWUiLAogICAgICAgICAgICAgInJlYWQtb25seSBXZWJLaXRET01TZXJpYWxp
emVkU2NyaXB0VmFsdWUqIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6dmFsdWUi
LAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFLAor
ICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFLAogICAg
ICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19p
bnN0YWxsX3Byb3BlcnR5KApAQCAtMTg0LDcgKzE4NCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9k
b21fdGVzdF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfY2xhc3NfaW5pdChXZWJL
aXRECiAgICAgICAgICAgICAicmVhZG9ubHktdmFsdWUiLAogICAgICAgICAgICAgIlRlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6cmVhZG9ubHktdmFsdWUiLAogICAgICAgICAgICAg
InJlYWQtb25seSBXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUqIFRlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2U6cmVhZG9ubHktdmFsdWUiLAotICAgICAgICAgICAgV0VCS0lU
X1RZUEVfRE9NX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFLAorICAgICAgICAgICAgV0VCS0lUX0RP
TV9UWVBFX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFN
X1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApAQCAt
MTk0LDcgKzE5NCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3Nj
cmlwdF92YWx1ZV9pbnRlcmZhY2VfY2xhc3NfaW5pdChXZWJLaXRECiAgICAgICAgICAgICAiY2Fj
aGVkLXZhbHVlIiwKICAgICAgICAgICAgICJUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlOmNhY2hlZC12YWx1ZSIsCiAgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTVNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZSogVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTpjYWNo
ZWQtdmFsdWUiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1NFUklBTElaRURfU0NSSVBU
X1ZBTFVFLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1NFUklBTElaRURfU0NSSVBUX1ZB
TFVFLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVj
dF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApAQCAtMjA0LDcgKzIwNCw3IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfY2xhc3Nf
aW5pdChXZWJLaXRECiAgICAgICAgICAgICAiY2FjaGVkLXJlYWRvbmx5LXZhbHVlIiwKICAgICAg
ICAgICAgICJUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOmNhY2hlZC1yZWFkb25s
eS12YWx1ZSIsCiAgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTVNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZSogVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTpjYWNoZWQtcmVhZG9u
bHktdmFsdWUiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1NFUklBTElaRURfU0NSSVBU
X1ZBTFVFLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1NFUklBTElaRURfU0NSSVBUX1ZB
TFVFLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2UuaAppbmRleCBmMGFlOGFhOWU5NTBmNmFiOTZhZGMyODExM2UwMTAzMzk1
NTY5YmEwLi5kMTJiMGViYWYyMzQ5YTBkNDdjYTQ3MDVhZTUzMzk1N2QyOGZmMGFhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5oCkBAIC0yOSwxMiArMjksMTIgQEAKIAogR19CRUdJTl9ERUNM
UwogCi0jZGVmaW5lIFdFQktJVF9UWVBFX0RPTV9URVNUX1NFUklBTElaRURfU0NSSVBUX1ZBTFVF
X0lOVEVSRkFDRSAgICAgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfc2VyaWFsaXplZF9zY3JpcHRf
dmFsdWVfaW50ZXJmYWNlX2dldF90eXBlKCkpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9TRVJJ
QUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0Uob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hF
Q0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfRE9NX1RFU1RfU0VSSUFMSVpFRF9T
Q1JJUFRfVkFMVUVfSU5URVJGQUNFLCBXZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX1NFUklBTElaRURfU0NSSVBUX1ZB
TFVFX0lOVEVSRkFDRV9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChr
bGFzcyksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRF
UkZBQ0UsIFdlYktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDbGFzcykK
LSNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFX0lOVEVS
RkFDRShvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJL
SVRfVFlQRV9ET01fVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0UpKQotI2Rl
ZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUVfSU5URVJGQUNF
X0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9U
WVBFX0RPTV9URVNUX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFX0lOVEVSRkFDRSkpCi0jZGVmaW5l
IFdFQktJVF9ET01fVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0VfR0VUX0NM
QVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVf
RE9NX1RFU1RfU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUVfSU5URVJGQUNFLCBXZWJLaXRET01UZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ2xhc3MpKQorI2RlZmluZSBXRUJLSVRfRE9N
X1RZUEVfVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0UgICAgICAgICAgICAo
d2Via2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX2ludGVyZmFjZV9nZXRfdHlw
ZSgpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUVfSU5U
RVJGQUNFKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiks
IFdFQktJVF9ET01fVFlQRV9URVNUX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFX0lOVEVSRkFDRSwg
V2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSkpCisjZGVmaW5lIFdF
QktJVF9ET01fVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0VfQ0xBU1Moa2xh
c3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBF
X1RFU1RfU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUVfSU5URVJGQUNFLCBXZWJLaXRET01UZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ2xhc3MpCisjZGVmaW5lIFdFQktJVF9ET01fSVNf
VEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0Uob2JqKSAgICAgICAgIChHX1RZ
UEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfU0VSSUFM
SVpFRF9TQ1JJUFRfVkFMVUVfSU5URVJGQUNFKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNU
X1NFUklBTElaRURfU0NSSVBUX1ZBTFVFX0lOVEVSRkFDRV9DTEFTUyhrbGFzcykgKEdfVFlQRV9D
SEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9TRVJJQUxJWkVE
X1NDUklQVF9WQUxVRV9JTlRFUkZBQ0UpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfU0VSSUFM
SVpFRF9TQ1JJUFRfVkFMVUVfSU5URVJGQUNFX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RB
TkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX1NFUklBTElaRURfU0NS
SVBUX1ZBTFVFX0lOVEVSRkFDRSwgV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZUNsYXNzKSkKIAogc3RydWN0IF9XZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlIHsKICAgICBXZWJLaXRET01PYmplY3QgcGFyZW50X2luc3RhbmNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdFR5cGVkZWZzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmcy5jcHAKaW5kZXggZjlhYWE2OWY0Yjg4
ZTA3MGJiNjUwMTc4ZGE3MjRiNTkxMmI1MDI4ZS4uYThjY2ZiMTY5N2ZiYTM3OWI3Mjg3ZDYzZGI1
NTliNmYwN2IxZDM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFR5cGVkZWZzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0VHlwZWRlZnMu
Y3BwCkBAIC0zNiw3ICszNiw3IEBACiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KIAotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfVFlQRURFRlNfR0VUX1BS
SVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUob2JqLCBXRUJLSVRfVFlQRV9E
T01fVEVTVF9UWVBFREVGUywgV2ViS2l0RE9NVGVzdFR5cGVkZWZzUHJpdmF0ZSkKKyNkZWZpbmUg
V0VCS0lUX0RPTV9URVNUX1RZUEVERUZTX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNF
X0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfVFlQRURFRlMsIFdlYktpdERP
TVRlc3RUeXBlZGVmc1ByaXZhdGUpCiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRET01UZXN0VHlw
ZWRlZnNQcml2YXRlIHsKICAgICBSZWZQdHI8V2ViQ29yZTo6VGVzdFR5cGVkZWZzPiBjb3JlT2Jq
ZWN0OwpAQCAtNjMsMTIgKzYzLDEyIEBAIFdlYkNvcmU6OlRlc3RUeXBlZGVmcyogY29yZShXZWJL
aXRET01UZXN0VHlwZWRlZnMqIHJlcXVlc3QpCiBXZWJLaXRET01UZXN0VHlwZWRlZnMqIHdyYXBU
ZXN0VHlwZWRlZnMoV2ViQ29yZTo6VGVzdFR5cGVkZWZzKiBjb3JlT2JqZWN0KQogewogICAgIEFT
U0VSVChjb3JlT2JqZWN0KTsKLSAgICByZXR1cm4gV0VCS0lUX0RPTV9URVNUX1RZUEVERUZTKGdf
b2JqZWN0X25ldyhXRUJLSVRfVFlQRV9ET01fVEVTVF9UWVBFREVGUywgImNvcmUtb2JqZWN0Iiwg
Y29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRfRE9NX1RFU1RfVFlQRURFRlMo
Z19vYmplY3RfbmV3KFdFQktJVF9ET01fVFlQRV9URVNUX1RZUEVERUZTLCAiY29yZS1vYmplY3Qi
LCBjb3JlT2JqZWN0LCBOVUxMKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi1HX0RF
RklORV9UWVBFKFdlYktpdERPTVRlc3RUeXBlZGVmcywgd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZz
LCBXRUJLSVRfVFlQRV9ET01fT0JKRUNUKQorR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0VHlw
ZWRlZnMsIHdlYmtpdF9kb21fdGVzdF90eXBlZGVmcywgV0VCS0lUX0RPTV9UWVBFX09CSkVDVCkK
IAogZW51bSB7CiAgICAgUFJPUF8wLApAQCAtMjAyLDcgKzIwMiw3IEBAIHN0YXRpYyB2b2lkIHdl
YmtpdF9kb21fdGVzdF90eXBlZGVmc19jbGFzc19pbml0KFdlYktpdERPTVRlc3RUeXBlZGVmc0Ns
YXNzKiByZXF1CiAgICAgICAgICAgICAiaW1tdXRhYmxlLXNlcmlhbGl6ZWQtc2NyaXB0LXZhbHVl
IiwKICAgICAgICAgICAgICJUZXN0VHlwZWRlZnM6aW1tdXRhYmxlLXNlcmlhbGl6ZWQtc2NyaXB0
LXZhbHVlIiwKICAgICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NU2VyaWFsaXplZFNjcmlw
dFZhbHVlKiBUZXN0VHlwZWRlZnM6aW1tdXRhYmxlLXNlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlIiwK
LSAgICAgICAgICAgIFdFQktJVF9UWVBFX0RPTV9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRSwKKyAg
ICAgICAgICAgIFdFQktJVF9ET01fVFlQRV9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRSwKICAgICAg
ICAgICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOwogCiAgICAgZ19vYmplY3RfY2xhc3NfaW5z
dGFsbF9wcm9wZXJ0eSgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmcy5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFR5cGVkZWZzLmgKaW5k
ZXggZGE1MzcyYzM1Yzc3OTliNDE3NTU5N2UyZmNlNmU0ZTk2MWJlZTBiYi4uMDg1NGExNDM0ZTU5
NGI5MzQ5N2U2ZTdhMTVlNDQ1OTNjMDZjODBhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFR5cGVkZWZzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9N
VGVzdFR5cGVkZWZzLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogCiBHX0JFR0lOX0RFQ0xTCiAKLSNk
ZWZpbmUgV0VCS0lUX1RZUEVfRE9NX1RFU1RfVFlQRURFRlMgICAgICAgICAgICAod2Via2l0X2Rv
bV90ZXN0X3R5cGVkZWZzX2dldF90eXBlKCkpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9UWVBF
REVGUyhvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBX
RUJLSVRfVFlQRV9ET01fVEVTVF9UWVBFREVGUywgV2ViS2l0RE9NVGVzdFR5cGVkZWZzKSkKLSNk
ZWZpbmUgV0VCS0lUX0RPTV9URVNUX1RZUEVERUZTX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NI
RUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX1RZUEVERUZTLCBX
ZWJLaXRET01UZXN0VHlwZWRlZnNDbGFzcykKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX1RZ
UEVERUZTKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdF
QktJVF9UWVBFX0RPTV9URVNUX1RZUEVERUZTKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNU
X1RZUEVERUZTX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwg
IFdFQktJVF9UWVBFX0RPTV9URVNUX1RZUEVERUZTKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNU
X1RZUEVERUZTX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2Jq
KSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX1RZUEVERUZTLCBXZWJLaXRET01UZXN0VHlwZWRlZnND
bGFzcykpCisjZGVmaW5lIFdFQktJVF9ET01fVFlQRV9URVNUX1RZUEVERUZTICAgICAgICAgICAg
KHdlYmtpdF9kb21fdGVzdF90eXBlZGVmc19nZXRfdHlwZSgpKQorI2RlZmluZSBXRUJLSVRfRE9N
X1RFU1RfVFlQRURFRlMob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FT
VCgob2JqKSwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfVFlQRURFRlMsIFdlYktpdERPTVRlc3RUeXBl
ZGVmcykpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9UWVBFREVGU19DTEFTUyhrbGFzcykgICAg
KEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9U
WVBFREVGUywgV2ViS2l0RE9NVGVzdFR5cGVkZWZzQ2xhc3MpCisjZGVmaW5lIFdFQktJVF9ET01f
SVNfVEVTVF9UWVBFREVGUyhvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBF
KChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9UWVBFREVGUykpCisjZGVmaW5lIFdFQktJVF9E
T01fSVNfVEVTVF9UWVBFREVGU19DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBF
KChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9UWVBFREVGUykpCisjZGVmaW5lIFdFQktJ
VF9ET01fVEVTVF9UWVBFREVGU19HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRf
Q0xBU1MoKG9iaiksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9UWVBFREVGUywgV2ViS2l0RE9NVGVz
dFR5cGVkZWZzQ2xhc3MpKQogCiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RUeXBlZGVmcyB7CiAgICAg
V2ViS2l0RE9NT2JqZWN0IHBhcmVudF9pbnN0YW5jZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTWF0dHJpYnV0ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01h
dHRyaWJ1dGUuY3BwCmluZGV4IDEzM2ZkN2JiYjdhMTgzZTMwNDk3NmM4ZTQ2NTI0MzkxZTRkMzY1
YmIuLmQ1MjAxNTI1ZjJkZTRkODczNzU4NDAzODUxOTEyYmJhYTc3NzMxZmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTWF0
dHJpYnV0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NYXR0cmlidXRlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUg
PHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNkZWZpbmUgV0VCS0lU
X0RPTV9BVFRSSUJVVEVfR0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZB
VEUob2JqLCBXRUJLSVRfVFlQRV9ET01fQVRUUklCVVRFLCBXZWJLaXRET01hdHRyaWJ1dGVQcml2
YXRlKQorI2RlZmluZSBXRUJLSVRfRE9NX0FUVFJJQlVURV9HRVRfUFJJVkFURShvYmopIEdfVFlQ
RV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9ET01fVFlQRV9BVFRSSUJVVEUsIFdl
YktpdERPTWF0dHJpYnV0ZVByaXZhdGUpCiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRET01hdHRy
aWJ1dGVQcml2YXRlIHsKICAgICBSZWZQdHI8V2ViQ29yZTo6YXR0cmlidXRlPiBjb3JlT2JqZWN0
OwpAQCAtNTksMTIgKzU5LDEyIEBAIFdlYkNvcmU6OmF0dHJpYnV0ZSogY29yZShXZWJLaXRET01h
dHRyaWJ1dGUqIHJlcXVlc3QpCiBXZWJLaXRET01hdHRyaWJ1dGUqIHdyYXBhdHRyaWJ1dGUoV2Vi
Q29yZTo6YXR0cmlidXRlKiBjb3JlT2JqZWN0KQogewogICAgIEFTU0VSVChjb3JlT2JqZWN0KTsK
LSAgICByZXR1cm4gV0VCS0lUX0RPTV9BVFRSSUJVVEUoZ19vYmplY3RfbmV3KFdFQktJVF9UWVBF
X0RPTV9BVFRSSUJVVEUsICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKKyAgICBy
ZXR1cm4gV0VCS0lUX0RPTV9BVFRSSUJVVEUoZ19vYmplY3RfbmV3KFdFQktJVF9ET01fVFlQRV9B
VFRSSUJVVEUsICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKLUdfREVGSU5FX1RZUEUoV2ViS2l0RE9NYXR0cmlidXRlLCB3ZWJr
aXRfZG9tX2F0dHJpYnV0ZSwgV0VCS0lUX1RZUEVfRE9NX09CSkVDVCkKK0dfREVGSU5FX1RZUEUo
V2ViS2l0RE9NYXR0cmlidXRlLCB3ZWJraXRfZG9tX2F0dHJpYnV0ZSwgV0VCS0lUX0RPTV9UWVBF
X09CSkVDVCkKIAogZW51bSB7CiAgICAgUFJPUF8wLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NYXR0cmlidXRlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01hdHRy
aWJ1dGUuaAppbmRleCA1Y2VkMDg3NjRlY2IwZDM2OTNlMWUzN2MzNTE0Y2NhYTk0YjI0MjFlLi40
MTBkNjQ3NDdjMDE4OGY1N2ZkNzQ3OTY4ZjAzOGJlNWFiNzE1MGFhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01hdHRyaWJ1
dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9X
ZWJLaXRET01hdHRyaWJ1dGUuaApAQCAtMzEsMTIgKzMxLDEyIEBAIEdfQkVHSU5fREVDTFMKIAog
R19CRUdJTl9ERUNMUwogCi0jZGVmaW5lIFdFQktJVF9UWVBFX0RPTV9BVFRSSUJVVEUgICAgICAg
ICAgICAod2Via2l0X2RvbV9hdHRyaWJ1dGVfZ2V0X3R5cGUoKSkKLSNkZWZpbmUgV0VCS0lUX0RP
TV9BVFRSSUJVVEUob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgo
b2JqKSwgV0VCS0lUX1RZUEVfRE9NX0FUVFJJQlVURSwgV2ViS2l0RE9NYXR0cmlidXRlKSkKLSNk
ZWZpbmUgV0VCS0lUX0RPTV9BVFRSSUJVVEVfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tf
Q0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX0FUVFJJQlVURSwgV2ViS2l0RE9N
YXR0cmlidXRlQ2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfQVRUUklCVVRFKG9iaikgICAg
ICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9B
VFRSSUJVVEUpKQotI2RlZmluZSBXRUJLSVRfRE9NX0lTX0FUVFJJQlVURV9DTEFTUyhrbGFzcykg
KEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fQVRUUklC
VVRFKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9BVFRSSUJVVEVfR0VUX0NMQVNTKG9iaikgIChHX1RZ
UEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX0FUVFJJQlVURSwg
V2ViS2l0RE9NYXR0cmlidXRlQ2xhc3MpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RZUEVfQVRUUklC
VVRFICAgICAgICAgICAgKHdlYmtpdF9kb21fYXR0cmlidXRlX2dldF90eXBlKCkpCisjZGVmaW5l
IFdFQktJVF9ET01fQVRUUklCVVRFKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RB
TkNFX0NBU1QoKG9iaiksIFdFQktJVF9ET01fVFlQRV9BVFRSSUJVVEUsIFdlYktpdERPTWF0dHJp
YnV0ZSkpCisjZGVmaW5lIFdFQktJVF9ET01fQVRUUklCVVRFX0NMQVNTKGtsYXNzKSAgICAoR19U
WVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9BVFRSSUJVVEUs
IFdlYktpdERPTWF0dHJpYnV0ZUNsYXNzKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX0FUVFJJQlVU
RShvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRf
RE9NX1RZUEVfQVRUUklCVVRFKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19BVFRSSUJVVEVfQ0xB
U1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX0RPTV9U
WVBFX0FUVFJJQlVURSkpCisjZGVmaW5lIFdFQktJVF9ET01fQVRUUklCVVRFX0dFVF9DTEFTUyhv
YmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQRV9B
VFRSSUJVVEUsIFdlYktpdERPTWF0dHJpYnV0ZUNsYXNzKSkKIAogc3RydWN0IF9XZWJLaXRET01h
dHRyaWJ1dGUgewogICAgIFdlYktpdERPTU9iamVjdCBwYXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01yZWFkb25seS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01yZWFkb25seS5jcHAKaW5kZXggMTg1ODA4NGVkNDQxZTNlYTQzNDcyYTFk
ZGQ0NTQ5MGJkMmExYmQ5Zi4uY2E0MWYxMjNiNjNiY2FjNDdhYzJmNmI4MzhhMWU1MWY5ZmM1YTU1
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NcmVhZG9ubHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTXJlYWRvbmx5LmNwcApAQCAtMzIsNyArMzIsNyBA
QAogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNk
ZWZpbmUgV0VCS0lUX0RPTV9SRUFET05MWV9HRVRfUFJJVkFURShvYmopIEdfVFlQRV9JTlNUQU5D
RV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9UWVBFX0RPTV9SRUFET05MWSwgV2ViS2l0RE9NcmVh
ZG9ubHlQcml2YXRlKQorI2RlZmluZSBXRUJLSVRfRE9NX1JFQURPTkxZX0dFVF9QUklWQVRFKG9i
aikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX0RPTV9UWVBFX1JFQURP
TkxZLCBXZWJLaXRET01yZWFkb25seVByaXZhdGUpCiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRE
T01yZWFkb25seVByaXZhdGUgewogICAgIFJlZlB0cjxXZWJDb3JlOjpyZWFkb25seT4gY29yZU9i
amVjdDsKQEAgLTU5LDEyICs1OSwxMiBAQCBXZWJDb3JlOjpyZWFkb25seSogY29yZShXZWJLaXRE
T01yZWFkb25seSogcmVxdWVzdCkKIFdlYktpdERPTXJlYWRvbmx5KiB3cmFwcmVhZG9ubHkoV2Vi
Q29yZTo6cmVhZG9ubHkqIGNvcmVPYmplY3QpCiB7CiAgICAgQVNTRVJUKGNvcmVPYmplY3QpOwot
ICAgIHJldHVybiBXRUJLSVRfRE9NX1JFQURPTkxZKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9E
T01fUkVBRE9OTFksICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKKyAgICByZXR1
cm4gV0VCS0lUX0RPTV9SRUFET05MWShnX29iamVjdF9uZXcoV0VCS0lUX0RPTV9UWVBFX1JFQURP
TkxZLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBOVUxMKSk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCi1HX0RFRklORV9UWVBFKFdlYktpdERPTXJlYWRvbmx5LCB3ZWJraXRfZG9t
X3JlYWRvbmx5LCBXRUJLSVRfVFlQRV9ET01fT0JKRUNUKQorR19ERUZJTkVfVFlQRShXZWJLaXRE
T01yZWFkb25seSwgd2Via2l0X2RvbV9yZWFkb25seSwgV0VCS0lUX0RPTV9UWVBFX09CSkVDVCkK
IAogc3RhdGljIHZvaWQgd2Via2l0X2RvbV9yZWFkb25seV9maW5hbGl6ZShHT2JqZWN0KiBvYmpl
Y3QpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01yZWFkb25seS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NcmVhZG9ubHkuaAppbmRleCAzZjMyMGZkNjdhNTQy
MDdhZjNiOTJlODcxZTYxYWFlNTc4NGRkNzczLi43NDI4NmI4NzUyZDMzMmRlOTNmMTY5NDg4Yzhj
MmIyZDkxZDM0YzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01yZWFkb25seS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTXJlYWRvbmx5LmgKQEAgLTMxLDEy
ICszMSwxMiBAQCBHX0JFR0lOX0RFQ0xTCiAKIEdfQkVHSU5fREVDTFMKIAotI2RlZmluZSBXRUJL
SVRfVFlQRV9ET01fUkVBRE9OTFkgICAgICAgICAgICAod2Via2l0X2RvbV9yZWFkb25seV9nZXRf
dHlwZSgpKQotI2RlZmluZSBXRUJLSVRfRE9NX1JFQURPTkxZKG9iaikgICAgICAgICAgICAoR19U
WVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9SRUFET05MWSwg
V2ViS2l0RE9NcmVhZG9ubHkpKQotI2RlZmluZSBXRUJLSVRfRE9NX1JFQURPTkxZX0NMQVNTKGts
YXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RP
TV9SRUFET05MWSwgV2ViS2l0RE9NcmVhZG9ubHlDbGFzcykKLSNkZWZpbmUgV0VCS0lUX0RPTV9J
U19SRUFET05MWShvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmop
LCBXRUJLSVRfVFlQRV9ET01fUkVBRE9OTFkpKQotI2RlZmluZSBXRUJLSVRfRE9NX0lTX1JFQURP
TkxZX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJ
VF9UWVBFX0RPTV9SRUFET05MWSkpCi0jZGVmaW5lIFdFQktJVF9ET01fUkVBRE9OTFlfR0VUX0NM
QVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVf
RE9NX1JFQURPTkxZLCBXZWJLaXRET01yZWFkb25seUNsYXNzKSkKKyNkZWZpbmUgV0VCS0lUX0RP
TV9UWVBFX1JFQURPTkxZICAgICAgICAgICAgKHdlYmtpdF9kb21fcmVhZG9ubHlfZ2V0X3R5cGUo
KSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9SRUFET05MWShvYmopICAgICAgICAgICAgKEdfVFlQRV9D
SEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfUkVBRE9OTFksIFdlYktp
dERPTXJlYWRvbmx5KSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9SRUFET05MWV9DTEFTUyhrbGFzcykg
ICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfUkVB
RE9OTFksIFdlYktpdERPTXJlYWRvbmx5Q2xhc3MpCisjZGVmaW5lIFdFQktJVF9ET01fSVNfUkVB
RE9OTFkob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VC
S0lUX0RPTV9UWVBFX1JFQURPTkxZKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19SRUFET05MWV9D
TEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfRE9N
X1RZUEVfUkVBRE9OTFkpKQorI2RlZmluZSBXRUJLSVRfRE9NX1JFQURPTkxZX0dFVF9DTEFTUyhv
YmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQRV9S
RUFET05MWSwgV2ViS2l0RE9NcmVhZG9ubHlDbGFzcykpCiAKIHN0cnVjdCBfV2ViS2l0RE9NcmVh
ZG9ubHkgewogICAgIFdlYktpdERPTU9iamVjdCBwYXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzRjMzFlY2EyM2M2Njc4
YzIzZTE3OTYxOTY1M2RjYTVlNjcwOTM2OC4uZWZjNWMzZTgyNDc2M2VkYTE2NWYyNzQ3ZTAwYjQy
ZDc2MTM0NWMyMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE0LTA2LTIzICBUb21hcyBQb3BlbGEgIDx0cG9wZWxh
QHJlZGhhdC5jb20+CisKKyAgICAgICAgW0dUS10gU29tZSBvZiBET00gYmluZGluZ3MgbWFjcm9z
IGFyZSBtaXNuYW1lZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTIxNTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQXMgd2UgYXJlIHVzaW5nIFdlYktpdERPTSBhcyBhIG5hbWVzcGFjZSB3ZSBzaG91bGQg
dW5pZnkgYWxsIHR5cGUgbWFjcm9zCisgICAgICAgIHRvIGhhdmUgV0VCS0lUX0RPTV9UWVBFIHBy
ZWZpeCBpbnN0ZWFkIG9mIFdFQktJVF9UWVBFX0RPTS4gQWxzbyBhZGQKKyAgICAgICAgbW9yZSBl
eGNlcHRpb25zIHRvIGRlY2FtZWxpemUgZnVuY3Rpb24gaW4gR09iamVjdCBiaW5kaW5ncyBnZW5l
cmF0b3IKKyAgICAgICAgdG8gZml4IHRoZSBuYW1lcyBvZiBiaW5kaW5ncyBmb3IgQlIsIEhSLCBV
TCwgT0wsIERMIGFuZCBMSSBlbGVtZW50cy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mkd0ay9ET01Ob2RlRmlsdGVyVGVzdC5jcHA6CisgICAgICAgICogZ3RrL3dlYmtp
dGRvbS5weToKKyAgICAgICAgKFdlYktpdERPTURvY0dlbmVyYXRvclNlY3Rpb25zLl9kb21fY2xh
c3NfZGVjYW1lbGl6ZSk6CisgICAgICAgIChXZWJLaXRET01Eb2NHZW5lcmF0b3JTZWN0aW9ucy53
cml0ZV9zZWN0aW9uKToKKwogMjAxNC0wNi0yMSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2lt
QHNhbXN1bmcuY29tPgogCiAgICAgICAgIERpc2FibGUgZ2FtZXBhZCBmZWF0dXJlIG9uIEVGTCBh
bmQgR1RLIHBvcnRzIGJ5IGRlZmF1bHQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mkd0ay9ET01Ob2RlRmlsdGVyVGVzdC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDJHdGsvRE9NTm9kZUZpbHRlclRlc3QuY3BwCmluZGV4IGYyY2Y1MzEx
MDJhYTA3OTE4ZGZmYmZmMzdhZWQyMjQwZWMzMmIyNmYuLjlhOTc4MjdlYWRhMjgxZmYwM2UwNDRj
NTdmZWRmNzI3M2I3YzE3ZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Mkd0ay9ET01Ob2RlRmlsdGVyVGVzdC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyR3RrL0RPTU5vZGVGaWx0ZXJUZXN0LmNwcApAQCAtNDMsNyArNDMsNyBA
QCBzdGF0aWMgdm9pZCB3ZWJraXROb2RlRmlsdGVyRE9NTm9kZUZpbHRlcklmYWNlSW5pdChXZWJL
aXRET01Ob2RlRmlsdGVySWZhY2UqIGlmYQogICAgIGlmYWNlLT5hY2NlcHRfbm9kZSA9IHdlYmtp
dE5vZGVGaWx0ZXJBY2NlcHROb2RlOwogfQogCi1HX0RFRklORV9UWVBFX1dJVEhfQ09ERShXZWJL
aXROb2RlRmlsdGVyLCB3ZWJraXRfbm9kZV9maWx0ZXIsIEdfVFlQRV9PQkpFQ1QsIEdfSU1QTEVN
RU5UX0lOVEVSRkFDRShXRUJLSVRfVFlQRV9ET01fTk9ERV9GSUxURVIsIHdlYmtpdE5vZGVGaWx0
ZXJET01Ob2RlRmlsdGVySWZhY2VJbml0KSkKK0dfREVGSU5FX1RZUEVfV0lUSF9DT0RFKFdlYktp
dE5vZGVGaWx0ZXIsIHdlYmtpdF9ub2RlX2ZpbHRlciwgR19UWVBFX09CSkVDVCwgR19JTVBMRU1F
TlRfSU5URVJGQUNFKFdFQktJVF9ET01fVFlQRV9OT0RFX0ZJTFRFUiwgd2Via2l0Tm9kZUZpbHRl
ckRPTU5vZGVGaWx0ZXJJZmFjZUluaXQpKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfbm9kZV9maWx0
ZXJfaW5pdChXZWJLaXROb2RlRmlsdGVyKikKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay93ZWJr
aXRkb20ucHkgYi9Ub29scy9ndGsvd2Via2l0ZG9tLnB5CmluZGV4IGUwNTYxYzI3NzM5MjYzMDE2
MDZiZTZkYmFmMmI3NmJhNmMzZTRjM2QuLmI0NDdlODk2YjUzMWQzMDExMjc1NDYwYjkyOWRmYTU5
MzhkYmM5NTIgMTAwNzU1Ci0tLSBhL1Rvb2xzL2d0ay93ZWJraXRkb20ucHkKKysrIGIvVG9vbHMv
Z3RrL3dlYmtpdGRvbS5weQpAQCAtMTA1LDYgKzEwNSwxMiBAQCBjbGFzcyBXZWJLaXRET01Eb2NH
ZW5lcmF0b3JTZWN0aW9ucyhXZWJLaXRET01Eb2NHZW5lcmF0b3IpOgogICAgICAgICByZXR2YWwg
PSByZXR2YWwucmVwbGFjZSgnV2ViX0tpdCcsICdXZWJLaXQnKQogICAgICAgICByZXR2YWwgPSBy
ZXR2YWwucmVwbGFjZSgnWF9QYXRoJywgJ1hQYXRoJykKICAgICAgICAgcmV0dmFsID0gcmV0dmFs
LnJlcGxhY2UoJ0hUTUxJX0ZyYW1lJywgJ0hUTUxfSUZyYW1lJykKKyAgICAgICAgcmV0dmFsID0g
cmV0dmFsLnJlcGxhY2UoJ0hUTUxCUicsICdIVE1MX0JSJykKKyAgICAgICAgcmV0dmFsID0gcmV0
dmFsLnJlcGxhY2UoJ0hUTUxIUicsICdIVE1MX0hSJykKKyAgICAgICAgcmV0dmFsID0gcmV0dmFs
LnJlcGxhY2UoJ0hUTUxMSScsICdIVE1MX0xJJykKKyAgICAgICAgcmV0dmFsID0gcmV0dmFsLnJl
cGxhY2UoJ0hUTUxEJywgJ0hUTUxfRCcpCisgICAgICAgIHJldHZhbCA9IHJldHZhbC5yZXBsYWNl
KCdIVE1MTycsICdIVE1MX08nKQorICAgICAgICByZXR2YWwgPSByZXR2YWwucmVwbGFjZSgnSFRN
TFUnLCAnSFRNTF9VJykKIAogICAgICAgICByZXR1cm4gcmV0dmFsCiAKQEAgLTEzOSwyMCArMTQ1
LDE0IEBAIGNsYXNzIFdlYktpdERPTURvY0dlbmVyYXRvclNlY3Rpb25zKFdlYktpdERPTURvY0dl
bmVyYXRvcik6CiAgICAgICAgICAgICBzZWxmLndyaXRlKCdcbjxTVUJTRUNUSU9OIFN0YW5kYXJk
PlxuJykKICAgICAgICAgICAgIHNlbGYud3JpdGUoJyVzQ2xhc3NcbicgJSBjbGFzc19uYW1lKQog
ICAgICAgICAgICAgZG9tX2NsYXNzID0gc2VsZi5fZG9tX2NsYXNzX2RlY2FtZWxpemUoY2xhc3Nf
bmFtZSkudXBwZXIoKQotICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX1RZUEVfRE9NXyVz
XG4nICUgZG9tX2NsYXNzKQorICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX0RPTV9UWVBF
XyVzXG4nICUgZG9tX2NsYXNzKQogICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX0RPTV8l
c1xuJyAlIGRvbV9jbGFzcykKLSAgICAgICAgICAgIGlmIGlzX29iamVjdDoKLSAgICAgICAgICAg
ICAgICBzZWxmLndyaXRlKCdXRUJLSVRfSVNfRE9NXyVzXG4nICUgZG9tX2NsYXNzKQotICAgICAg
ICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLndyaXRlKCdXRUJLSVRfRE9NX0lTXyVz
XG4nICUgZG9tX2NsYXNzKQorICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX0RPTV9JU18l
c1xuJyAlIGRvbV9jbGFzcykKICAgICAgICAgICAgIHNlbGYud3JpdGUoJ1dFQktJVF9ET01fJXNf
Q0xBU1NcbicgJSBkb21fY2xhc3MpCiAgICAgICAgICAgICBpZiBpc19pbnRlcmZhY2U6CiAgICAg
ICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX0RPTV8lc19HRVRfSUZBQ0VcbicgJSBkb21f
Y2xhc3MpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGlmIGlzX29iamVjdDoK
LSAgICAgICAgICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX0lTX0RPTV8lc19DTEFTU1xu
JyAlIGRvbV9jbGFzcykKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAg
ICBzZWxmLndyaXRlKCdXRUJLSVRfRE9NX0lTXyVzX0NMQVNTXG4nICUgZG9tX2NsYXNzKQorICAg
ICAgICAgICAgICAgIHNlbGYud3JpdGUoJ1dFQktJVF9ET01fSVNfJXNfQ0xBU1NcbicgJSBkb21f
Y2xhc3MpCiAgICAgICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX0RPTV8lc19HRVRfQ0xB
U1NcbicgJSBkb21fY2xhc3MpCiAgICAgICAgICAgICBzZWxmLndyaXRlKCdcbjxTVUJTRUNUSU9O
IFByaXZhdGU+XG4nKQogICAgICAgICAgICAgaWYgaXNfb2JqZWN0Ogo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233602</attachid>
            <date>2014-06-23 06:42:42 -0700</date>
            <delta_ts>2014-06-24 23:55:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121543-20140623154219.patch</filename>
            <type>text/plain</type>
            <size>110510</size>
            <attacher name="Tomas Popela">tpopela</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcwMjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWUwMzg5NDllYmUxYzY1
MGZhMDdlNTU0N2E2YTgzMmRiYmM5ODgwZS4uNTIyZDg4NWU2MTgzNGE1YTlkMWViMGNmMzA1NmY4
ZmNlMzE4YzE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkwIEBACisyMDE0LTA2LTIzICBUb21h
cyBQb3BlbGEgIDx0cG9wZWxhQHJlZGhhdC5jb20+CisKKyAgICAgICAgW0dUS10gU29tZSBvZiBE
T00gYmluZGluZ3MgbWFjcm9zIGFyZSBtaXNuYW1lZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxNTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQXMgd2UgYXJlIHVzaW5nIFdlYktpdERPTSBhcyBhIG5h
bWVzcGFjZSB3ZSBzaG91bGQgdW5pZnkgYWxsIHR5cGUgbWFjcm9zCisgICAgICAgIHRvIGhhdmUg
V0VCS0lUX0RPTV9UWVBFIHByZWZpeCBpbnN0ZWFkIG9mIFdFQktJVF9UWVBFX0RPTS4gQWxzbyBh
ZGQKKyAgICAgICAgbW9yZSBleGNlcHRpb25zIHRvIGRlY2FtZWxpemUgZnVuY3Rpb24gaW4gR09i
amVjdCBiaW5kaW5ncyBnZW5lcmF0b3IKKyAgICAgICAgdG8gZml4IHRoZSBuYW1lcyBvZiBiaW5k
aW5ncyBmb3IgQlIsIEhSLCBVTCwgT0wsIERMIGFuZCBMSSBlbGVtZW50cy4KKworICAgICAgICAq
IGJpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R09iamVjdEV2ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5k
aW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0Lmg6CisgICAgICAgICogYmluZGluZ3Mv
Z29iamVjdC9XZWJLaXRET01Ob2RlRmlsdGVyLmg6CisgICAgICAgICogYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRET01PYmplY3QuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L3dlYmtpdGRv
bS5zeW1ib2xzOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmpl
Y3QucG06CisgICAgICAgIChkZWNhbWVsaXplKToKKyAgICAgICAgKEdldFBhcmVudEdPYmpUeXBl
KToKKyAgICAgICAgKEdlbmVyYXRlUHJvcGVydHkpOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIp
OgorICAgICAgICAoR2VuZXJhdGVDRmlsZSk6CisgICAgICAgIChHZW5lcmF0ZUV2ZW50VGFyZ2V0
SWZhY2UpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TUZsb2F0NjRBcnJheS5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBGbG9hdDY0QXJyYXkpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTUZsb2F0NjRB
cnJheS5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RBY3RpdmVET01PYmplY3QuY3BwOgorICAgICAgICAoV2ViS2l0Ojp3cmFwVGVzdEFjdGl2
ZURPTU9iamVjdCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdC5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHA6CisgICAgICAgIChXZWJLaXQ6
OndyYXBUZXN0Q2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OndyYXBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlci5oOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVu
dENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6d3JhcFRlc3RFdmVudENvbnN0cnVj
dG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0RXZlbnRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9H
T2JqZWN0L1dlYktpdERPTVRlc3RFdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ondy
YXBUZXN0RXZlbnRUYXJnZXQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTVRlc3RFdmVudFRhcmdldC5oOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFeGNlcHRpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0Ojp3cmFwVGVzdEV4Y2VwdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbi5oOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6d3JhcFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0R2VuZXJhdGVJc1Jl
YWNoYWJsZS5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktp
dERPTVRlc3RJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViS2l0Ojp3cmFwVGVzdEludGVyZmFj
ZSk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX2NsYXNzX2luaXQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RJbnRlcmZh
Y2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBUZXN0TmFtZWRDb25zdHJ1Y3Rvcik6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5hbWVk
Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9X
ZWJLaXRET01UZXN0Tm9kZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBUZXN0Tm9kZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5vZGUu
aDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
Tm9uZGV0ZXJtaW5pc3RpYy5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBUZXN0Tm9uZGV0ZXJt
aW5pc3RpYyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdE5vbmRldGVybWluaXN0aWMuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYktpdDo6d3JhcFRl
c3RPYmopOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9jbGFzc19pbml0KToKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmg6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnMuY3BwOgorICAgICAgICAoV2ViS2l0Ojp3cmFwVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnMpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0
L1dlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmg6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3Nj
cmlwdF92YWx1ZV9pbnRlcmZhY2VfY2xhc3NfaW5pdCk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZS5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RUeXBlZGVmcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBUZXN0VHlwZWRlZnMpOgor
ICAgICAgICAod2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX2NsYXNzX2luaXQpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmcy5oOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTWF0dHJpYnV0
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OndyYXBhdHRyaWJ1dGUpOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTWF0dHJpYnV0ZS5oOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTXJlYWRvbmx5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6d3JhcHJlYWRvbmx5KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01yZWFkb25seS5oOgorCiAyMDE0LTA2LTIyICBaYWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBvZmZzZXQgZnJvbSBhbmNl
c3RvciBjb21wdXRhdGlvbiBleHBsaWNpdCBieSBtb3ZpbmcgaXQgdG8gdGhlIGNhbGxlcnMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmplY3RFdmVudExp
c3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50
TGlzdGVuZXIuY3BwCmluZGV4IDNhMzljN2U5YTU3ZWJjNWY4NDZiZjhiOTBkMGQ5ZTM3OTY1NWZj
YzIuLjc2Y2YyNzkyZjNkZTk5OGIxN2RlYzdhNzI4YjdhOTE0NTk3N2E2NzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVu
ZXIuY3BwCkBAIC02NCwxMSArNjQsMTEgQEAgdm9pZCBHT2JqZWN0RXZlbnRMaXN0ZW5lcjo6Z29i
amVjdERlc3Ryb3llZCgpCiB2b2lkIEdPYmplY3RFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXZlbnQqIGV2ZW50KQogewogICAgIEdWYWx1ZSBwYXJh
bWV0ZXJzWzJdID0geyBHX1ZBTFVFX0lOSVQsIEdfVkFMVUVfSU5JVCB9OwotICAgIGdfdmFsdWVf
aW5pdCgmcGFyYW1ldGVyc1swXSwgV0VCS0lUX1RZUEVfRE9NX0VWRU5UX1RBUkdFVCk7CisgICAg
Z192YWx1ZV9pbml0KCZwYXJhbWV0ZXJzWzBdLCBXRUJLSVRfRE9NX1RZUEVfRVZFTlRfVEFSR0VU
KTsKICAgICBnX3ZhbHVlX3NldF9vYmplY3QoJnBhcmFtZXRlcnNbMF0sIG1fdGFyZ2V0KTsKIAog
ICAgIEdSZWZQdHI8V2ViS2l0RE9NRXZlbnQ+IGRvbUV2ZW50ID0gYWRvcHRHUmVmKFdlYktpdDo6
a2l0KGV2ZW50KSk7Ci0gICAgZ192YWx1ZV9pbml0KCZwYXJhbWV0ZXJzWzFdLCBXRUJLSVRfVFlQ
RV9ET01fRVZFTlQpOworICAgIGdfdmFsdWVfaW5pdCgmcGFyYW1ldGVyc1sxXSwgV0VCS0lUX0RP
TV9UWVBFX0VWRU5UKTsKICAgICBnX3ZhbHVlX3NldF9vYmplY3QoJnBhcmFtZXRlcnNbMV0sIGRv
bUV2ZW50LmdldCgpKTsKIAogICAgIGdfY2xvc3VyZV9pbnZva2UobV9oYW5kbGVyLmdldCgpLCAw
LCAyLCBwYXJhbWV0ZXJzLCBOVUxMKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuaAppbmRleCAzZDNkNjYwOWI4NTYyMzZm
MmJiZmU5YTg2NjBkNDliY2EyZmM4NDM1Li4zNDIwZjE1NzlmZjI1OTk5ODNjZmVmNTU1OTk3NDNm
YTRjNzBkYWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dl
YktpdERPTUV2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRET01FdmVudFRhcmdldC5oCkBAIC0yNCwxMSArMjQsMTEgQEAKIAogR19CRUdJTl9E
RUNMUwogCi0jZGVmaW5lIFdFQktJVF9UWVBFX0RPTV9FVkVOVF9UQVJHRVQgICAgICAgICAgICAo
d2Via2l0X2RvbV9ldmVudF90YXJnZXRfZ2V0X3R5cGUgKCkpCi0jZGVmaW5lIFdFQktJVF9ET01f
RVZFTlRfVEFSR0VUKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1Qg
KChvYmopLCBXRUJLSVRfVFlQRV9ET01fRVZFTlRfVEFSR0VULCBXZWJLaXRET01FdmVudFRhcmdl
dCkpCi0jZGVmaW5lIFdFQktJVF9ET01fRVZFTlRfVEFSR0VUX0NMQVNTKG9iaikgICAgICAoR19U
WVBFX0NIRUNLX0NMQVNTX0NBU1QgKChvYmopLCBXRUJLSVRfVFlQRV9ET01fRVZFTlRfVEFSR0VU
LCBXZWJLaXRET01FdmVudFRhcmdldElmYWNlKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19FVkVO
VF9UQVJHRVQob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSAoKG9iaiks
IFdFQktJVF9UWVBFX0RPTV9FVkVOVF9UQVJHRVQpKQotI2RlZmluZSBXRUJLSVRfRE9NX0VWRU5U
X1RBUkdFVF9HRVRfSUZBQ0Uob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfSU5URVJGQUNFICgo
b2JqKSwgV0VCS0lUX1RZUEVfRE9NX0VWRU5UX1RBUkdFVCwgV2ViS2l0RE9NRXZlbnRUYXJnZXRJ
ZmFjZSkpCisjZGVmaW5lIFdFQktJVF9ET01fVFlQRV9FVkVOVF9UQVJHRVQgICAgICAgICAgICAo
d2Via2l0X2RvbV9ldmVudF90YXJnZXRfZ2V0X3R5cGUgKCkpCisjZGVmaW5lIFdFQktJVF9ET01f
RVZFTlRfVEFSR0VUKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1Qg
KChvYmopLCBXRUJLSVRfRE9NX1RZUEVfRVZFTlRfVEFSR0VULCBXZWJLaXRET01FdmVudFRhcmdl
dCkpCisjZGVmaW5lIFdFQktJVF9ET01fRVZFTlRfVEFSR0VUX0NMQVNTKG9iaikgICAgICAoR19U
WVBFX0NIRUNLX0NMQVNTX0NBU1QgKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfRVZFTlRfVEFSR0VU
LCBXZWJLaXRET01FdmVudFRhcmdldElmYWNlKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19FVkVO
VF9UQVJHRVQob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSAoKG9iaiks
IFdFQktJVF9ET01fVFlQRV9FVkVOVF9UQVJHRVQpKQorI2RlZmluZSBXRUJLSVRfRE9NX0VWRU5U
X1RBUkdFVF9HRVRfSUZBQ0Uob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfSU5URVJGQUNFICgo
b2JqKSwgV0VCS0lUX0RPTV9UWVBFX0VWRU5UX1RBUkdFVCwgV2ViS2l0RE9NRXZlbnRUYXJnZXRJ
ZmFjZSkpCiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRET01FdmVudFRhcmdldElmYWNlIFdlYktp
dERPTUV2ZW50VGFyZ2V0SWZhY2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvV2ViS2l0RE9NTm9kZUZpbHRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9XZWJLaXRET01Ob2RlRmlsdGVyLmgKaW5kZXggOGE5OGE2MTRhYjczNTg1OGFj
YjFhMmI0NzFmYjNmMGI3NWE2YjdjZi4uNWQxZDNmZDFiZjQwNjE0MmU0ZDIzYmExNzJiZDI2Yzhl
ODdjYjMzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01Ob2RlRmlsdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9X
ZWJLaXRET01Ob2RlRmlsdGVyLmgKQEAgLTI0LDExICsyNCwxMSBAQAogCiBHX0JFR0lOX0RFQ0xT
CiAKLSNkZWZpbmUgV0VCS0lUX1RZUEVfRE9NX05PREVfRklMVEVSICAgICAgICAgICAgKHdlYmtp
dF9kb21fbm9kZV9maWx0ZXJfZ2V0X3R5cGUgKCkpCi0jZGVmaW5lIFdFQktJVF9ET01fTk9ERV9G
SUxURVIob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCAoKG9iaiks
IFdFQktJVF9UWVBFX0RPTV9OT0RFX0ZJTFRFUiwgV2ViS2l0RE9NTm9kZUZpbHRlcikpCi0jZGVm
aW5lIFdFQktJVF9ET01fTk9ERV9GSUxURVJfQ0xBU1Mob2JqKSAgICAgIChHX1RZUEVfQ0hFQ0tf
Q0xBU1NfQ0FTVCAoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9OT0RFX0ZJTFRFUiwgV2ViS2l0RE9N
Tm9kZUZpbHRlcklmYWNlKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19OT0RFX0ZJTFRFUihvYmop
ICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFICgob2JqKSwgV0VCS0lUX1RZUEVf
RE9NX05PREVfRklMVEVSKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9OT0RFX0ZJTFRFUl9HRVRfSUZB
Q0Uob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfSU5URVJGQUNFICgob2JqKSwgV0VCS0lUX1RZ
UEVfRE9NX05PREVfRklMVEVSLCBXZWJLaXRET01Ob2RlRmlsdGVySWZhY2UpKQorI2RlZmluZSBX
RUJLSVRfRE9NX1RZUEVfTk9ERV9GSUxURVIgICAgICAgICAgICAod2Via2l0X2RvbV9ub2RlX2Zp
bHRlcl9nZXRfdHlwZSAoKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9OT0RFX0ZJTFRFUihvYmopICAg
ICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUICgob2JqKSwgV0VCS0lUX0RPTV9U
WVBFX05PREVfRklMVEVSLCBXZWJLaXRET01Ob2RlRmlsdGVyKSkKKyNkZWZpbmUgV0VCS0lUX0RP
TV9OT0RFX0ZJTFRFUl9DTEFTUyhvYmopICAgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUICgo
b2JqKSwgV0VCS0lUX0RPTV9UWVBFX05PREVfRklMVEVSLCBXZWJLaXRET01Ob2RlRmlsdGVySWZh
Y2UpKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX05PREVfRklMVEVSKG9iaikgICAgICAgICAoR19U
WVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUgKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfTk9ERV9GSUxU
RVIpKQorI2RlZmluZSBXRUJLSVRfRE9NX05PREVfRklMVEVSX0dFVF9JRkFDRShvYmopICAoR19U
WVBFX0lOU1RBTkNFX0dFVF9JTlRFUkZBQ0UgKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfTk9ERV9G
SUxURVIsIFdlYktpdERPTU5vZGVGaWx0ZXJJZmFjZSkpCiAKIC8qKgogICogV0VCS0lUX0RPTV9O
T0RFX0ZJTFRFUl9BQ0NFUFQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9n
b2JqZWN0L1dlYktpdERPTU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRET01PYmplY3QuaAppbmRleCAzNTU2Yjc5ZTQyMjE2YTliNDc5OGRjYmQ2MDIyYWZj
OGVmZDU1ZGNjLi45YjdiODY3YjQxNjU3ZTVlZTMxNzcxNDZhNGZiMjczNzJmZmIzNjk1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NT2JqZWN0LmgK
QEAgLTMwLDEyICszMCwxMiBAQAogCiBHX0JFR0lOX0RFQ0xTCiAKLSNkZWZpbmUgV0VCS0lUX1RZ
UEVfRE9NX09CSkVDVCAgICAgICAgICAgICh3ZWJraXRfZG9tX29iamVjdF9nZXRfdHlwZSgpKQot
I2RlZmluZSBXRUJLSVRfRE9NX09CSkVDVChvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19J
TlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9ET01fT0JKRUNULCBXZWJLaXRET01PYmpl
Y3QpKQotI2RlZmluZSBXRUJLSVRfRE9NX09CSkVDVF9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9D
SEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fT0JKRUNULCBXZWJLaXRE
T01PYmplY3RDbGFzcykpCi0jZGVmaW5lIFdFQktJVF9JU19ET01fT0JKRUNUKG9iaikgICAgICAg
ICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9PQkpF
Q1QpKQotI2RlZmluZSBXRUJLSVRfSVNfRE9NX09CSkVDVF9DTEFTUyhrbGFzcykgKEdfVFlQRV9D
SEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fT0JKRUNUKSkKLSNkZWZp
bmUgV0VCS0lUX0RPTV9PQkpFQ1RfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VU
X0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX09CSkVDVCwgV2ViS2l0RE9NT2JqZWN0Q2xh
c3MpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RZUEVfT0JKRUNUICAgICAgICAgICAgKHdlYmtpdF9k
b21fb2JqZWN0X2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9ET01fT0JKRUNUKG9iaikgICAg
ICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9ET01fVFlQ
RV9PQkpFQ1QsIFdlYktpdERPTU9iamVjdCkpCisjZGVmaW5lIFdFQktJVF9ET01fT0JKRUNUX0NM
QVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9E
T01fVFlQRV9PQkpFQ1QsIFdlYktpdERPTU9iamVjdENsYXNzKSkKKyNkZWZpbmUgV0VCS0lUX0RP
TV9JU19PQkpFQ1Qob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2Jq
KSwgV0VCS0lUX0RPTV9UWVBFX09CSkVDVCkpCisjZGVmaW5lIFdFQktJVF9ET01fSVNfT0JKRUNU
X0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9E
T01fVFlQRV9PQkpFQ1QpKQorI2RlZmluZSBXRUJLSVRfRE9NX09CSkVDVF9HRVRfQ0xBU1Mob2Jq
KSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfRE9NX1RZUEVfT0JK
RUNULCBXZWJLaXRET01PYmplY3RDbGFzcykpCiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRET01P
YmplY3RQcml2YXRlIFdlYktpdERPTU9iamVjdFByaXZhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qvd2Via2l0ZG9tLnN5bWJvbHMgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L3dlYmtpdGRvbS5zeW1ib2xzCmluZGV4IGE3OThmNWZjZTM0
OTQ2MjlkODU2M2M4ZWY3MDY3MjMxZjYyYjA5ZWUuLjAyMGE0NjVlNjMyYTBjMjg5YmJjNGFiZDA4
NzBhZTk0MjFhMzllODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmpl
Y3Qvd2Via2l0ZG9tLnN5bWJvbHMKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC93ZWJraXRkb20uc3ltYm9scwpAQCAtMzAyLDkgKzMwMiw5IEBAIGdjaGFyKiB3ZWJraXRfZG9t
X2h0bWxfYmFzZV9lbGVtZW50X2dldF9ocmVmKFdlYktpdERPTUhUTUxCYXNlRWxlbWVudCopCiBn
Y2hhciogd2Via2l0X2RvbV9odG1sX2Jhc2VfZWxlbWVudF9nZXRfdGFyZ2V0KFdlYktpdERPTUhU
TUxCYXNlRWxlbWVudCopCiB2b2lkIHdlYmtpdF9kb21faHRtbF9iYXNlX2VsZW1lbnRfc2V0X2hy
ZWYoV2ViS2l0RE9NSFRNTEJhc2VFbGVtZW50KiwgY29uc3QgZ2NoYXIqKQogdm9pZCB3ZWJraXRf
ZG9tX2h0bWxfYmFzZV9lbGVtZW50X3NldF90YXJnZXQoV2ViS2l0RE9NSFRNTEJhc2VFbGVtZW50
KiwgY29uc3QgZ2NoYXIqKQotR1R5cGUgd2Via2l0X2RvbV9odG1sYnJfZWxlbWVudF9nZXRfdHlw
ZSh2b2lkKQotZ2NoYXIqIHdlYmtpdF9kb21faHRtbGJyX2VsZW1lbnRfZ2V0X2NsZWFyKFdlYktp
dERPTUhUTUxCUkVsZW1lbnQqKQotdm9pZCB3ZWJraXRfZG9tX2h0bWxicl9lbGVtZW50X3NldF9j
bGVhcihXZWJLaXRET01IVE1MQlJFbGVtZW50KiwgY29uc3QgZ2NoYXIqKQorR1R5cGUgd2Via2l0
X2RvbV9odG1sX2JyX2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkKK2djaGFyKiB3ZWJraXRfZG9tX2h0
bWxfYnJfZWxlbWVudF9nZXRfY2xlYXIoV2ViS2l0RE9NSFRNTEJSRWxlbWVudCopCit2b2lkIHdl
YmtpdF9kb21faHRtbF9icl9lbGVtZW50X3NldF9jbGVhcihXZWJLaXRET01IVE1MQlJFbGVtZW50
KiwgY29uc3QgZ2NoYXIqKQogR1R5cGUgd2Via2l0X2RvbV9odG1sX2Jhc2VfZm9udF9lbGVtZW50
X2dldF90eXBlKHZvaWQpCiBnY2hhciogd2Via2l0X2RvbV9odG1sX2Jhc2VfZm9udF9lbGVtZW50
X2dldF9jb2xvcihXZWJLaXRET01IVE1MQmFzZUZvbnRFbGVtZW50KikKIGdjaGFyKiB3ZWJraXRf
ZG9tX2h0bWxfYmFzZV9mb250X2VsZW1lbnRfZ2V0X2ZhY2UoV2ViS2l0RE9NSFRNTEJhc2VGb250
RWxlbWVudCopCkBAIC0zNDUsOSArMzQ1LDkgQEAgR1R5cGUgd2Via2l0X2RvbV9odG1sX2NvbGxl
Y3Rpb25fZ2V0X3R5cGUodm9pZCkKIGd1bG9uZyB3ZWJraXRfZG9tX2h0bWxfY29sbGVjdGlvbl9n
ZXRfbGVuZ3RoKFdlYktpdERPTUhUTUxDb2xsZWN0aW9uKikKIFdlYktpdERPTU5vZGUqIHdlYmtp
dF9kb21faHRtbF9jb2xsZWN0aW9uX2l0ZW0oV2ViS2l0RE9NSFRNTENvbGxlY3Rpb24qLCBndWxv
bmcpCiBXZWJLaXRET01Ob2RlKiB3ZWJraXRfZG9tX2h0bWxfY29sbGVjdGlvbl9uYW1lZF9pdGVt
KFdlYktpdERPTUhUTUxDb2xsZWN0aW9uKiwgY29uc3QgZ2NoYXIqKQotR1R5cGUgd2Via2l0X2Rv
bV9odG1sZF9saXN0X2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkKLWdib29sZWFuIHdlYmtpdF9kb21f
aHRtbGRfbGlzdF9lbGVtZW50X2dldF9jb21wYWN0KFdlYktpdERPTUhUTUxETGlzdEVsZW1lbnQq
KQotdm9pZCB3ZWJraXRfZG9tX2h0bWxkX2xpc3RfZWxlbWVudF9zZXRfY29tcGFjdChXZWJLaXRE
T01IVE1MRExpc3RFbGVtZW50KiwgZ2Jvb2xlYW4pCitHVHlwZSB3ZWJraXRfZG9tX2h0bWxfZF9s
aXN0X2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkKK2dib29sZWFuIHdlYmtpdF9kb21faHRtbF9kX2xp
c3RfZWxlbWVudF9nZXRfY29tcGFjdChXZWJLaXRET01IVE1MRExpc3RFbGVtZW50KikKK3ZvaWQg
d2Via2l0X2RvbV9odG1sX2RfbGlzdF9lbGVtZW50X3NldF9jb21wYWN0KFdlYktpdERPTUhUTUxE
TGlzdEVsZW1lbnQqLCBnYm9vbGVhbikKIEdUeXBlIHdlYmtpdF9kb21faHRtbF9kaXJlY3Rvcnlf
ZWxlbWVudF9nZXRfdHlwZSh2b2lkKQogZ2Jvb2xlYW4gd2Via2l0X2RvbV9odG1sX2RpcmVjdG9y
eV9lbGVtZW50X2dldF9jb21wYWN0KFdlYktpdERPTUhUTUxEaXJlY3RvcnlFbGVtZW50KikKIHZv
aWQgd2Via2l0X2RvbV9odG1sX2RpcmVjdG9yeV9lbGVtZW50X3NldF9jb21wYWN0KFdlYktpdERP
TUhUTUxEaXJlY3RvcnlFbGVtZW50KiwgZ2Jvb2xlYW4pCkBAIC00NjgsMTUgKzQ2OCwxNSBAQCBn
Y2hhciogd2Via2l0X2RvbV9odG1sX2ZyYW1lX3NldF9lbGVtZW50X2dldF9jb2xzKFdlYktpdERP
TUhUTUxGcmFtZVNldEVsZW1lbnQqKQogZ2NoYXIqIHdlYmtpdF9kb21faHRtbF9mcmFtZV9zZXRf
ZWxlbWVudF9nZXRfcm93cyhXZWJLaXRET01IVE1MRnJhbWVTZXRFbGVtZW50KikKIHZvaWQgd2Vi
a2l0X2RvbV9odG1sX2ZyYW1lX3NldF9lbGVtZW50X3NldF9jb2xzKFdlYktpdERPTUhUTUxGcmFt
ZVNldEVsZW1lbnQqLCBjb25zdCBnY2hhciopCiB2b2lkIHdlYmtpdF9kb21faHRtbF9mcmFtZV9z
ZXRfZWxlbWVudF9zZXRfcm93cyhXZWJLaXRET01IVE1MRnJhbWVTZXRFbGVtZW50KiwgY29uc3Qg
Z2NoYXIqKQotR1R5cGUgd2Via2l0X2RvbV9odG1saHJfZWxlbWVudF9nZXRfdHlwZSh2b2lkKQot
Z2NoYXIqIHdlYmtpdF9kb21faHRtbGhyX2VsZW1lbnRfZ2V0X2FsaWduKFdlYktpdERPTUhUTUxI
UkVsZW1lbnQqKQotZ2Jvb2xlYW4gd2Via2l0X2RvbV9odG1saHJfZWxlbWVudF9nZXRfbm9fc2hh
ZGUoV2ViS2l0RE9NSFRNTEhSRWxlbWVudCopCi1nY2hhciogd2Via2l0X2RvbV9odG1saHJfZWxl
bWVudF9nZXRfc2l6ZShXZWJLaXRET01IVE1MSFJFbGVtZW50KikKLWdjaGFyKiB3ZWJraXRfZG9t
X2h0bWxocl9lbGVtZW50X2dldF93aWR0aChXZWJLaXRET01IVE1MSFJFbGVtZW50KikKLXZvaWQg
d2Via2l0X2RvbV9odG1saHJfZWxlbWVudF9zZXRfYWxpZ24oV2ViS2l0RE9NSFRNTEhSRWxlbWVu
dCosIGNvbnN0IGdjaGFyKikKLXZvaWQgd2Via2l0X2RvbV9odG1saHJfZWxlbWVudF9zZXRfbm9f
c2hhZGUoV2ViS2l0RE9NSFRNTEhSRWxlbWVudCosIGdib29sZWFuKQotdm9pZCB3ZWJraXRfZG9t
X2h0bWxocl9lbGVtZW50X3NldF9zaXplKFdlYktpdERPTUhUTUxIUkVsZW1lbnQqLCBjb25zdCBn
Y2hhciopCi12b2lkIHdlYmtpdF9kb21faHRtbGhyX2VsZW1lbnRfc2V0X3dpZHRoKFdlYktpdERP
TUhUTUxIUkVsZW1lbnQqLCBjb25zdCBnY2hhciopCitHVHlwZSB3ZWJraXRfZG9tX2h0bWxfaHJf
ZWxlbWVudF9nZXRfdHlwZSh2b2lkKQorZ2NoYXIqIHdlYmtpdF9kb21faHRtbF9ocl9lbGVtZW50
X2dldF9hbGlnbihXZWJLaXRET01IVE1MSFJFbGVtZW50KikKK2dib29sZWFuIHdlYmtpdF9kb21f
aHRtbF9ocl9lbGVtZW50X2dldF9ub19zaGFkZShXZWJLaXRET01IVE1MSFJFbGVtZW50KikKK2dj
aGFyKiB3ZWJraXRfZG9tX2h0bWxfaHJfZWxlbWVudF9nZXRfc2l6ZShXZWJLaXRET01IVE1MSFJF
bGVtZW50KikKK2djaGFyKiB3ZWJraXRfZG9tX2h0bWxfaHJfZWxlbWVudF9nZXRfd2lkdGgoV2Vi
S2l0RE9NSFRNTEhSRWxlbWVudCopCit2b2lkIHdlYmtpdF9kb21faHRtbF9ocl9lbGVtZW50X3Nl
dF9hbGlnbihXZWJLaXRET01IVE1MSFJFbGVtZW50KiwgY29uc3QgZ2NoYXIqKQordm9pZCB3ZWJr
aXRfZG9tX2h0bWxfaHJfZWxlbWVudF9zZXRfbm9fc2hhZGUoV2ViS2l0RE9NSFRNTEhSRWxlbWVu
dCosIGdib29sZWFuKQordm9pZCB3ZWJraXRfZG9tX2h0bWxfaHJfZWxlbWVudF9zZXRfc2l6ZShX
ZWJLaXRET01IVE1MSFJFbGVtZW50KiwgY29uc3QgZ2NoYXIqKQordm9pZCB3ZWJraXRfZG9tX2h0
bWxfaHJfZWxlbWVudF9zZXRfd2lkdGgoV2ViS2l0RE9NSFRNTEhSRWxlbWVudCosIGNvbnN0IGdj
aGFyKikKIEdUeXBlIHdlYmtpdF9kb21faHRtbF9oZWFkX2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkK
IGdjaGFyKiB3ZWJraXRfZG9tX2h0bWxfaGVhZF9lbGVtZW50X2dldF9wcm9maWxlKFdlYktpdERP
TUhUTUxIZWFkRWxlbWVudCopCiB2b2lkIHdlYmtpdF9kb21faHRtbF9oZWFkX2VsZW1lbnRfc2V0
X3Byb2ZpbGUoV2ViS2l0RE9NSFRNTEhlYWRFbGVtZW50KiwgY29uc3QgZ2NoYXIqKQpAQCAtNTg1
LDkgKzU4NSw5IEBAIHZvaWQgd2Via2l0X2RvbV9odG1sX2lucHV0X2VsZW1lbnRfc2V0X3VzZV9t
YXAoV2ViS2l0RE9NSFRNTElucHV0RWxlbWVudCosIGNvbnN0CiB2b2lkIHdlYmtpdF9kb21faHRt
bF9pbnB1dF9lbGVtZW50X3NldF92YWx1ZShXZWJLaXRET01IVE1MSW5wdXRFbGVtZW50KiwgY29u
c3QgZ2NoYXIqKQogdm9pZCB3ZWJraXRfZG9tX2h0bWxfaW5wdXRfZWxlbWVudF9zZXRfd2lkdGgo
V2ViS2l0RE9NSFRNTElucHV0RWxlbWVudCosIGd1bG9uZykKIGdib29sZWFuIHdlYmtpdF9kb21f
aHRtbF9pbnB1dF9lbGVtZW50X2lzX2VkaXRlZChXZWJLaXRET01IVE1MSW5wdXRFbGVtZW50KikK
LUdUeXBlIHdlYmtpdF9kb21faHRtbGxpX2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkKLWdsb25nIHdl
YmtpdF9kb21faHRtbGxpX2VsZW1lbnRfZ2V0X3ZhbHVlKFdlYktpdERPTUhUTUxMSUVsZW1lbnQq
KQotdm9pZCB3ZWJraXRfZG9tX2h0bWxsaV9lbGVtZW50X3NldF92YWx1ZShXZWJLaXRET01IVE1M
TElFbGVtZW50KiwgZ2xvbmcpCitHVHlwZSB3ZWJraXRfZG9tX2h0bWxfbGlfZWxlbWVudF9nZXRf
dHlwZSh2b2lkKQorZ2xvbmcgd2Via2l0X2RvbV9odG1sX2xpX2VsZW1lbnRfZ2V0X3ZhbHVlKFdl
YktpdERPTUhUTUxMSUVsZW1lbnQqKQordm9pZCB3ZWJraXRfZG9tX2h0bWxfbGlfZWxlbWVudF9z
ZXRfdmFsdWUoV2ViS2l0RE9NSFRNTExJRWxlbWVudCosIGdsb25nKQogR1R5cGUgd2Via2l0X2Rv
bV9odG1sX2xhYmVsX2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkKIFdlYktpdERPTUhUTUxGb3JtRWxl
bWVudCogd2Via2l0X2RvbV9odG1sX2xhYmVsX2VsZW1lbnRfZ2V0X2Zvcm0oV2ViS2l0RE9NSFRN
TExhYmVsRWxlbWVudCopCiBnY2hhciogd2Via2l0X2RvbV9odG1sX2xhYmVsX2VsZW1lbnRfZ2V0
X2h0bWxfZm9yKFdlYktpdERPTUhUTUxMYWJlbEVsZW1lbnQqKQpAQCAtNjM4LDExICs2MzgsMTEg
QEAgZ2NoYXIqIHdlYmtpdF9kb21faHRtbF9tb2RfZWxlbWVudF9nZXRfY2l0ZShXZWJLaXRET01I
VE1MTW9kRWxlbWVudCopCiBnY2hhciogd2Via2l0X2RvbV9odG1sX21vZF9lbGVtZW50X2dldF9k
YXRlX3RpbWUoV2ViS2l0RE9NSFRNTE1vZEVsZW1lbnQqKQogdm9pZCB3ZWJraXRfZG9tX2h0bWxf
bW9kX2VsZW1lbnRfc2V0X2NpdGUoV2ViS2l0RE9NSFRNTE1vZEVsZW1lbnQqLCBjb25zdCBnY2hh
ciopCiB2b2lkIHdlYmtpdF9kb21faHRtbF9tb2RfZWxlbWVudF9zZXRfZGF0ZV90aW1lKFdlYktp
dERPTUhUTUxNb2RFbGVtZW50KiwgY29uc3QgZ2NoYXIqKQotR1R5cGUgd2Via2l0X2RvbV9odG1s
b19saXN0X2VsZW1lbnRfZ2V0X3R5cGUodm9pZCkKLWdib29sZWFuIHdlYmtpdF9kb21faHRtbG9f
bGlzdF9lbGVtZW50X2dldF9jb21wYWN0KFdlYktpdERPTUhUTUxPTGlzdEVsZW1lbnQqKQotZ2xv
bmcgd2Via2l0X2RvbV9odG1sb19saXN0X2VsZW1lbnRfZ2V0X3N0YXJ0KFdlYktpdERPTUhUTUxP
TGlzdEVsZW1lbnQqKQotdm9pZCB3ZWJraXRfZG9tX2h0bWxvX2xpc3RfZWxlbWVudF9zZXRfY29t
cGFjdChXZWJLaXRET01IVE1MT0xpc3RFbGVtZW50KiwgZ2Jvb2xlYW4pCi12b2lkIHdlYmtpdF9k
b21faHRtbG9fbGlzdF9lbGVtZW50X3NldF9zdGFydChXZWJLaXRET01IVE1MT0xpc3RFbGVtZW50
KiwgZ2xvbmcpCitHVHlwZSB3ZWJraXRfZG9tX2h0bWxfb19saXN0X2VsZW1lbnRfZ2V0X3R5cGUo
dm9pZCkKK2dib29sZWFuIHdlYmtpdF9kb21faHRtbF9vX2xpc3RfZWxlbWVudF9nZXRfY29tcGFj
dChXZWJLaXRET01IVE1MT0xpc3RFbGVtZW50KikKK2dsb25nIHdlYmtpdF9kb21faHRtbF9vX2xp
c3RfZWxlbWVudF9nZXRfc3RhcnQoV2ViS2l0RE9NSFRNTE9MaXN0RWxlbWVudCopCit2b2lkIHdl
YmtpdF9kb21faHRtbF9vX2xpc3RfZWxlbWVudF9zZXRfY29tcGFjdChXZWJLaXRET01IVE1MT0xp
c3RFbGVtZW50KiwgZ2Jvb2xlYW4pCit2b2lkIHdlYmtpdF9kb21faHRtbF9vX2xpc3RfZWxlbWVu
dF9zZXRfc3RhcnQoV2ViS2l0RE9NSFRNTE9MaXN0RWxlbWVudCosIGdsb25nKQogR1R5cGUgd2Vi
a2l0X2RvbV9odG1sX29iamVjdF9lbGVtZW50X2dldF90eXBlKHZvaWQpCiBnY2hhciogd2Via2l0
X2RvbV9odG1sX29iamVjdF9lbGVtZW50X2dldF9hbGlnbihXZWJLaXRET01IVE1MT2JqZWN0RWxl
bWVudCopCiBnY2hhciogd2Via2l0X2RvbV9odG1sX29iamVjdF9lbGVtZW50X2dldF9hcmNoaXZl
KFdlYktpdERPTUhUTUxPYmplY3RFbGVtZW50KikKQEAgLTg5Niw5ICs4OTYsOSBAQCBnYm9vbGVh
biB3ZWJraXRfZG9tX2h0bWxfdGV4dF9hcmVhX2VsZW1lbnRfaXNfZWRpdGVkKFdlYktpdERPTUhU
TUxUZXh0QXJlYUVsZW1lbgogR1R5cGUgd2Via2l0X2RvbV9odG1sX3RpdGxlX2VsZW1lbnRfZ2V0
X3R5cGUodm9pZCkKIGdjaGFyKiB3ZWJraXRfZG9tX2h0bWxfdGl0bGVfZWxlbWVudF9nZXRfdGV4
dChXZWJLaXRET01IVE1MVGl0bGVFbGVtZW50KikKIHZvaWQgd2Via2l0X2RvbV9odG1sX3RpdGxl
X2VsZW1lbnRfc2V0X3RleHQoV2ViS2l0RE9NSFRNTFRpdGxlRWxlbWVudCosIGNvbnN0IGdjaGFy
KikKLUdUeXBlIHdlYmtpdF9kb21faHRtbHVfbGlzdF9lbGVtZW50X2dldF90eXBlKHZvaWQpCi1n
Ym9vbGVhbiB3ZWJraXRfZG9tX2h0bWx1X2xpc3RfZWxlbWVudF9nZXRfY29tcGFjdChXZWJLaXRE
T01IVE1MVUxpc3RFbGVtZW50KikKLXZvaWQgd2Via2l0X2RvbV9odG1sdV9saXN0X2VsZW1lbnRf
c2V0X2NvbXBhY3QoV2ViS2l0RE9NSFRNTFVMaXN0RWxlbWVudCosIGdib29sZWFuKQorR1R5cGUg
d2Via2l0X2RvbV9odG1sX3VfbGlzdF9lbGVtZW50X2dldF90eXBlKHZvaWQpCitnYm9vbGVhbiB3
ZWJraXRfZG9tX2h0bWxfdV9saXN0X2VsZW1lbnRfZ2V0X2NvbXBhY3QoV2ViS2l0RE9NSFRNTFVM
aXN0RWxlbWVudCopCit2b2lkIHdlYmtpdF9kb21faHRtbF91X2xpc3RfZWxlbWVudF9zZXRfY29t
cGFjdChXZWJLaXRET01IVE1MVUxpc3RFbGVtZW50KiwgZ2Jvb2xlYW4pCiBHVHlwZSB3ZWJraXRf
ZG9tX3N0eWxlX3NoZWV0X2xpc3RfZ2V0X3R5cGUodm9pZCkKIGd1bG9uZyB3ZWJraXRfZG9tX3N0
eWxlX3NoZWV0X2xpc3RfZ2V0X2xlbmd0aChXZWJLaXRET01TdHlsZVNoZWV0TGlzdCopCiBXZWJL
aXRET01TdHlsZVNoZWV0KiB3ZWJraXRfZG9tX3N0eWxlX3NoZWV0X2xpc3RfaXRlbShXZWJLaXRE
T01TdHlsZVNoZWV0TGlzdCosIGd1bG9uZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0gYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCmluZGV4IDFlMTI2MDUwYzc5
MDYxNmRhYjBiNDViZmQ2NWE0ZWUzMmJkYjhjZjQuLjNmZjIxMTk1NTlhOTg2OWZlMThhOTdmZGFi
ZTliMTE4NGIzYTEyMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQpAQCAtMTU4LDYgKzE1OCwxMiBAQCBzdWIg
ZGVjYW1lbGl6ZQogICAgICAgICAgICAgcy94X3BhdGgveHBhdGgvOwogICAgICAgICAgICAgcy93
ZWJfa2l0L3dlYmtpdC87CiAgICAgICAgICAgICBzL2h0bWxpX2ZyYW1lL2h0bWxfaWZyYW1lLzsK
KyAgICAgICAgICAgIHMvaHRtbGJyL2h0bWxfYnIvOworICAgICAgICAgICAgcy9odG1sbGkvaHRt
bF9saS87CisgICAgICAgICAgICBzL2h0bWxoci9odG1sX2hyLzsKKyAgICAgICAgICAgIHMvaHRt
bGQvaHRtbF9kLzsKKyAgICAgICAgICAgIHMvaHRtbG8vaHRtbF9vLzsKKyAgICAgICAgICAgIHMv
aHRtbHUvaHRtbF91LzsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gJHM7CiB9CkBAIC0xODAs
OCArMTg2LDggQEAgc3ViIEh1bWFuUmVhZGFibGVDb25kaXRpb25hbCB7CiBzdWIgR2V0UGFyZW50
R09ialR5cGUgewogICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKIAotICAgIHJldHVybiAiV0VC
S0lUX1RZUEVfRE9NX09CSkVDVCIgdW5sZXNzICRpbnRlcmZhY2UtPnBhcmVudDsKLSAgICByZXR1
cm4gIldFQktJVF9UWVBFX0RPTV8iIC4gdWMoZGVjYW1lbGl6ZSgoJGludGVyZmFjZS0+cGFyZW50
KSkpOworICAgIHJldHVybiAiV0VCS0lUX0RPTV9UWVBFX09CSkVDVCIgdW5sZXNzICRpbnRlcmZh
Y2UtPnBhcmVudDsKKyAgICByZXR1cm4gIldFQktJVF9ET01fVFlQRV8iIC4gdWMoZGVjYW1lbGl6
ZSgoJGludGVyZmFjZS0+cGFyZW50KSkpOwogfQogCiBzdWIgR2V0Q2xhc3NOYW1lIHsKQEAgLTU5
OCw3ICs2MDQsNyBAQCBzdWIgR2VuZXJhdGVQcm9wZXJ0eSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ1Y2hhciIgPT4gICBbICJHX01JTklOVDgiLCAiR19NQVhJTlQ4IiwgIjAi
IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaGFyIiA9PiAgICBbICIwIiwg
IkdfTUFYVUlOVDgiLCAiMCIgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0
cmluZyIgPT4gIFsgJyIiJywgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9i
amVjdCIgPT4gIFsgIldFQktJVF9UWVBFX0RPTV8ke3VjUHJvcEdUeXBlfSIgXSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJvYmplY3QiID0+ICBbICJXRUJLSVRfRE9NX1RZUEVf
JHt1Y1Byb3BHVHlwZX0iIF0pOwogCiAgICAgbXkgJGV4dHJhUGFyYW1ldGVycyA9IGpvaW4oIiwg
IiwgQHskcGFyYW1ldGVyU3BlY09wdGlvbnN7JGd0eXBlfX0pOwogICAgIG15ICRnbGliVHlwZU5h
bWUgPSBHZXRHbGliVHlwZU5hbWUoJHByb3BUeXBlKTsKQEAgLTg1MSwxMiArODU3LDEyIEBAIEVP
RgogICAgIG15ICRsb3dlckNhc2VJZmFjZU5hbWUgPSAid2Via2l0X2RvbV8kZGVjYW1lbGl6ZSI7
CiAKICAgICAkaW1wbENvbnRlbnQgPSA8PCAiRU9GIjsKLSNkZWZpbmUgV0VCS0lUX1RZUEVfRE9N
XyR7Y2xzQ2Fwc30gICAgICAgICAgICAoJHtsb3dlckNhc2VJZmFjZU5hbWV9X2dldF90eXBlKCkp
Ci0jZGVmaW5lIFdFQktJVF9ET01fJHtjbHNDYXBzfShvYmopICAgICAgICAgICAgKEdfVFlQRV9D
SEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9ET01fJHtjbHNDYXBzfSwgJHtj
bGFzc05hbWV9KSkKLSNkZWZpbmUgV0VCS0lUX0RPTV8ke2Nsc0NhcHN9X0NMQVNTKGtsYXNzKSAg
ICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV8ke2Ns
c0NhcHN9LCAke2NsYXNzTmFtZX1DbGFzcykKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU18ke2Nsc0Nh
cHN9KG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJ
VF9UWVBFX0RPTV8ke2Nsc0NhcHN9KSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU18ke2Nsc0NhcHN9
X0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9U
WVBFX0RPTV8ke2Nsc0NhcHN9KSkKLSNkZWZpbmUgV0VCS0lUX0RPTV8ke2Nsc0NhcHN9X0dFVF9D
TEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9UWVBF
X0RPTV8ke2Nsc0NhcHN9LCAke2NsYXNzTmFtZX1DbGFzcykpCisjZGVmaW5lIFdFQktJVF9ET01f
VFlQRV8ke2Nsc0NhcHN9ICAgICAgICAgICAgKCR7bG93ZXJDYXNlSWZhY2VOYW1lfV9nZXRfdHlw
ZSgpKQorI2RlZmluZSBXRUJLSVRfRE9NXyR7Y2xzQ2Fwc30ob2JqKSAgICAgICAgICAgIChHX1RZ
UEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX0RPTV9UWVBFXyR7Y2xzQ2Fwc30s
ICR7Y2xhc3NOYW1lfSkpCisjZGVmaW5lIFdFQktJVF9ET01fJHtjbHNDYXBzfV9DTEFTUyhrbGFz
cykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVf
JHtjbHNDYXBzfSwgJHtjbGFzc05hbWV9Q2xhc3MpCisjZGVmaW5lIFdFQktJVF9ET01fSVNfJHtj
bHNDYXBzfShvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBX
RUJLSVRfRE9NX1RZUEVfJHtjbHNDYXBzfSkpCisjZGVmaW5lIFdFQktJVF9ET01fSVNfJHtjbHND
YXBzfV9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJL
SVRfRE9NX1RZUEVfJHtjbHNDYXBzfSkpCisjZGVmaW5lIFdFQktJVF9ET01fJHtjbHNDYXBzfV9H
RVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRf
RE9NX1RZUEVfJHtjbHNDYXBzfSwgJHtjbGFzc05hbWV9Q2xhc3MpKQogCiBzdHJ1Y3QgXyR7Y2xh
c3NOYW1lfSB7CiAgICAgJHtwYXJlbnRDbGFzc05hbWV9IHBhcmVudF9pbnN0YW5jZTsKQEAgLTEz
NTksNyArMTM2NSw3IEBAIHN1YiBHZW5lcmF0ZUNGaWxlIHsKICAgICAjIGZvciB0aGUgV2ViQ29y
ZSB3cmFwcGVkIG9iamVjdCBhbmQgbWFrZSBzdXJlIHdlIG9ubHkgaW5jcmVtZW50IHRoZSByZWZl
cmVuY2UgY291bnRlciBvbmNlLgogICAgIGlmICgkcGFyZW50SW1wbENsYXNzTmFtZSBlcSAiT2Jq
ZWN0IikgewogICAgICAgICBteSAkY29uZGl0aW9uYWxTdHJpbmcgPSAkY29kZUdlbmVyYXRvci0+
R2VuZXJhdGVDb25kaXRpb25hbFN0cmluZygkaW50ZXJmYWNlKTsKLSAgICAgICAgcHVzaChAY1N0
cnVjdFByaXYsICIjZGVmaW5lIFdFQktJVF9ET01fJHtjbHNDYXBzfV9HRVRfUFJJVkFURShvYmop
IEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9UWVBFX0RPTV8ke2Nsc0Nh
cHN9LCAke2NsYXNzTmFtZX1Qcml2YXRlKVxuXG4iKTsKKyAgICAgICAgcHVzaChAY1N0cnVjdFBy
aXYsICIjZGVmaW5lIFdFQktJVF9ET01fJHtjbHNDYXBzfV9HRVRfUFJJVkFURShvYmopIEdfVFlQ
RV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9ET01fVFlQRV8ke2Nsc0NhcHN9LCAk
e2NsYXNzTmFtZX1Qcml2YXRlKVxuXG4iKTsKICAgICAgICAgcHVzaChAY1N0cnVjdFByaXYsICJ0
eXBlZGVmIHN0cnVjdCBfJHtjbGFzc05hbWV9UHJpdmF0ZSB7XG4iKTsKICAgICAgICAgcHVzaChA
Y1N0cnVjdFByaXYsICIjaWYgJHtjb25kaXRpb25hbFN0cmluZ31cbiIpIGlmICRjb25kaXRpb25h
bFN0cmluZzsKICAgICAgICAgcHVzaChAY1N0cnVjdFByaXYsICIgICAgUmVmUHRyPFdlYkNvcmU6
OiR7aW50ZXJmYWNlTmFtZX0+IGNvcmVPYmplY3Q7XG4iKTsKQEAgLTE0MTAsNyArMTQxNiw3IEBA
IFdlYkNvcmU6OiR7aW50ZXJmYWNlTmFtZX0qIGNvcmUoJHtjbGFzc05hbWV9KiByZXF1ZXN0KQog
JHtjbGFzc05hbWV9KiB3cmFwJHtpbnRlcmZhY2VOYW1lfShXZWJDb3JlOjoke2ludGVyZmFjZU5h
bWV9KiBjb3JlT2JqZWN0KQogewogICAgIEFTU0VSVChjb3JlT2JqZWN0KTsKLSAgICByZXR1cm4g
V0VCS0lUX0RPTV8ke2Nsc0NhcHN9KGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9ET01fJHtjbHND
YXBzfSwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJL
SVRfRE9NXyR7Y2xzQ2Fwc30oZ19vYmplY3RfbmV3KFdFQktJVF9ET01fVFlQRV8ke2Nsc0NhcHN9
LCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBudWxscHRyKSk7CiB9CiAKIEVPRgpAQCAtMTUw
OSw3ICsxNTE1LDcgQEAgc3ViIEdlbmVyYXRlRXZlbnRUYXJnZXRJZmFjZSB7CiAgICAgcHVzaChA
Y0JvZHlQcm9wZXJ0aWVzLCAiICAgIGlmYWNlLT5yZW1vdmVfZXZlbnRfbGlzdGVuZXIgPSB3ZWJr
aXRfZG9tXyR7ZGVjYW1lbGl6ZX1fcmVtb3ZlX2V2ZW50X2xpc3RlbmVyO1xufVxuXG4iKTsKIAog
ICAgICRkZWZpbmVUeXBlTWFjcm8gPSAiR19ERUZJTkVfVFlQRV9XSVRIX0NPREUiOwotICAgICRk
ZWZpbmVUeXBlSW50ZXJmYWNlSW1wbGVtZW50YXRpb24gPSAiLCBHX0lNUExFTUVOVF9JTlRFUkZB
Q0UoV0VCS0lUX1RZUEVfRE9NX0VWRU5UX1RBUkdFVCwgd2Via2l0X2RvbV9ldmVudF90YXJnZXRf
aW5pdCkpIjsKKyAgICAkZGVmaW5lVHlwZUludGVyZmFjZUltcGxlbWVudGF0aW9uID0gIiwgR19J
TVBMRU1FTlRfSU5URVJGQUNFKFdFQktJVF9ET01fVFlQRV9FVkVOVF9UQVJHRVQsIHdlYmtpdF9k
b21fZXZlbnRfdGFyZ2V0X2luaXQpKSI7CiB9CiAKIHN1YiBHZW5lcmF0ZSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01G
bG9hdDY0QXJyYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NRmxvYXQ2NEFycmF5LmNwcAppbmRleCBjMzFhNzM3YTM0ZGFlNjc5Yzkx
MzhhNjRhY2MyMGNhYmVjZjQ5MGI5Li41MzkyZDk1MTVhYTYzNzE1NzNkYmJhZGExMWMxMDdmMjNi
ODNjYjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01GbG9hdDY0QXJyYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTUZsb2F0NjRBcnJheS5jcHAKQEAg
LTQ5LDEyICs0OSwxMiBAQCBXZWJDb3JlOjpGbG9hdDY0QXJyYXkqIGNvcmUoV2ViS2l0RE9NRmxv
YXQ2NEFycmF5KiByZXF1ZXN0KQogV2ViS2l0RE9NRmxvYXQ2NEFycmF5KiB3cmFwRmxvYXQ2NEFy
cmF5KFdlYkNvcmU6OkZsb2F0NjRBcnJheSogY29yZU9iamVjdCkKIHsKICAgICBBU1NFUlQoY29y
ZU9iamVjdCk7Ci0gICAgcmV0dXJuIFdFQktJVF9ET01fRkxPQVQ2NEFSUkFZKGdfb2JqZWN0X25l
dyhXRUJLSVRfVFlQRV9ET01fRkxPQVQ2NEFSUkFZLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0
LCBOVUxMKSk7CisgICAgcmV0dXJuIFdFQktJVF9ET01fRkxPQVQ2NEFSUkFZKGdfb2JqZWN0X25l
dyhXRUJLSVRfRE9NX1RZUEVfRkxPQVQ2NEFSUkFZLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0
LCBOVUxMKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi1HX0RFRklORV9UWVBFKFdl
YktpdERPTUZsb2F0NjRBcnJheSwgd2Via2l0X2RvbV9mbG9hdDY0YXJyYXksIFdFQktJVF9UWVBF
X0RPTV9BUlJBWV9CVUZGRVJfVklFVykKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NRmxvYXQ2NEFy
cmF5LCB3ZWJraXRfZG9tX2Zsb2F0NjRhcnJheSwgV0VCS0lUX0RPTV9UWVBFX0FSUkFZX0JVRkZF
Ul9WSUVXKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX2Zsb2F0NjRhcnJheV9jbGFzc19pbml0
KFdlYktpdERPTUZsb2F0NjRBcnJheUNsYXNzKiByZXF1ZXN0Q2xhc3MpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01G
bG9hdDY0QXJyYXkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTUZsb2F0NjRBcnJheS5oCmluZGV4IDRkZGEyNTk0YTI0MWU2OGU5NGY1MDA0
MzVkZTEzYjA5OTBhNWQwNmQuLmQ3ZjBkMDdjOGFhYjE0YmIwMzM1NDBmNDA2NmQyYzVmNjYyNmMw
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTUZsb2F0NjRBcnJheS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTUZsb2F0NjRBcnJheS5oCkBAIC0zMSwxMiAr
MzEsMTIgQEAKIAogR19CRUdJTl9ERUNMUwogCi0jZGVmaW5lIFdFQktJVF9UWVBFX0RPTV9GTE9B
VDY0QVJSQVkgICAgICAgICAgICAod2Via2l0X2RvbV9mbG9hdDY0YXJyYXlfZ2V0X3R5cGUoKSkK
LSNkZWZpbmUgV0VCS0lUX0RPTV9GTE9BVDY0QVJSQVkob2JqKSAgICAgICAgICAgIChHX1RZUEVf
Q0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfRE9NX0ZMT0FUNjRBUlJBWSwg
V2ViS2l0RE9NRmxvYXQ2NEFycmF5KSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9GTE9BVDY0QVJSQVlf
Q0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lU
X1RZUEVfRE9NX0ZMT0FUNjRBUlJBWSwgV2ViS2l0RE9NRmxvYXQ2NEFycmF5Q2xhc3MpCi0jZGVm
aW5lIFdFQktJVF9ET01fSVNfRkxPQVQ2NEFSUkFZKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNL
X0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9GTE9BVDY0QVJSQVkpKQotI2Rl
ZmluZSBXRUJLSVRfRE9NX0lTX0ZMT0FUNjRBUlJBWV9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVD
S19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fRkxPQVQ2NEFSUkFZKSkKLSNk
ZWZpbmUgV0VCS0lUX0RPTV9GTE9BVDY0QVJSQVlfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5T
VEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX0ZMT0FUNjRBUlJBWSwgV2Vi
S2l0RE9NRmxvYXQ2NEFycmF5Q2xhc3MpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RZUEVfRkxPQVQ2
NEFSUkFZICAgICAgICAgICAgKHdlYmtpdF9kb21fZmxvYXQ2NGFycmF5X2dldF90eXBlKCkpCisj
ZGVmaW5lIFdFQktJVF9ET01fRkxPQVQ2NEFSUkFZKG9iaikgICAgICAgICAgICAoR19UWVBFX0NI
RUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9ET01fVFlQRV9GTE9BVDY0QVJSQVksIFdl
YktpdERPTUZsb2F0NjRBcnJheSkpCisjZGVmaW5lIFdFQktJVF9ET01fRkxPQVQ2NEFSUkFZX0NM
QVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9E
T01fVFlQRV9GTE9BVDY0QVJSQVksIFdlYktpdERPTUZsb2F0NjRBcnJheUNsYXNzKQorI2RlZmlu
ZSBXRUJLSVRfRE9NX0lTX0ZMT0FUNjRBUlJBWShvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19J
TlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfRkxPQVQ2NEFSUkFZKSkKKyNkZWZp
bmUgV0VCS0lUX0RPTV9JU19GTE9BVDY0QVJSQVlfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tf
Q0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX0ZMT0FUNjRBUlJBWSkpCisjZGVm
aW5lIFdFQktJVF9ET01fRkxPQVQ2NEFSUkFZX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RB
TkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQRV9GTE9BVDY0QVJSQVksIFdlYktp
dERPTUZsb2F0NjRBcnJheUNsYXNzKSkKIAogc3RydWN0IF9XZWJLaXRET01GbG9hdDY0QXJyYXkg
ewogICAgIFdlYktpdERPTUFycmF5QnVmZmVyVmlldyBwYXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4IDRk
ZDA3ZmRhZTZjMmZiZWViMTY3MzEwNTNhNTgwOWZjNmI2ZGMxZGQuLmU1OTE4OTY4Yzk2YjYwZTIx
NTZmNzI5NjJkMzJjZWIyNjkxM2E2ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RBY3RpdmVET01PYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktp
dERPTVRlc3RBY3RpdmVET01PYmplY3QuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAjaW5jbHVkZSA8
d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotI2RlZmluZSBXRUJLSVRf
RE9NX1RFU1RfQUNUSVZFX0RPTV9PQkpFQ1RfR0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFO
Q0VfR0VUX1BSSVZBVEUob2JqLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9BQ1RJVkVfRE9NX09CSkVD
VCwgV2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdFByaXZhdGUpCisjZGVmaW5lIFdFQktJVF9E
T01fVEVTVF9BQ1RJVkVfRE9NX09CSkVDVF9HRVRfUFJJVkFURShvYmopIEdfVFlQRV9JTlNUQU5D
RV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9ET01fVFlQRV9URVNUX0FDVElWRV9ET01fT0JKRUNU
LCBXZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0UHJpdmF0ZSkKIAogdHlwZWRlZiBzdHJ1Y3Qg
X1dlYktpdERPTVRlc3RBY3RpdmVET01PYmplY3RQcml2YXRlIHsKICAgICBSZWZQdHI8V2ViQ29y
ZTo6VGVzdEFjdGl2ZURPTU9iamVjdD4gY29yZU9iamVjdDsKQEAgLTYwLDEyICs2MCwxMiBAQCBX
ZWJDb3JlOjpUZXN0QWN0aXZlRE9NT2JqZWN0KiBjb3JlKFdlYktpdERPTVRlc3RBY3RpdmVET01P
YmplY3QqIHJlcXVlc3QpCiBXZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0KiB3cmFwVGVzdEFj
dGl2ZURPTU9iamVjdChXZWJDb3JlOjpUZXN0QWN0aXZlRE9NT2JqZWN0KiBjb3JlT2JqZWN0KQog
ewogICAgIEFTU0VSVChjb3JlT2JqZWN0KTsKLSAgICByZXR1cm4gV0VCS0lUX0RPTV9URVNUX0FD
VElWRV9ET01fT0JKRUNUKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9ET01fVEVTVF9BQ1RJVkVf
RE9NX09CSkVDVCwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVy
biBXRUJLSVRfRE9NX1RFU1RfQUNUSVZFX0RPTV9PQkpFQ1QoZ19vYmplY3RfbmV3KFdFQktJVF9E
T01fVFlQRV9URVNUX0FDVElWRV9ET01fT0JKRUNULCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0
LCBOVUxMKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi1HX0RFRklORV9UWVBFKFdl
YktpdERPTVRlc3RBY3RpdmVET01PYmplY3QsIHdlYmtpdF9kb21fdGVzdF9hY3RpdmVfZG9tX29i
amVjdCwgV0VCS0lUX1RZUEVfRE9NX09CSkVDVCkKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVz
dEFjdGl2ZURPTU9iamVjdCwgd2Via2l0X2RvbV90ZXN0X2FjdGl2ZV9kb21fb2JqZWN0LCBXRUJL
SVRfRE9NX1RZUEVfT0JKRUNUKQogCiBlbnVtIHsKICAgICBQUk9QXzAsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
QWN0aXZlRE9NT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0LmgKaW5kZXggYTJjMTI1MmI5NDRh
MWI1ZDBjMTE4Yzc0YWEyNGQzOTE5MjFiODNhMC4uMjA0NjdhNjZlM2JkNjU3NDVkZGMzMjdjZjEw
N2FkZjczMmJiMmM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RBY3Rp
dmVET01PYmplY3QuaApAQCAtMjksMTIgKzI5LDEyIEBACiAKIEdfQkVHSU5fREVDTFMKIAotI2Rl
ZmluZSBXRUJLSVRfVFlQRV9ET01fVEVTVF9BQ1RJVkVfRE9NX09CSkVDVCAgICAgICAgICAgICh3
ZWJraXRfZG9tX3Rlc3RfYWN0aXZlX2RvbV9vYmplY3RfZ2V0X3R5cGUoKSkKLSNkZWZpbmUgV0VC
S0lUX0RPTV9URVNUX0FDVElWRV9ET01fT0JKRUNUKG9iaikgICAgICAgICAgICAoR19UWVBFX0NI
RUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9URVNUX0FDVElWRV9ET01f
T0JKRUNULCBXZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0KSkKLSNkZWZpbmUgV0VCS0lUX0RP
TV9URVNUX0FDVElWRV9ET01fT0JKRUNUX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NM
QVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX0FDVElWRV9ET01fT0JKRUNU
LCBXZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0Q2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01f
SVNfVEVTVF9BQ1RJVkVfRE9NX09CSkVDVChvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNU
QU5DRV9UWVBFKChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9BQ1RJVkVfRE9NX09CSkVDVCkp
Ci0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9BQ1RJVkVfRE9NX09CSkVDVF9DTEFTUyhrbGFz
cykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fVEVT
VF9BQ1RJVkVfRE9NX09CSkVDVCkpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9BQ1RJVkVfRE9N
X09CSkVDVF9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiks
ICBXRUJLSVRfVFlQRV9ET01fVEVTVF9BQ1RJVkVfRE9NX09CSkVDVCwgV2ViS2l0RE9NVGVzdEFj
dGl2ZURPTU9iamVjdENsYXNzKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9UWVBFX1RFU1RfQUNUSVZF
X0RPTV9PQkpFQ1QgICAgICAgICAgICAod2Via2l0X2RvbV90ZXN0X2FjdGl2ZV9kb21fb2JqZWN0
X2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9BQ1RJVkVfRE9NX09CSkVDVChv
YmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRf
RE9NX1RZUEVfVEVTVF9BQ1RJVkVfRE9NX09CSkVDVCwgV2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9i
amVjdCkpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9BQ1RJVkVfRE9NX09CSkVDVF9DTEFTUyhr
bGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfRE9NX1RZ
UEVfVEVTVF9BQ1RJVkVfRE9NX09CSkVDVCwgV2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdENs
YXNzKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfQUNUSVZFX0RPTV9PQkpFQ1Qob2JqKSAg
ICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX0RPTV9UWVBF
X1RFU1RfQUNUSVZFX0RPTV9PQkpFQ1QpKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfQUNU
SVZFX0RPTV9PQkpFQ1RfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xh
c3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfQUNUSVZFX0RPTV9PQkpFQ1QpKQorI2RlZmluZSBX
RUJLSVRfRE9NX1RFU1RfQUNUSVZFX0RPTV9PQkpFQ1RfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVf
SU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfQUNUSVZFX0RP
TV9PQkpFQ1QsIFdlYktpdERPTVRlc3RBY3RpdmVET01PYmplY3RDbGFzcykpCiAKIHN0cnVjdCBf
V2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdCB7CiAgICAgV2ViS2l0RE9NT2JqZWN0IHBhcmVu
dF9pbnN0YW5jZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suY3BwCmlu
ZGV4IDYyZTgyZGJhMjY5ZGYxNzcyNTBkYzliZjQzNzFmNGE0YThkYmUyYjYuLjllNDlhMzUzMWM4
ZjIxNTEzYjBmYjQ2OWNjZTJhMTZiMGVhZDczMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdENhbGxiYWNrLmNwcApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgPHd0Zi9HZXRQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNU
X0NBTExCQUNLX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9i
aiwgV0VCS0lUX1RZUEVfRE9NX1RFU1RfQ0FMTEJBQ0ssIFdlYktpdERPTVRlc3RDYWxsYmFja1By
aXZhdGUpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9DQUxMQkFDS19HRVRfUFJJVkFURShvYmop
IEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9ET01fVFlQRV9URVNUX0NB
TExCQUNLLCBXZWJLaXRET01UZXN0Q2FsbGJhY2tQcml2YXRlKQogCiB0eXBlZGVmIHN0cnVjdCBf
V2ViS2l0RE9NVGVzdENhbGxiYWNrUHJpdmF0ZSB7CiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkK
QEAgLTY3LDE0ICs2NywxNCBAQCBXZWJDb3JlOjpUZXN0Q2FsbGJhY2sqIGNvcmUoV2ViS2l0RE9N
VGVzdENhbGxiYWNrKiByZXF1ZXN0KQogV2ViS2l0RE9NVGVzdENhbGxiYWNrKiB3cmFwVGVzdENh
bGxiYWNrKFdlYkNvcmU6OlRlc3RDYWxsYmFjayogY29yZU9iamVjdCkKIHsKICAgICBBU1NFUlQo
Y29yZU9iamVjdCk7Ci0gICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9DQUxMQkFDSyhnX29iamVj
dF9uZXcoV0VCS0lUX1RZUEVfRE9NX1RFU1RfQ0FMTEJBQ0ssICJjb3JlLW9iamVjdCIsIGNvcmVP
YmplY3QsIE5VTEwpKTsKKyAgICByZXR1cm4gV0VCS0lUX0RPTV9URVNUX0NBTExCQUNLKGdfb2Jq
ZWN0X25ldyhXRUJLSVRfRE9NX1RZUEVfVEVTVF9DQUxMQkFDSywgImNvcmUtb2JqZWN0IiwgY29y
ZU9iamVjdCwgTlVMTCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8v
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAKLUdfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdENhbGxi
YWNrLCB3ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2ssIFdFQktJVF9UWVBFX0RPTV9PQkpFQ1QpCitH
X0RFRklORV9UWVBFKFdlYktpdERPTVRlc3RDYWxsYmFjaywgd2Via2l0X2RvbV90ZXN0X2NhbGxi
YWNrLCBXRUJLSVRfRE9NX1RZUEVfT0JKRUNUKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rl
c3RfY2FsbGJhY2tfZmluYWxpemUoR09iamVjdCogb2JqZWN0KQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdENh
bGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9X
ZWJLaXRET01UZXN0Q2FsbGJhY2suaAppbmRleCA5NGYzMzcyNDBkMzdjYjI5ZGJlYjZjMDdlZTgx
MDUwNTViM2Q4YjQ1Li45ZjYwZjMwMGI1YjFlMGY0YTFmOGY4NGI4NWUzOWZjYzZlZjc4NmQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9X
ZWJLaXRET01UZXN0Q2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suaApAQCAtMjksMTIgKzI5LDEy
IEBACiAKIEdfQkVHSU5fREVDTFMKIAotI2RlZmluZSBXRUJLSVRfVFlQRV9ET01fVEVTVF9DQUxM
QkFDSyAgICAgICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfZ2V0X3R5cGUoKSkKLSNk
ZWZpbmUgV0VCS0lUX0RPTV9URVNUX0NBTExCQUNLKG9iaikgICAgICAgICAgICAoR19UWVBFX0NI
RUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9URVNUX0NBTExCQUNLLCBX
ZWJLaXRET01UZXN0Q2FsbGJhY2spKQotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfQ0FMTEJBQ0tf
Q0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lU
X1RZUEVfRE9NX1RFU1RfQ0FMTEJBQ0ssIFdlYktpdERPTVRlc3RDYWxsYmFja0NsYXNzKQotI2Rl
ZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfQ0FMTEJBQ0sob2JqKSAgICAgICAgIChHX1RZUEVfQ0hF
Q0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZUEVfRE9NX1RFU1RfQ0FMTEJBQ0spKQot
I2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfQ0FMTEJBQ0tfQ0xBU1Moa2xhc3MpIChHX1RZUEVf
Q0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfQ0FMTEJBQ0sp
KQotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfQ0FMTEJBQ0tfR0VUX0NMQVNTKG9iaikgIChHX1RZ
UEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfQ0FMTEJB
Q0ssIFdlYktpdERPTVRlc3RDYWxsYmFja0NsYXNzKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9UWVBF
X1RFU1RfQ0FMTEJBQ0sgICAgICAgICAgICAod2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2dldF90
eXBlKCkpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9DQUxMQkFDSyhvYmopICAgICAgICAgICAg
KEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9D
QUxMQkFDSywgV2ViS2l0RE9NVGVzdENhbGxiYWNrKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNU
X0NBTExCQUNLX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNz
KSwgIFdFQktJVF9ET01fVFlQRV9URVNUX0NBTExCQUNLLCBXZWJLaXRET01UZXN0Q2FsbGJhY2tD
bGFzcykKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX0NBTExCQUNLKG9iaikgICAgICAgICAo
R19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9ET01fVFlQRV9URVNUX0NB
TExCQUNLKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX0NBTExCQUNLX0NMQVNTKGtsYXNz
KSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNU
X0NBTExCQUNLKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0NBTExCQUNLX0dFVF9DTEFTUyhv
YmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQRV9U
RVNUX0NBTExCQUNLLCBXZWJLaXRET01UZXN0Q2FsbGJhY2tDbGFzcykpCiAKIHN0cnVjdCBfV2Vi
S2l0RE9NVGVzdENhbGxiYWNrIHsKICAgICBXZWJLaXRET01PYmplY3QgcGFyZW50X2luc3RhbmNl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRl
ci5jcHAKaW5kZXggMWE1MDdmMDdlZDM5ZWMzMzE0ZmZjMzFmNjY0MGM3N2M4ODczMGEwOS4uZDQ0
ZWFkYjA5ZDczYzNjNTFmZTJkNWFjMmM1N2IzZWViNTMzN2YxZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEN1c3Rv
bU5hbWVkR2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvR09iamVjdC9XZWJLaXRET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCkBAIC0zMiw3ICsz
Miw3IEBACiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IAotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUl9HRVRfUFJJVkFU
RShvYmopIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9UWVBFX0RPTV9U
RVNUX0NVU1RPTV9OQU1FRF9HRVRURVIsIFdlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlclBy
aXZhdGUpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSX0dFVF9Q
UklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX0RPTV9U
WVBFX1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUiwgV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0
dGVyUHJpdmF0ZSkKIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdl
dHRlclByaXZhdGUgewogICAgIFJlZlB0cjxXZWJDb3JlOjpUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI+
IGNvcmVPYmplY3Q7CkBAIC01OSwxMiArNTksMTIgQEAgV2ViQ29yZTo6VGVzdEN1c3RvbU5hbWVk
R2V0dGVyKiBjb3JlKFdlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlciogcmVxdWVzdCkKIFdl
YktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlciogd3JhcFRlc3RDdXN0b21OYW1lZEdldHRlcihX
ZWJDb3JlOjpUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqIGNvcmVPYmplY3QpCiB7CiAgICAgQVNTRVJU
KGNvcmVPYmplY3QpOwotICAgIHJldHVybiBXRUJLSVRfRE9NX1RFU1RfQ1VTVE9NX05BTUVEX0dF
VFRFUihnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfRE9NX1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRF
UiwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRf
RE9NX1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUihnX29iamVjdF9uZXcoV0VCS0lUX0RPTV9UWVBF
X1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUiwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVM
TCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotR19ERUZJTkVfVFlQRShXZWJLaXRE
T01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXIsIHdlYmtpdF9kb21fdGVzdF9jdXN0b21fbmFtZWRfZ2V0
dGVyLCBXRUJLSVRfVFlQRV9ET01fT0JKRUNUKQorR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0
Q3VzdG9tTmFtZWRHZXR0ZXIsIHdlYmtpdF9kb21fdGVzdF9jdXN0b21fbmFtZWRfZ2V0dGVyLCBX
RUJLSVRfRE9NX1RZUEVfT0JKRUNUKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3RfY3Vz
dG9tX25hbWVkX2dldHRlcl9maW5hbGl6ZShHT2JqZWN0KiBvYmplY3QpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlci5oCmluZGV4IGM3YTg0
YTU1ODUzNmMxNTc4N2EwOTJiMGE5NTMxNWFiZmQwMjVjNGYuLjU4NTZjMTAwOTBjYmE5ZjM2MmQz
NjdlODFmMjQ0MTQ1YzQyODU0YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RDdXN0b21OYW1lZEdldHRlci5oCkBAIC0yOSwxMiArMjksMTIgQEAKIAogR19CRUdJTl9E
RUNMUwogCi0jZGVmaW5lIFdFQktJVF9UWVBFX0RPTV9URVNUX0NVU1RPTV9OQU1FRF9HRVRURVIg
ICAgICAgICAgICAod2Via2l0X2RvbV90ZXN0X2N1c3RvbV9uYW1lZF9nZXR0ZXJfZ2V0X3R5cGUo
KSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0NVU1RPTV9OQU1FRF9HRVRURVIob2JqKSAgICAg
ICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfRE9N
X1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUiwgV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVy
KSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0NVU1RPTV9OQU1FRF9HRVRURVJfQ0xBU1Moa2xh
c3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9N
X1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUiwgV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVy
Q2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSKG9i
aikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBF
X0RPTV9URVNUX0NVU1RPTV9OQU1FRF9HRVRURVIpKQotI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RF
U1RfQ1VTVE9NX05BTUVEX0dFVFRFUl9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19U
WVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSKSkK
LSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0NVU1RPTV9OQU1FRF9HRVRURVJfR0VUX0NMQVNTKG9i
aikgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX1RF
U1RfQ1VTVE9NX05BTUVEX0dFVFRFUiwgV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyQ2xh
c3MpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RZUEVfVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSICAg
ICAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9jdXN0b21fbmFtZWRfZ2V0dGVyX2dldF90eXBlKCkp
CisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSKG9iaikgICAgICAg
ICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9ET01fVFlQRV9U
RVNUX0NVU1RPTV9OQU1FRF9HRVRURVIsIFdlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlcikp
CisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSX0NMQVNTKGtsYXNz
KSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9U
RVNUX0NVU1RPTV9OQU1FRF9HRVRURVIsIFdlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlckNs
YXNzKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUihvYmop
ICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfRE9NX1RZ
UEVfVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNU
X0NVU1RPTV9OQU1FRF9HRVRURVJfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQ
RSgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfQ1VTVE9NX05BTUVEX0dFVFRFUikpCisj
ZGVmaW5lIFdFQktJVF9ET01fVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSX0dFVF9DTEFTUyhvYmop
ICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQRV9URVNU
X0NVU1RPTV9OQU1FRF9HRVRURVIsIFdlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlckNsYXNz
KSkKIAogc3RydWN0IF9XZWJLaXRET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXIgewogICAgIFdlYktp
dERPTU9iamVjdCBwYXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0RXZlbnRDb25zdHJ1Y3Rv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggOGQyOGIyOTdiMzU0ZDY1ZWQ4NjQ2
MjNiODcyMjJkNTI4OTdhMjMyZS4uMmRlOWUxMDQ3Njc0MDk0MTQwMzFmYzMwOWZjNmRkMzIyYTI3
N2FhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudENvbnN0
cnVjdG9yLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0VWRU5UX0NP
TlNUUlVDVE9SX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9i
aiwgV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1IsIFdlYktpdERPTVRlc3RF
dmVudENvbnN0cnVjdG9yUHJpdmF0ZSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0VWRU5UX0NP
TlNUUlVDVE9SX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9i
aiwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1IsIFdlYktpdERPTVRlc3RF
dmVudENvbnN0cnVjdG9yUHJpdmF0ZSkKIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RF
dmVudENvbnN0cnVjdG9yUHJpdmF0ZSB7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlRlc3RFdmVudENv
bnN0cnVjdG9yPiBjb3JlT2JqZWN0OwpAQCAtNTksMTIgKzU5LDEyIEBAIFdlYkNvcmU6OlRlc3RF
dmVudENvbnN0cnVjdG9yKiBjb3JlKFdlYktpdERPTVRlc3RFdmVudENvbnN0cnVjdG9yKiByZXF1
ZXN0KQogV2ViS2l0RE9NVGVzdEV2ZW50Q29uc3RydWN0b3IqIHdyYXBUZXN0RXZlbnRDb25zdHJ1
Y3RvcihXZWJDb3JlOjpUZXN0RXZlbnRDb25zdHJ1Y3RvciogY29yZU9iamVjdCkKIHsKICAgICBB
U1NFUlQoY29yZU9iamVjdCk7Ci0gICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9FVkVOVF9DT05T
VFJVQ1RPUihnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRfQ09OU1RSVUNU
T1IsICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKKyAgICByZXR1cm4gV0VCS0lU
X0RPTV9URVNUX0VWRU5UX0NPTlNUUlVDVE9SKGdfb2JqZWN0X25ldyhXRUJLSVRfRE9NX1RZUEVf
VEVTVF9FVkVOVF9DT05TVFJVQ1RPUiwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotR19ERUZJTkVfVFlQRShXZWJLaXRET01U
ZXN0RXZlbnRDb25zdHJ1Y3Rvciwgd2Via2l0X2RvbV90ZXN0X2V2ZW50X2NvbnN0cnVjdG9yLCBX
RUJLSVRfVFlQRV9ET01fT0JKRUNUKQorR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0RXZlbnRD
b25zdHJ1Y3Rvciwgd2Via2l0X2RvbV90ZXN0X2V2ZW50X2NvbnN0cnVjdG9yLCBXRUJLSVRfRE9N
X1RZUEVfT0JKRUNUKQogCiBlbnVtIHsKICAgICBQUk9QXzAsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0RXZlbnRD
b25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NVGVzdEV2ZW50Q29uc3RydWN0b3IuaAppbmRleCBlM2JhN2VjMTI3YzQwNWQx
NWRkN2FkMTM3M2UwNWU1MWUzZWI1ZWVkLi42NjNmYmNlZDJiOGE2ZjVlMWQ1ZjYyY2Q2Y2I2YTY0
MjVlNGE5Y2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvR09iamVjdC9XZWJLaXRET01UZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudENv
bnN0cnVjdG9yLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogCiBHX0JFR0lOX0RFQ0xTCiAKLSNkZWZp
bmUgV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1IgICAgICAgICAgICAod2Vi
a2l0X2RvbV90ZXN0X2V2ZW50X2NvbnN0cnVjdG9yX2dldF90eXBlKCkpCi0jZGVmaW5lIFdFQktJ
VF9ET01fVEVTVF9FVkVOVF9DT05TVFJVQ1RPUihvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVD
S19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9FVkVOVF9DT05TVFJV
Q1RPUiwgV2ViS2l0RE9NVGVzdEV2ZW50Q29uc3RydWN0b3IpKQotI2RlZmluZSBXRUJLSVRfRE9N
X1RFU1RfRVZFTlRfQ09OU1RSVUNUT1JfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xB
U1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1Is
IFdlYktpdERPTVRlc3RFdmVudENvbnN0cnVjdG9yQ2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01f
SVNfVEVTVF9FVkVOVF9DT05TVFJVQ1RPUihvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNU
QU5DRV9UWVBFKChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9FVkVOVF9DT05TVFJVQ1RPUikp
Ci0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9FVkVOVF9DT05TVFJVQ1RPUl9DTEFTUyhrbGFz
cykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fVEVT
VF9FVkVOVF9DT05TVFJVQ1RPUikpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9FVkVOVF9DT05T
VFJVQ1RPUl9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiks
ICBXRUJLSVRfVFlQRV9ET01fVEVTVF9FVkVOVF9DT05TVFJVQ1RPUiwgV2ViS2l0RE9NVGVzdEV2
ZW50Q29uc3RydWN0b3JDbGFzcykpCisjZGVmaW5lIFdFQktJVF9ET01fVFlQRV9URVNUX0VWRU5U
X0NPTlNUUlVDVE9SICAgICAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9ldmVudF9jb25zdHJ1Y3Rv
cl9nZXRfdHlwZSgpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1Io
b2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lU
X0RPTV9UWVBFX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1IsIFdlYktpdERPTVRlc3RFdmVudENvbnN0
cnVjdG9yKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0VWRU5UX0NPTlNUUlVDVE9SX0NMQVNT
KGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01f
VFlQRV9URVNUX0VWRU5UX0NPTlNUUlVDVE9SLCBXZWJLaXRET01UZXN0RXZlbnRDb25zdHJ1Y3Rv
ckNsYXNzKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1Iob2Jq
KSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX0RPTV9U
WVBFX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1IpKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1Rf
RVZFTlRfQ09OU1RSVUNUT1JfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgo
a2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1IpKQorI2RlZmlu
ZSBXRUJLSVRfRE9NX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1JfR0VUX0NMQVNTKG9iaikgIChHX1RZ
UEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfRVZFTlRf
Q09OU1RSVUNUT1IsIFdlYktpdERPTVRlc3RFdmVudENvbnN0cnVjdG9yQ2xhc3MpKQogCiBzdHJ1
Y3QgX1dlYktpdERPTVRlc3RFdmVudENvbnN0cnVjdG9yIHsKICAgICBXZWJLaXRET01PYmplY3Qg
cGFyZW50X2luc3RhbmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudFRh
cmdldC5jcHAKaW5kZXggMTk2OWYwOTBiZGQ1OWE4NjIwZmY1YTEyOGQ1OTBjNGIzNGExMTRjMy4u
ZTZlMzk2NzdjZDI4MzFmNGNjZjc2NjFhNTNkNmQxZTc1ZWNkMjAwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV2
ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0RXZlbnRUYXJnZXQuY3BwCkBAIC0zNiw3ICszNiw3IEBACiAj
aW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotI2RlZmlu
ZSBXRUJLSVRfRE9NX1RFU1RfRVZFTlRfVEFSR0VUX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lO
U1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRfVEFSR0VU
LCBXZWJLaXRET01UZXN0RXZlbnRUYXJnZXRQcml2YXRlKQorI2RlZmluZSBXRUJLSVRfRE9NX1RF
U1RfRVZFTlRfVEFSR0VUX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklW
QVRFKG9iaiwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfRVZFTlRfVEFSR0VULCBXZWJLaXRET01UZXN0
RXZlbnRUYXJnZXRQcml2YXRlKQogCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0RE9NVGVzdEV2ZW50
VGFyZ2V0UHJpdmF0ZSB7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlRlc3RFdmVudFRhcmdldD4gY29y
ZU9iamVjdDsKQEAgLTYzLDcgKzYzLDcgQEAgV2ViQ29yZTo6VGVzdEV2ZW50VGFyZ2V0KiBjb3Jl
KFdlYktpdERPTVRlc3RFdmVudFRhcmdldCogcmVxdWVzdCkKIFdlYktpdERPTVRlc3RFdmVudFRh
cmdldCogd3JhcFRlc3RFdmVudFRhcmdldChXZWJDb3JlOjpUZXN0RXZlbnRUYXJnZXQqIGNvcmVP
YmplY3QpCiB7CiAgICAgQVNTRVJUKGNvcmVPYmplY3QpOwotICAgIHJldHVybiBXRUJLSVRfRE9N
X1RFU1RfRVZFTlRfVEFSR0VUKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9ET01fVEVTVF9FVkVO
VF9UQVJHRVQsICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKKyAgICByZXR1cm4g
V0VCS0lUX0RPTV9URVNUX0VWRU5UX1RBUkdFVChnX29iamVjdF9uZXcoV0VCS0lUX0RPTV9UWVBF
X1RFU1RfRVZFTlRfVEFSR0VULCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBOVUxMKSk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApAQCAtMTAxLDcgKzEwMSw3IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdF9kb21fZXZlbnRfdGFyZ2V0X2luaXQoV2ViS2l0RE9NRXZlbnRUYXJnZXRJZmFjZSog
aWZhY2UpCiAgICAgaWZhY2UtPnJlbW92ZV9ldmVudF9saXN0ZW5lciA9IHdlYmtpdF9kb21fdGVz
dF9ldmVudF90YXJnZXRfcmVtb3ZlX2V2ZW50X2xpc3RlbmVyOwogfQogCi1HX0RFRklORV9UWVBF
X1dJVEhfQ09ERShXZWJLaXRET01UZXN0RXZlbnRUYXJnZXQsIHdlYmtpdF9kb21fdGVzdF9ldmVu
dF90YXJnZXQsIFdFQktJVF9UWVBFX0RPTV9PQkpFQ1QsIEdfSU1QTEVNRU5UX0lOVEVSRkFDRShX
RUJLSVRfVFlQRV9ET01fRVZFTlRfVEFSR0VULCB3ZWJraXRfZG9tX2V2ZW50X3RhcmdldF9pbml0
KSkKK0dfREVGSU5FX1RZUEVfV0lUSF9DT0RFKFdlYktpdERPTVRlc3RFdmVudFRhcmdldCwgd2Vi
a2l0X2RvbV90ZXN0X2V2ZW50X3RhcmdldCwgV0VCS0lUX0RPTV9UWVBFX09CSkVDVCwgR19JTVBM
RU1FTlRfSU5URVJGQUNFKFdFQktJVF9ET01fVFlQRV9FVkVOVF9UQVJHRVQsIHdlYmtpdF9kb21f
ZXZlbnRfdGFyZ2V0X2luaXQpKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3RfZXZlbnRf
dGFyZ2V0X2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudFRh
cmdldC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdEV2ZW50VGFyZ2V0LmgKaW5kZXggOGZmOWNhN2Y4ZTgyNDFhNWJiOWVlMzJmYWYw
OTNhODViZWM4NDg2ZC4uOGM3NjY2ODljOWY3NGM5ZmFhNDQ1ZDk4NWFhMDA3YzZkODVhZTJmMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0LmgKQEAgLTI5LDEy
ICsyOSwxMiBAQAogCiBHX0JFR0lOX0RFQ0xTCiAKLSNkZWZpbmUgV0VCS0lUX1RZUEVfRE9NX1RF
U1RfRVZFTlRfVEFSR0VUICAgICAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9ldmVudF90YXJnZXRf
Z2V0X3R5cGUoKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0VWRU5UX1RBUkdFVChvYmopICAg
ICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9E
T01fVEVTVF9FVkVOVF9UQVJHRVQsIFdlYktpdERPTVRlc3RFdmVudFRhcmdldCkpCi0jZGVmaW5l
IFdFQktJVF9ET01fVEVTVF9FVkVOVF9UQVJHRVRfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hF
Q0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRfVEFSR0VU
LCBXZWJLaXRET01UZXN0RXZlbnRUYXJnZXRDbGFzcykKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19U
RVNUX0VWRU5UX1RBUkdFVChvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBF
KChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9FVkVOVF9UQVJHRVQpKQotI2RlZmluZSBXRUJL
SVRfRE9NX0lTX1RFU1RfRVZFTlRfVEFSR0VUX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NM
QVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX0VWRU5UX1RBUkdFVCkpCi0j
ZGVmaW5lIFdFQktJVF9ET01fVEVTVF9FVkVOVF9UQVJHRVRfR0VUX0NMQVNTKG9iaikgIChHX1RZ
UEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVZFTlRf
VEFSR0VULCBXZWJLaXRET01UZXN0RXZlbnRUYXJnZXRDbGFzcykpCisjZGVmaW5lIFdFQktJVF9E
T01fVFlQRV9URVNUX0VWRU5UX1RBUkdFVCAgICAgICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfZXZl
bnRfdGFyZ2V0X2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9FVkVOVF9UQVJH
RVQob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VC
S0lUX0RPTV9UWVBFX1RFU1RfRVZFTlRfVEFSR0VULCBXZWJLaXRET01UZXN0RXZlbnRUYXJnZXQp
KQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfRVZFTlRfVEFSR0VUX0NMQVNTKGtsYXNzKSAgICAo
R19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX0VW
RU5UX1RBUkdFVCwgV2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0Q2xhc3MpCisjZGVmaW5lIFdFQktJ
VF9ET01fSVNfVEVTVF9FVkVOVF9UQVJHRVQob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5T
VEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfRVZFTlRfVEFSR0VUKSkKKyNk
ZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX0VWRU5UX1RBUkdFVF9DTEFTUyhrbGFzcykgKEdfVFlQ
RV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9FVkVOVF9U
QVJHRVQpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfRVZFTlRfVEFSR0VUX0dFVF9DTEFTUyhv
YmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQRV9U
RVNUX0VWRU5UX1RBUkdFVCwgV2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0Q2xhc3MpKQogCiBzdHJ1
Y3QgX1dlYktpdERPTVRlc3RFdmVudFRhcmdldCB7CiAgICAgV2ViS2l0RE9NT2JqZWN0IHBhcmVu
dF9pbnN0YW5jZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbi5jcHAK
aW5kZXggODM2ZDMxYzIxNmZjMDE1NjBlYTg2YTRjY2ZjMWU1YjFiZWNmNmZlMC4uYTZkZTIxZjE4
Y2Y0NGJkYTI4MWI5YTA1MGUwMjA0ZjNmOGE1OTk5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdEV4Y2VwdGlvbi5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlIDx3dGYv
R2V0UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi0jZGVmaW5lIFdFQktJVF9ET01f
VEVTVF9FWENFUFRJT05fR0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZB
VEUob2JqLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9FWENFUFRJT04sIFdlYktpdERPTVRlc3RFeGNl
cHRpb25Qcml2YXRlKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfRVhDRVBUSU9OX0dFVF9QUklW
QVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX0RPTV9UWVBF
X1RFU1RfRVhDRVBUSU9OLCBXZWJLaXRET01UZXN0RXhjZXB0aW9uUHJpdmF0ZSkKIAogdHlwZWRl
ZiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RFeGNlcHRpb25Qcml2YXRlIHsKICAgICBSZWZQdHI8V2Vi
Q29yZTo6VGVzdEV4Y2VwdGlvbj4gY29yZU9iamVjdDsKQEAgLTU5LDEyICs1OSwxMiBAQCBXZWJD
b3JlOjpUZXN0RXhjZXB0aW9uKiBjb3JlKFdlYktpdERPTVRlc3RFeGNlcHRpb24qIHJlcXVlc3Qp
CiBXZWJLaXRET01UZXN0RXhjZXB0aW9uKiB3cmFwVGVzdEV4Y2VwdGlvbihXZWJDb3JlOjpUZXN0
RXhjZXB0aW9uKiBjb3JlT2JqZWN0KQogewogICAgIEFTU0VSVChjb3JlT2JqZWN0KTsKLSAgICBy
ZXR1cm4gV0VCS0lUX0RPTV9URVNUX0VYQ0VQVElPTihnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVf
RE9NX1RFU1RfRVhDRVBUSU9OLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBOVUxMKSk7Cisg
ICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9FWENFUFRJT04oZ19vYmplY3RfbmV3KFdFQktJVF9E
T01fVFlQRV9URVNUX0VYQ0VQVElPTiwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotR19ERUZJTkVfVFlQRShXZWJLaXRET01U
ZXN0RXhjZXB0aW9uLCB3ZWJraXRfZG9tX3Rlc3RfZXhjZXB0aW9uLCBXRUJLSVRfVFlQRV9ET01f
T0JKRUNUKQorR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0RXhjZXB0aW9uLCB3ZWJraXRfZG9t
X3Rlc3RfZXhjZXB0aW9uLCBXRUJLSVRfRE9NX1RZUEVfT0JKRUNUKQogCiBlbnVtIHsKICAgICBQ
Uk9QXzAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0RXhjZXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0RXhjZXB0aW9uLmgKaW5kZXggNGJi
MmZiYzYwYTM4ZTQ5NDkxOWMzOGNiZjU4OTlhNmJjNjQ2M2M4My4uNjI3NDU1MzQ0MjNhNTIzZjlj
YjVmZDFkZWZjOWQ4OGM4N2YxMGNkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RF
eGNlcHRpb24uaApAQCAtMjksMTIgKzI5LDEyIEBACiAKIEdfQkVHSU5fREVDTFMKIAotI2RlZmlu
ZSBXRUJLSVRfVFlQRV9ET01fVEVTVF9FWENFUFRJT04gICAgICAgICAgICAod2Via2l0X2RvbV90
ZXN0X2V4Y2VwdGlvbl9nZXRfdHlwZSgpKQotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfRVhDRVBU
SU9OKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdF
QktJVF9UWVBFX0RPTV9URVNUX0VYQ0VQVElPTiwgV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbikpCi0j
ZGVmaW5lIFdFQktJVF9ET01fVEVTVF9FWENFUFRJT05fQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVf
Q0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVhDRVBUSU9O
LCBXZWJLaXRET01UZXN0RXhjZXB0aW9uQ2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVT
VF9FWENFUFRJT04ob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2Jq
KSwgV0VCS0lUX1RZUEVfRE9NX1RFU1RfRVhDRVBUSU9OKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9J
U19URVNUX0VYQ0VQVElPTl9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChr
bGFzcyksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9FWENFUFRJT04pKQotI2RlZmluZSBXRUJLSVRf
RE9NX1RFU1RfRVhDRVBUSU9OX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9D
TEFTUygob2JqKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX0VYQ0VQVElPTiwgV2ViS2l0RE9NVGVz
dEV4Y2VwdGlvbkNsYXNzKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9UWVBFX1RFU1RfRVhDRVBUSU9O
ICAgICAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9leGNlcHRpb25fZ2V0X3R5cGUoKSkKKyNkZWZp
bmUgV0VCS0lUX0RPTV9URVNUX0VYQ0VQVElPTihvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVD
S19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9FWENFUFRJT04sIFdl
YktpdERPTVRlc3RFeGNlcHRpb24pKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfRVhDRVBUSU9O
X0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJ
VF9ET01fVFlQRV9URVNUX0VYQ0VQVElPTiwgV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbkNsYXNzKQor
I2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfRVhDRVBUSU9OKG9iaikgICAgICAgICAoR19UWVBF
X0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9ET01fVFlQRV9URVNUX0VYQ0VQVElP
TikpCisjZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9FWENFUFRJT05fQ0xBU1Moa2xhc3MpIChH
X1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfRVhD
RVBUSU9OKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0VYQ0VQVElPTl9HRVRfQ0xBU1Mob2Jq
KSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfRE9NX1RZUEVfVEVT
VF9FWENFUFRJT04sIFdlYktpdERPTVRlc3RFeGNlcHRpb25DbGFzcykpCiAKIHN0cnVjdCBfV2Vi
S2l0RE9NVGVzdEV4Y2VwdGlvbiB7CiAgICAgV2ViS2l0RE9NT2JqZWN0IHBhcmVudF9pbnN0YW5j
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTVRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RHZW5lcmF0ZUlzUmVh
Y2hhYmxlLmNwcAppbmRleCBjODU4N2VjNDFkZjlkZGUwZDAxYjZlMDExY2RhNTU0OTA1NDUwZWVj
Li44M2M1YTEzZjc0NDc5MGNhYzc0NWQ5MTg5ODhlNjdlNDRiYmM0MTc3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCkBA
IC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KIAotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxF
X0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lU
X1RZUEVfRE9NX1RFU1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFLCBXZWJLaXRET01UZXN0R2VuZXJh
dGVJc1JlYWNoYWJsZVByaXZhdGUpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9HRU5FUkFURV9J
U19SRUFDSEFCTEVfR0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUo
b2JqLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9HRU5FUkFURV9JU19SRUFDSEFCTEUsIFdlYktpdERP
TVRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlUHJpdmF0ZSkKIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktp
dERPTVRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlUHJpdmF0ZSB7CiAgICAgUmVmUHRyPFdlYkNvcmU6
OlRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlPiBjb3JlT2JqZWN0OwpAQCAtNTksMTIgKzU5LDEyIEBA
IFdlYkNvcmU6OlRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlKiBjb3JlKFdlYktpdERPTVRlc3RHZW5l
cmF0ZUlzUmVhY2hhYmxlKiByZXF1ZXN0CiBXZWJLaXRET01UZXN0R2VuZXJhdGVJc1JlYWNoYWJs
ZSogd3JhcFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlKFdlYkNvcmU6OlRlc3RHZW5lcmF0ZUlzUmVh
Y2hhYmxlKiBjb3JlT2JqZWN0KQogewogICAgIEFTU0VSVChjb3JlT2JqZWN0KTsKLSAgICByZXR1
cm4gV0VCS0lUX0RPTV9URVNUX0dFTkVSQVRFX0lTX1JFQUNIQUJMRShnX29iamVjdF9uZXcoV0VC
S0lUX1RZUEVfRE9NX1RFU1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFLCAiY29yZS1vYmplY3QiLCBj
b3JlT2JqZWN0LCBOVUxMKSk7CisgICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9HRU5FUkFURV9J
U19SRUFDSEFCTEUoZ19vYmplY3RfbmV3KFdFQktJVF9ET01fVFlQRV9URVNUX0dFTkVSQVRFX0lT
X1JFQUNIQUJMRSwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKIAotR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0R2VuZXJhdGVJ
c1JlYWNoYWJsZSwgd2Via2l0X2RvbV90ZXN0X2dlbmVyYXRlX2lzX3JlYWNoYWJsZSwgV0VCS0lU
X1RZUEVfRE9NX09CSkVDVCkKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdEdlbmVyYXRlSXNS
ZWFjaGFibGUsIHdlYmtpdF9kb21fdGVzdF9nZW5lcmF0ZV9pc19yZWFjaGFibGUsIFdFQktJVF9E
T01fVFlQRV9PQkpFQ1QpCiAKIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9nZW5lcmF0ZV9p
c19yZWFjaGFibGVfZmluYWxpemUoR09iamVjdCogb2JqZWN0KQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEdl
bmVyYXRlSXNSZWFjaGFibGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9HT2JqZWN0L1dlYktpdERPTVRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmgKaW5kZXggYmIzYzIw
OWU3ODMxNDQ1ZTEyMDI4MzVhYWM0MTA1NmFmYzI0MWU4Ni4uMjg0OThkY2Y0NjE3NjJkMzgyMjRh
ZDk3MTA2OGQ0ZWI5ZmZhYTc2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5oCkBAIC0yOSwxMiArMjksMTIgQEAKIAogR19CRUdJ
Tl9ERUNMUwogCi0jZGVmaW5lIFdFQktJVF9UWVBFX0RPTV9URVNUX0dFTkVSQVRFX0lTX1JFQUNI
QUJMRSAgICAgICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfZ2VuZXJhdGVfaXNfcmVhY2hhYmxlX2dl
dF90eXBlKCkpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9HRU5FUkFURV9JU19SRUFDSEFCTEUo
b2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lU
X1RZUEVfRE9NX1RFU1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFLCBXZWJLaXRET01UZXN0R2VuZXJh
dGVJc1JlYWNoYWJsZSkpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9HRU5FUkFURV9JU19SRUFD
SEFCTEVfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAg
V0VCS0lUX1RZUEVfRE9NX1RFU1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFLCBXZWJLaXRET01UZXN0
R2VuZXJhdGVJc1JlYWNoYWJsZUNsYXNzKQotI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfR0VO
RVJBVEVfSVNfUkVBQ0hBQkxFKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZ
UEUoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9URVNUX0dFTkVSQVRFX0lTX1JFQUNIQUJMRSkpCi0j
ZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9HRU5FUkFURV9JU19SRUFDSEFCTEVfQ0xBU1Moa2xh
c3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RF
U1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX0dFTkVS
QVRFX0lTX1JFQUNIQUJMRV9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xB
U1MoKG9iaiksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9HRU5FUkFURV9JU19SRUFDSEFCTEUsIFdl
YktpdERPTVRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlQ2xhc3MpKQorI2RlZmluZSBXRUJLSVRfRE9N
X1RZUEVfVEVTVF9HRU5FUkFURV9JU19SRUFDSEFCTEUgICAgICAgICAgICAod2Via2l0X2RvbV90
ZXN0X2dlbmVyYXRlX2lzX3JlYWNoYWJsZV9nZXRfdHlwZSgpKQorI2RlZmluZSBXRUJLSVRfRE9N
X1RFU1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNL
X0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9ET01fVFlQRV9URVNUX0dFTkVSQVRFX0lTX1JF
QUNIQUJMRSwgV2ViS2l0RE9NVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUpKQorI2RlZmluZSBXRUJL
SVRfRE9NX1RFU1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFX0NMQVNTKGtsYXNzKSAgICAoR19UWVBF
X0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX0dFTkVSQVRF
X0lTX1JFQUNIQUJMRSwgV2ViS2l0RE9NVGVzdEdlbmVyYXRlSXNSZWFjaGFibGVDbGFzcykKKyNk
ZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX0dFTkVSQVRFX0lTX1JFQUNIQUJMRShvYmopICAgICAg
ICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVT
VF9HRU5FUkFURV9JU19SRUFDSEFCTEUpKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfR0VO
RVJBVEVfSVNfUkVBQ0hBQkxFX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUo
KGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX0dFTkVSQVRFX0lTX1JFQUNIQUJMRSkpCisj
ZGVmaW5lIFdFQktJVF9ET01fVEVTVF9HRU5FUkFURV9JU19SRUFDSEFCTEVfR0VUX0NMQVNTKG9i
aikgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX0RPTV9UWVBFX1RF
U1RfR0VORVJBVEVfSVNfUkVBQ0hBQkxFLCBXZWJLaXRET01UZXN0R2VuZXJhdGVJc1JlYWNoYWJs
ZUNsYXNzKSkKIAogc3RydWN0IF9XZWJLaXRET01UZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSB7CiAg
ICAgV2ViS2l0RE9NT2JqZWN0IHBhcmVudF9pbnN0YW5jZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RJbnRlcmZh
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdEludGVyZmFjZS5jcHAKaW5kZXggMjhiMzQ0YzE1ZGY5NzEzOGU2Y2RjYjk3ODQ0
ZGRlOGY3YjE1ZGVkZC4uODM3Njg1YTNlYzcxYWI1YzU4ZjM4MzdlNzhlYjVhMjhlYjkxZDNjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdEludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEludGVyZmFjZS5jcHAKQEAgLTM1LDcg
KzM1LDcgQEAKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9JTlRFUkZBQ0VfR0VUX1BSSVZBVEUob2JqKSBH
X1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUob2JqLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9JTlRF
UkZBQ0UsIFdlYktpdERPTVRlc3RJbnRlcmZhY2VQcml2YXRlKQorI2RlZmluZSBXRUJLSVRfRE9N
X1RFU1RfSU5URVJGQUNFX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklW
QVRFKG9iaiwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfSU5URVJGQUNFLCBXZWJLaXRET01UZXN0SW50
ZXJmYWNlUHJpdmF0ZSkKIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RJbnRlcmZhY2VQ
cml2YXRlIHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCkBA
IC02NiwxNCArNjYsMTQgQEAgV2ViQ29yZTo6VGVzdEludGVyZmFjZSogY29yZShXZWJLaXRET01U
ZXN0SW50ZXJmYWNlKiByZXF1ZXN0KQogV2ViS2l0RE9NVGVzdEludGVyZmFjZSogd3JhcFRlc3RJ
bnRlcmZhY2UoV2ViQ29yZTo6VGVzdEludGVyZmFjZSogY29yZU9iamVjdCkKIHsKICAgICBBU1NF
UlQoY29yZU9iamVjdCk7Ci0gICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9JTlRFUkZBQ0UoZ19v
YmplY3RfbmV3KFdFQktJVF9UWVBFX0RPTV9URVNUX0lOVEVSRkFDRSwgImNvcmUtb2JqZWN0Iiwg
Y29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRfRE9NX1RFU1RfSU5URVJGQUNF
KGdfb2JqZWN0X25ldyhXRUJLSVRfRE9NX1RZUEVfVEVTVF9JTlRFUkZBQ0UsICJjb3JlLW9iamVj
dCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNl
bmRpZiAvLyBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCiAKLUdfREVG
SU5FX1RZUEUoV2ViS2l0RE9NVGVzdEludGVyZmFjZSwgd2Via2l0X2RvbV90ZXN0X2ludGVyZmFj
ZSwgV0VCS0lUX1RZUEVfRE9NX09CSkVDVCkKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdElu
dGVyZmFjZSwgd2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZSwgV0VCS0lUX0RPTV9UWVBFX09CSkVD
VCkKIAogZW51bSB7CiAgICAgUFJPUF8wLApAQCAtMjkwLDcgKzI5MCw3IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2VfY2xhc3NfaW5pdChXZWJLaXRET01UZXN0SW50ZXJm
YWNlQ2xhc3MqIHJlCiAgICAgICAgICAgICAiaW1wbGVtZW50cy1ub2RlIiwKICAgICAgICAgICAg
ICJUZXN0SW50ZXJmYWNlOmltcGxlbWVudHMtbm9kZSIsCiAgICAgICAgICAgICAicmVhZC1vbmx5
IFdlYktpdERPTU5vZGUqIFRlc3RJbnRlcmZhY2U6aW1wbGVtZW50cy1ub2RlIiwKLSAgICAgICAg
ICAgIFdFQktJVF9UWVBFX0RPTV9OT0RFLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX05P
REUsCiAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUpKTsKIAogICAgIGdfb2JqZWN0
X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCkBAIC0zMjAsNyArMzIwLDcgQEAgc3RhdGljIHZvaWQg
d2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZV9jbGFzc19pbml0KFdlYktpdERPTVRlc3RJbnRlcmZh
Y2VDbGFzcyogcmUKICAgICAgICAgICAgICJzdXBwbGVtZW50YWwtbm9kZSIsCiAgICAgICAgICAg
ICAiVGVzdEludGVyZmFjZTpzdXBwbGVtZW50YWwtbm9kZSIsCiAgICAgICAgICAgICAicmVhZC1v
bmx5IFdlYktpdERPTU5vZGUqIFRlc3RJbnRlcmZhY2U6c3VwcGxlbWVudGFsLW5vZGUiLAotICAg
ICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX05PREUsCisgICAgICAgICAgICBXRUJLSVRfRE9NX1RZ
UEVfTk9ERSwKICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOwogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvR09iamVjdC9XZWJLaXRET01UZXN0SW50ZXJmYWNlLmgKaW5kZXggNTMxMmNiOGUxMWQzNDU0
MDMxN2VkZDlmMDQ2MTM4YjE3ZThkMjJiNS4uZDYyNTI1MTAxNDgwYjI2NjE0ZmJjZTI3ODU4NWU3
YzkyYmI0MzRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RJbnRlcmZhY2UuaApA
QCAtMjksMTIgKzI5LDEyIEBACiAKIEdfQkVHSU5fREVDTFMKIAotI2RlZmluZSBXRUJLSVRfVFlQ
RV9ET01fVEVTVF9JTlRFUkZBQ0UgICAgICAgICAgICAod2Via2l0X2RvbV90ZXN0X2ludGVyZmFj
ZV9nZXRfdHlwZSgpKQotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfSU5URVJGQUNFKG9iaikgICAg
ICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX0RP
TV9URVNUX0lOVEVSRkFDRSwgV2ViS2l0RE9NVGVzdEludGVyZmFjZSkpCi0jZGVmaW5lIFdFQktJ
VF9ET01fVEVTVF9JTlRFUkZBQ0VfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1Nf
Q0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfSU5URVJGQUNFLCBXZWJLaXRET01U
ZXN0SW50ZXJmYWNlQ2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9JTlRFUkZBQ0Uo
b2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZ
UEVfRE9NX1RFU1RfSU5URVJGQUNFKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX0lOVEVS
RkFDRV9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJL
SVRfVFlQRV9ET01fVEVTVF9JTlRFUkZBQ0UpKQotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfSU5U
RVJGQUNFX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwg
IFdFQktJVF9UWVBFX0RPTV9URVNUX0lOVEVSRkFDRSwgV2ViS2l0RE9NVGVzdEludGVyZmFjZUNs
YXNzKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9UWVBFX1RFU1RfSU5URVJGQUNFICAgICAgICAgICAg
KHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2VfZ2V0X3R5cGUoKSkKKyNkZWZpbmUgV0VCS0lUX0RP
TV9URVNUX0lOVEVSRkFDRShvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9D
QVNUKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9JTlRFUkZBQ0UsIFdlYktpdERPTVRlc3RJ
bnRlcmZhY2UpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfSU5URVJGQUNFX0NMQVNTKGtsYXNz
KSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9U
RVNUX0lOVEVSRkFDRSwgV2ViS2l0RE9NVGVzdEludGVyZmFjZUNsYXNzKQorI2RlZmluZSBXRUJL
SVRfRE9NX0lTX1RFU1RfSU5URVJGQUNFKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RB
TkNFX1RZUEUoKG9iaiksIFdFQktJVF9ET01fVFlQRV9URVNUX0lOVEVSRkFDRSkpCisjZGVmaW5l
IFdFQktJVF9ET01fSVNfVEVTVF9JTlRFUkZBQ0VfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tf
Q0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfSU5URVJGQUNFKSkKKyNk
ZWZpbmUgV0VCS0lUX0RPTV9URVNUX0lOVEVSRkFDRV9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9J
TlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9JTlRFUkZBQ0Us
IFdlYktpdERPTVRlc3RJbnRlcmZhY2VDbGFzcykpCiAKIHN0cnVjdCBfV2ViS2l0RE9NVGVzdElu
dGVyZmFjZSB7CiAgICAgV2ViS2l0RE9NT2JqZWN0IHBhcmVudF9pbnN0YW5jZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmNwcAppbmRleCBhZTE2MGEzOWU5NGQxNWQ3MjNlY2QzZWEwZDM1NjgyMzJkNzMxZjFjLi4yMWJi
MzQ4NTk0MmFlYzM2NzY5OGE1ZmYwZTk0MGE5YTc0ZmE0Njc1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCkBA
IC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KIAotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfTUVESUFfUVVFUllfTElTVF9MSVNU
RU5FUl9HRVRfUFJJVkFURShvYmopIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdF
QktJVF9UWVBFX0RPTV9URVNUX01FRElBX1FVRVJZX0xJU1RfTElTVEVORVIsIFdlYktpdERPTVRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJpdmF0ZSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNU
X01FRElBX1FVRVJZX0xJU1RfTElTVEVORVJfR0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFO
Q0VfR0VUX1BSSVZBVEUob2JqLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9NRURJQV9RVUVSWV9MSVNU
X0xJU1RFTkVSLCBXZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByaXZhdGUpCiAK
IHR5cGVkZWYgc3RydWN0IF9XZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByaXZh
dGUgewogICAgIFJlZlB0cjxXZWJDb3JlOjpUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4gY29y
ZU9iamVjdDsKQEAgLTU5LDEyICs1OSwxMiBAQCBXZWJDb3JlOjpUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lciogY29yZShXZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogcgogV2Vi
S2l0RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIHdyYXBUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcihXZWJDb3JlOjpUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogY29yZU9iamVjdCkK
IHsKICAgICBBU1NFUlQoY29yZU9iamVjdCk7Ci0gICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9N
RURJQV9RVUVSWV9MSVNUX0xJU1RFTkVSKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9ET01fVEVT
VF9NRURJQV9RVUVSWV9MSVNUX0xJU1RFTkVSLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBO
VUxMKSk7CisgICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9NRURJQV9RVUVSWV9MSVNUX0xJU1RF
TkVSKGdfb2JqZWN0X25ldyhXRUJLSVRfRE9NX1RZUEVfVEVTVF9NRURJQV9RVUVSWV9MSVNUX0xJ
U1RFTkVSLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBOVUxMKSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAogCi1HX0RFRklORV9UWVBFKFdlYktpdERPTVRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyLCB3ZWJraXRfZG9tX3Rlc3RfbWVkaWFfcXVlcnlfbGlzdF9saXN0ZW5lciwgV0VC
S0lUX1RZUEVfRE9NX09CSkVDVCkKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIsIHdlYmtpdF9kb21fdGVzdF9tZWRpYV9xdWVyeV9saXN0X2xpc3RlbmVy
LCBXRUJLSVRfRE9NX1RZUEVfT0JKRUNUKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3Rf
bWVkaWFfcXVlcnlfbGlzdF9saXN0ZW5lcl9maW5hbGl6ZShHT2JqZWN0KiBvYmplY3QpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9X
ZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXIuaAppbmRleCBlNzA0MjVmYzVhMjc3YzM3YTIxMmRmZmI2YTJkMzkwYmI2NDk1ZGYyLi43
N2M3ZjRiYWZmZmMxMWRiZDI0NzgzZjMxMDdlYTBhNzQyNmQ3YWRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKQEAg
LTI5LDEyICsyOSwxMiBAQAogCiBHX0JFR0lOX0RFQ0xTCiAKLSNkZWZpbmUgV0VCS0lUX1RZUEVf
RE9NX1RFU1RfTUVESUFfUVVFUllfTElTVF9MSVNURU5FUiAgICAgICAgICAgICh3ZWJraXRfZG9t
X3Rlc3RfbWVkaWFfcXVlcnlfbGlzdF9saXN0ZW5lcl9nZXRfdHlwZSgpKQotI2RlZmluZSBXRUJL
SVRfRE9NX1RFU1RfTUVESUFfUVVFUllfTElTVF9MSVNURU5FUihvYmopICAgICAgICAgICAgKEdf
VFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9NRURJ
QV9RVUVSWV9MSVNUX0xJU1RFTkVSLCBXZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cikpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9NRURJQV9RVUVSWV9MSVNUX0xJU1RFTkVSX0NM
QVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9U
WVBFX0RPTV9URVNUX01FRElBX1FVRVJZX0xJU1RfTElTVEVORVIsIFdlYktpdERPTVRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyQ2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9NRURJ
QV9RVUVSWV9MSVNUX0xJU1RFTkVSKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNF
X1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9URVNUX01FRElBX1FVRVJZX0xJU1RfTElTVEVO
RVIpKQotI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfTUVESUFfUVVFUllfTElTVF9MSVNURU5F
Ul9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRf
VFlQRV9ET01fVEVTVF9NRURJQV9RVUVSWV9MSVNUX0xJU1RFTkVSKSkKLSNkZWZpbmUgV0VCS0lU
X0RPTV9URVNUX01FRElBX1FVRVJZX0xJU1RfTElTVEVORVJfR0VUX0NMQVNTKG9iaikgIChHX1RZ
UEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfTUVESUFf
UVVFUllfTElTVF9MSVNURU5FUiwgV2ViS2l0RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJD
bGFzcykpCisjZGVmaW5lIFdFQktJVF9ET01fVFlQRV9URVNUX01FRElBX1FVRVJZX0xJU1RfTElT
VEVORVIgICAgICAgICAgICAod2Via2l0X2RvbV90ZXN0X21lZGlhX3F1ZXJ5X2xpc3RfbGlzdGVu
ZXJfZ2V0X3R5cGUoKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX01FRElBX1FVRVJZX0xJU1Rf
TElTVEVORVIob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2Jq
KSwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfTUVESUFfUVVFUllfTElTVF9MSVNURU5FUiwgV2ViS2l0
RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1Rf
TUVESUFfUVVFUllfTElTVF9MSVNURU5FUl9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19D
TEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9NRURJQV9RVUVSWV9MSVNU
X0xJU1RFTkVSLCBXZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNsYXNzKQorI2Rl
ZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfTUVESUFfUVVFUllfTElTVF9MSVNURU5FUihvYmopICAg
ICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfRE9NX1RZUEVf
VEVTVF9NRURJQV9RVUVSWV9MSVNUX0xJU1RFTkVSKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19U
RVNUX01FRElBX1FVRVJZX0xJU1RfTElTVEVORVJfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tf
Q0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfTUVESUFfUVVFUllfTElT
VF9MSVNURU5FUikpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9NRURJQV9RVUVSWV9MSVNUX0xJ
U1RFTkVSX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwg
IFdFQktJVF9ET01fVFlQRV9URVNUX01FRElBX1FVRVJZX0xJU1RfTElTVEVORVIsIFdlYktpdERP
TVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ2xhc3MpKQogCiBzdHJ1Y3QgX1dlYktpdERPTVRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIHsKICAgICBXZWJLaXRET01PYmplY3QgcGFyZW50X2lu
c3RhbmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3Ry
dWN0b3IuY3BwCmluZGV4IDE3ZTExOTBmMjJhMmFmYjA4ZmI1MDc3YmM1NTc5MWJiMjIzZmNkMDMu
LjBjNDM1NmQ3MDBhOGVmNjYwZDE0MDhmNzZiZmJmMDE3ZWU1NzUxNWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RO
YW1lZENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKQEAgLTMyLDcg
KzMyLDcgQEAKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OQU1FRF9DT05TVFJVQ1RPUl9HRVRfUFJJVkFU
RShvYmopIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9UWVBFX0RPTV9U
RVNUX05BTUVEX0NPTlNUUlVDVE9SLCBXZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3RvclByaXZh
dGUpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OQU1FRF9DT05TVFJVQ1RPUl9HRVRfUFJJVkFU
RShvYmopIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9ET01fVFlQRV9U
RVNUX05BTUVEX0NPTlNUUlVDVE9SLCBXZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3RvclByaXZh
dGUpCiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3RvclByaXZh
dGUgewogICAgIFJlZlB0cjxXZWJDb3JlOjpUZXN0TmFtZWRDb25zdHJ1Y3Rvcj4gY29yZU9iamVj
dDsKQEAgLTU5LDEyICs1OSwxMiBAQCBXZWJDb3JlOjpUZXN0TmFtZWRDb25zdHJ1Y3RvciogY29y
ZShXZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3RvciogcmVxdWVzdCkKIFdlYktpdERPTVRlc3RO
YW1lZENvbnN0cnVjdG9yKiB3cmFwVGVzdE5hbWVkQ29uc3RydWN0b3IoV2ViQ29yZTo6VGVzdE5h
bWVkQ29uc3RydWN0b3IqIGNvcmVPYmplY3QpCiB7CiAgICAgQVNTRVJUKGNvcmVPYmplY3QpOwot
ICAgIHJldHVybiBXRUJLSVRfRE9NX1RFU1RfTkFNRURfQ09OU1RSVUNUT1IoZ19vYmplY3RfbmV3
KFdFQktJVF9UWVBFX0RPTV9URVNUX05BTUVEX0NPTlNUUlVDVE9SLCAiY29yZS1vYmplY3QiLCBj
b3JlT2JqZWN0LCBOVUxMKSk7CisgICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9OQU1FRF9DT05T
VFJVQ1RPUihnX29iamVjdF9uZXcoV0VCS0lUX0RPTV9UWVBFX1RFU1RfTkFNRURfQ09OU1RSVUNU
T1IsICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CiAKLUdfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3Is
IHdlYmtpdF9kb21fdGVzdF9uYW1lZF9jb25zdHJ1Y3RvciwgV0VCS0lUX1RZUEVfRE9NX09CSkVD
VCkKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3IsIHdlYmtpdF9k
b21fdGVzdF9uYW1lZF9jb25zdHJ1Y3RvciwgV0VCS0lUX0RPTV9UWVBFX09CSkVDVCkKIAogc3Rh
dGljIHZvaWQgd2Via2l0X2RvbV90ZXN0X25hbWVkX2NvbnN0cnVjdG9yX2ZpbmFsaXplKEdPYmpl
Y3QqIG9iamVjdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROYW1lZENvbnN0cnVjdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0TmFtZWRD
b25zdHJ1Y3Rvci5oCmluZGV4IDIxYmVkZGIzNGMzYzQyMjhhZTM3YThmM2JkMGZhNDg0NjYxMzcw
YTUuLjVlNGU5NmQ4NGU1OTVhMTMyMWNjMjhiMzQ3NjgzMTQ0ZTMzNWQzODcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRl
c3ROYW1lZENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3IuaApAQCAtMjksMTIg
KzI5LDEyIEBACiAKIEdfQkVHSU5fREVDTFMKIAotI2RlZmluZSBXRUJLSVRfVFlQRV9ET01fVEVT
VF9OQU1FRF9DT05TVFJVQ1RPUiAgICAgICAgICAgICh3ZWJraXRfZG9tX3Rlc3RfbmFtZWRfY29u
c3RydWN0b3JfZ2V0X3R5cGUoKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX05BTUVEX0NPTlNU
UlVDVE9SKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiks
IFdFQktJVF9UWVBFX0RPTV9URVNUX05BTUVEX0NPTlNUUlVDVE9SLCBXZWJLaXRET01UZXN0TmFt
ZWRDb25zdHJ1Y3RvcikpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OQU1FRF9DT05TVFJVQ1RP
Ul9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJL
SVRfVFlQRV9ET01fVEVTVF9OQU1FRF9DT05TVFJVQ1RPUiwgV2ViS2l0RE9NVGVzdE5hbWVkQ29u
c3RydWN0b3JDbGFzcykKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX05BTUVEX0NPTlNUUlVD
VE9SKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJ
VF9UWVBFX0RPTV9URVNUX05BTUVEX0NPTlNUUlVDVE9SKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9J
U19URVNUX05BTUVEX0NPTlNUUlVDVE9SX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNT
X1RZUEUoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX05BTUVEX0NPTlNUUlVDVE9SKSkK
LSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX05BTUVEX0NPTlNUUlVDVE9SX0dFVF9DTEFTUyhvYmop
ICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9UWVBFX0RPTV9URVNU
X05BTUVEX0NPTlNUUlVDVE9SLCBXZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3RvckNsYXNzKSkK
KyNkZWZpbmUgV0VCS0lUX0RPTV9UWVBFX1RFU1RfTkFNRURfQ09OU1RSVUNUT1IgICAgICAgICAg
ICAod2Via2l0X2RvbV90ZXN0X25hbWVkX2NvbnN0cnVjdG9yX2dldF90eXBlKCkpCisjZGVmaW5l
IFdFQktJVF9ET01fVEVTVF9OQU1FRF9DT05TVFJVQ1RPUihvYmopICAgICAgICAgICAgKEdfVFlQ
RV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OQU1FRF9D
T05TVFJVQ1RPUiwgV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3IpKQorI2RlZmluZSBXRUJL
SVRfRE9NX1RFU1RfTkFNRURfQ09OU1RSVUNUT1JfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hF
Q0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfTkFNRURfQ09OU1RS
VUNUT1IsIFdlYktpdERPTVRlc3ROYW1lZENvbnN0cnVjdG9yQ2xhc3MpCisjZGVmaW5lIFdFQktJ
VF9ET01fSVNfVEVTVF9OQU1FRF9DT05TVFJVQ1RPUihvYmopICAgICAgICAgKEdfVFlQRV9DSEVD
S19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OQU1FRF9DT05TVFJV
Q1RPUikpCisjZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9OQU1FRF9DT05TVFJVQ1RPUl9DTEFT
UyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfRE9NX1RZ
UEVfVEVTVF9OQU1FRF9DT05TVFJVQ1RPUikpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OQU1F
RF9DT05TVFJVQ1RPUl9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1Mo
KG9iaiksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OQU1FRF9DT05TVFJVQ1RPUiwgV2ViS2l0RE9N
VGVzdE5hbWVkQ29uc3RydWN0b3JDbGFzcykpCiAKIHN0cnVjdCBfV2ViS2l0RE9NVGVzdE5hbWVk
Q29uc3RydWN0b3IgewogICAgIFdlYktpdERPTU9iamVjdCBwYXJlbnRfaW5zdGFuY2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0Tm9kZS5jcHAKaW5kZXggNWYyYWI0N2I0MjcyODNiNTlkZWIw
N2Q2MzY4NzE5ZjUyZmI3ODdjYy4uMjdjNmEwYTVmZjQ5YjVkODM1YzRjMGUxYjQwOTNiNjU1ZGRj
ZDgxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdE5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROb2RlLmNwcApAQCAtNTEsNyArNTEs
NyBAQCBXZWJDb3JlOjpUZXN0Tm9kZSogY29yZShXZWJLaXRET01UZXN0Tm9kZSogcmVxdWVzdCkK
IFdlYktpdERPTVRlc3ROb2RlKiB3cmFwVGVzdE5vZGUoV2ViQ29yZTo6VGVzdE5vZGUqIGNvcmVP
YmplY3QpCiB7CiAgICAgQVNTRVJUKGNvcmVPYmplY3QpOwotICAgIHJldHVybiBXRUJLSVRfRE9N
X1RFU1RfTk9ERShnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfRE9NX1RFU1RfTk9ERSwgImNvcmUt
b2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRfRE9NX1RFU1Rf
Tk9ERShnX29iamVjdF9uZXcoV0VCS0lUX0RPTV9UWVBFX1RFU1RfTk9ERSwgImNvcmUtb2JqZWN0
IiwgY29yZU9iamVjdCwgTlVMTCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKQEAgLTg5
LDcgKzg5LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X2RvbV9ldmVudF90YXJnZXRfaW5pdChXZWJL
aXRET01FdmVudFRhcmdldElmYWNlKiBpZmFjZSkKICAgICBpZmFjZS0+cmVtb3ZlX2V2ZW50X2xp
c3RlbmVyID0gd2Via2l0X2RvbV90ZXN0X25vZGVfcmVtb3ZlX2V2ZW50X2xpc3RlbmVyOwogfQog
Ci1HX0RFRklORV9UWVBFX1dJVEhfQ09ERShXZWJLaXRET01UZXN0Tm9kZSwgd2Via2l0X2RvbV90
ZXN0X25vZGUsIFdFQktJVF9UWVBFX0RPTV9OT0RFLCBHX0lNUExFTUVOVF9JTlRFUkZBQ0UoV0VC
S0lUX1RZUEVfRE9NX0VWRU5UX1RBUkdFVCwgd2Via2l0X2RvbV9ldmVudF90YXJnZXRfaW5pdCkp
CitHX0RFRklORV9UWVBFX1dJVEhfQ09ERShXZWJLaXRET01UZXN0Tm9kZSwgd2Via2l0X2RvbV90
ZXN0X25vZGUsIFdFQktJVF9ET01fVFlQRV9OT0RFLCBHX0lNUExFTUVOVF9JTlRFUkZBQ0UoV0VC
S0lUX0RPTV9UWVBFX0VWRU5UX1RBUkdFVCwgd2Via2l0X2RvbV9ldmVudF90YXJnZXRfaW5pdCkp
CiAKIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9ub2RlX2NsYXNzX2luaXQoV2ViS2l0RE9N
VGVzdE5vZGVDbGFzcyogcmVxdWVzdENsYXNzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5vZGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RO
b2RlLmgKaW5kZXggY2NlNGEzMzZmZDJiNzYyNzhhMWUzNDgwYmExNGY4NDRmZmUzNzcwOC4uZTFh
ZWJjNjlhODFlM2NlMDQ2ZDUzNmQxZTNkZTM0NDFlZTgxZWYzZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5vZGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0Tm9kZS5oCkBAIC0yOSwxMiArMjksMTIgQEAKIAogR19CRUdJTl9ERUNMUwogCi0j
ZGVmaW5lIFdFQktJVF9UWVBFX0RPTV9URVNUX05PREUgICAgICAgICAgICAod2Via2l0X2RvbV90
ZXN0X25vZGVfZ2V0X3R5cGUoKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX05PREUob2JqKSAg
ICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVf
RE9NX1RFU1RfTk9ERSwgV2ViS2l0RE9NVGVzdE5vZGUpKQotI2RlZmluZSBXRUJLSVRfRE9NX1RF
U1RfTk9ERV9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyks
ICBXRUJLSVRfVFlQRV9ET01fVEVTVF9OT0RFLCBXZWJLaXRET01UZXN0Tm9kZUNsYXNzKQotI2Rl
ZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfTk9ERShvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19J
TlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9OT0RFKSkKLSNkZWZpbmUg
V0VCS0lUX0RPTV9JU19URVNUX05PREVfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1Nf
VFlQRSgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfTk9ERSkpCi0jZGVmaW5lIFdFQktJ
VF9ET01fVEVTVF9OT0RFX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFT
Uygob2JqKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX05PREUsIFdlYktpdERPTVRlc3ROb2RlQ2xh
c3MpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OT0RFICAgICAgICAgICAgKHdlYmtp
dF9kb21fdGVzdF9ub2RlX2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OT0RF
KG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJ
VF9ET01fVFlQRV9URVNUX05PREUsIFdlYktpdERPTVRlc3ROb2RlKSkKKyNkZWZpbmUgV0VCS0lU
X0RPTV9URVNUX05PREVfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgo
a2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfTk9ERSwgV2ViS2l0RE9NVGVzdE5vZGVDbGFz
cykKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX05PREUob2JqKSAgICAgICAgIChHX1RZUEVf
Q0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfTk9ERSkpCisj
ZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9OT0RFX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNL
X0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX05PREUpKQorI2RlZmlu
ZSBXRUJLSVRfRE9NX1RFU1RfTk9ERV9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9H
RVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OT0RFLCBXZWJLaXRET01UZXN0
Tm9kZUNsYXNzKSkKIAogc3RydWN0IF9XZWJLaXRET01UZXN0Tm9kZSB7CiAgICAgV2ViS2l0RE9N
Tm9kZSBwYXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Tm9uZGV0ZXJtaW5pc3RpYy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0Tm9uZGV0ZXJtaW5pc3RpYy5jcHAKaW5kZXggNWZlZjI2NWE0YTkxYzVkYTI1YTVmNGE5Yjhm
Yjc0MzA0NmY4MmY5Zi4uM2U3MTE1ZGI1NmIwY2U5NDhiMGQ2YWJhZWM1ZTY2ZDRhNTYxNzMzZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdE5vbmRldGVybWluaXN0aWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROb25kZXRlcm1pbmlzdGlj
LmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX05PTkRFVEVSTUlOSVNU
SUNfR0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUob2JqLCBXRUJL
SVRfVFlQRV9ET01fVEVTVF9OT05ERVRFUk1JTklTVElDLCBXZWJLaXRET01UZXN0Tm9uZGV0ZXJt
aW5pc3RpY1ByaXZhdGUpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OT05ERVRFUk1JTklTVElD
X0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lU
X0RPTV9UWVBFX1RFU1RfTk9OREVURVJNSU5JU1RJQywgV2ViS2l0RE9NVGVzdE5vbmRldGVybWlu
aXN0aWNQcml2YXRlKQogCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0RE9NVGVzdE5vbmRldGVybWlu
aXN0aWNQcml2YXRlIHsKICAgICBSZWZQdHI8V2ViQ29yZTo6VGVzdE5vbmRldGVybWluaXN0aWM+
IGNvcmVPYmplY3Q7CkBAIC01OSwxMiArNTksMTIgQEAgV2ViQ29yZTo6VGVzdE5vbmRldGVybWlu
aXN0aWMqIGNvcmUoV2ViS2l0RE9NVGVzdE5vbmRldGVybWluaXN0aWMqIHJlcXVlc3QpCiBXZWJL
aXRET01UZXN0Tm9uZGV0ZXJtaW5pc3RpYyogd3JhcFRlc3ROb25kZXRlcm1pbmlzdGljKFdlYkNv
cmU6OlRlc3ROb25kZXRlcm1pbmlzdGljKiBjb3JlT2JqZWN0KQogewogICAgIEFTU0VSVChjb3Jl
T2JqZWN0KTsKLSAgICByZXR1cm4gV0VCS0lUX0RPTV9URVNUX05PTkRFVEVSTUlOSVNUSUMoZ19v
YmplY3RfbmV3KFdFQktJVF9UWVBFX0RPTV9URVNUX05PTkRFVEVSTUlOSVNUSUMsICJjb3JlLW9i
amVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKKyAgICByZXR1cm4gV0VCS0lUX0RPTV9URVNUX05P
TkRFVEVSTUlOSVNUSUMoZ19vYmplY3RfbmV3KFdFQktJVF9ET01fVFlQRV9URVNUX05PTkRFVEVS
TUlOSVNUSUMsICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKLUdfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdE5vbmRldGVybWlu
aXN0aWMsIHdlYmtpdF9kb21fdGVzdF9ub25kZXRlcm1pbmlzdGljLCBXRUJLSVRfVFlQRV9ET01f
T0JKRUNUKQorR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0Tm9uZGV0ZXJtaW5pc3RpYywgd2Vi
a2l0X2RvbV90ZXN0X25vbmRldGVybWluaXN0aWMsIFdFQktJVF9ET01fVFlQRV9PQkpFQ1QpCiAK
IGVudW0gewogICAgIFBST1BfMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROb25kZXRlcm1pbmlzdGljLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
Tm9uZGV0ZXJtaW5pc3RpYy5oCmluZGV4IDFjZDE0NzQ5ZDFkODQ4OWFiZjkxNzZmY2JjMDI3ODkw
YjEwNmVmODAuLmU5ZjgyMzEwODk4OGQzMTdjNGZhZWZkY2U5ZTFiMzJlNDcxNmMyN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktp
dERPTVRlc3ROb25kZXRlcm1pbmlzdGljLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5vbmRldGVybWluaXN0aWMuaApAQCAt
MjksMTIgKzI5LDEyIEBACiAKIEdfQkVHSU5fREVDTFMKIAotI2RlZmluZSBXRUJLSVRfVFlQRV9E
T01fVEVTVF9OT05ERVRFUk1JTklTVElDICAgICAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9ub25k
ZXRlcm1pbmlzdGljX2dldF90eXBlKCkpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9OT05ERVRF
Uk1JTklTVElDKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9i
aiksIFdFQktJVF9UWVBFX0RPTV9URVNUX05PTkRFVEVSTUlOSVNUSUMsIFdlYktpdERPTVRlc3RO
b25kZXRlcm1pbmlzdGljKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX05PTkRFVEVSTUlOSVNU
SUNfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VC
S0lUX1RZUEVfRE9NX1RFU1RfTk9OREVURVJNSU5JU1RJQywgV2ViS2l0RE9NVGVzdE5vbmRldGVy
bWluaXN0aWNDbGFzcykKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX05PTkRFVEVSTUlOSVNU
SUMob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lU
X1RZUEVfRE9NX1RFU1RfTk9OREVURVJNSU5JU1RJQykpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNf
VEVTVF9OT05ERVRFUk1JTklTVElDX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZ
UEUoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX05PTkRFVEVSTUlOSVNUSUMpKQotI2Rl
ZmluZSBXRUJLSVRfRE9NX1RFU1RfTk9OREVURVJNSU5JU1RJQ19HRVRfQ0xBU1Mob2JqKSAgKEdf
VFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9OT05E
RVRFUk1JTklTVElDLCBXZWJLaXRET01UZXN0Tm9uZGV0ZXJtaW5pc3RpY0NsYXNzKSkKKyNkZWZp
bmUgV0VCS0lUX0RPTV9UWVBFX1RFU1RfTk9OREVURVJNSU5JU1RJQyAgICAgICAgICAgICh3ZWJr
aXRfZG9tX3Rlc3Rfbm9uZGV0ZXJtaW5pc3RpY19nZXRfdHlwZSgpKQorI2RlZmluZSBXRUJLSVRf
RE9NX1RFU1RfTk9OREVURVJNSU5JU1RJQyhvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19J
TlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OT05ERVRFUk1JTklTVElD
LCBXZWJLaXRET01UZXN0Tm9uZGV0ZXJtaW5pc3RpYykpCisjZGVmaW5lIFdFQktJVF9ET01fVEVT
VF9OT05ERVRFUk1JTklTVElDX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NB
U1QoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX05PTkRFVEVSTUlOSVNUSUMsIFdlYktp
dERPTVRlc3ROb25kZXRlcm1pbmlzdGljQ2xhc3MpCisjZGVmaW5lIFdFQktJVF9ET01fSVNfVEVT
VF9OT05ERVRFUk1JTklTVElDKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZ
UEUoKG9iaiksIFdFQktJVF9ET01fVFlQRV9URVNUX05PTkRFVEVSTUlOSVNUSUMpKQorI2RlZmlu
ZSBXRUJLSVRfRE9NX0lTX1RFU1RfTk9OREVURVJNSU5JU1RJQ19DTEFTUyhrbGFzcykgKEdfVFlQ
RV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9OT05ERVRF
Uk1JTklTVElDKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX05PTkRFVEVSTUlOSVNUSUNfR0VU
X0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX0RP
TV9UWVBFX1RFU1RfTk9OREVURVJNSU5JU1RJQywgV2ViS2l0RE9NVGVzdE5vbmRldGVybWluaXN0
aWNDbGFzcykpCiAKIHN0cnVjdCBfV2ViS2l0RE9NVGVzdE5vbmRldGVybWluaXN0aWMgewogICAg
IFdlYktpdERPTU9iamVjdCBwYXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRl
c3RPYmouY3BwCmluZGV4IGMxMjRiZmY4YjM1MTMxYjUyYjc2YThmYjQ2YTdkMjlkMzVjNTIwM2Uu
LmQ2MzQzZWI5MThhNzBkNTUxZWI2MDRiYmM2N2IxZmMxYjZmNDI0MjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RP
YmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0
L1dlYktpdERPTVRlc3RPYmouY3BwCkBAIC00MSw3ICs0MSw3IEBACiAjaW5jbHVkZSA8d3RmL0dl
dFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotI2RlZmluZSBXRUJLSVRfRE9NX1RF
U1RfT0JKX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwg
V0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLCBXZWJLaXRET01UZXN0T2JqUHJpdmF0ZSkKKyNkZWZp
bmUgV0VCS0lUX0RPTV9URVNUX09CSl9HRVRfUFJJVkFURShvYmopIEdfVFlQRV9JTlNUQU5DRV9H
RVRfUFJJVkFURShvYmosIFdFQktJVF9ET01fVFlQRV9URVNUX09CSiwgV2ViS2l0RE9NVGVzdE9i
alByaXZhdGUpCiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRET01UZXN0T2JqUHJpdmF0ZSB7CiAg
ICAgUmVmUHRyPFdlYkNvcmU6OlRlc3RPYmo+IGNvcmVPYmplY3Q7CkBAIC02OCwxMiArNjgsMTIg
QEAgV2ViQ29yZTo6VGVzdE9iaiogY29yZShXZWJLaXRET01UZXN0T2JqKiByZXF1ZXN0KQogV2Vi
S2l0RE9NVGVzdE9iaiogd3JhcFRlc3RPYmooV2ViQ29yZTo6VGVzdE9iaiogY29yZU9iamVjdCkK
IHsKICAgICBBU1NFUlQoY29yZU9iamVjdCk7Ci0gICAgcmV0dXJuIFdFQktJVF9ET01fVEVTVF9P
QkooZ19vYmplY3RfbmV3KFdFQktJVF9UWVBFX0RPTV9URVNUX09CSiwgImNvcmUtb2JqZWN0Iiwg
Y29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRfRE9NX1RFU1RfT0JKKGdfb2Jq
ZWN0X25ldyhXRUJLSVRfRE9NX1RZUEVfVEVTVF9PQkosICJjb3JlLW9iamVjdCIsIGNvcmVPYmpl
Y3QsIE5VTEwpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLUdfREVGSU5FX1RZUEUo
V2ViS2l0RE9NVGVzdE9iaiwgd2Via2l0X2RvbV90ZXN0X29iaiwgV0VCS0lUX1RZUEVfRE9NX09C
SkVDVCkKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdE9iaiwgd2Via2l0X2RvbV90ZXN0X29i
aiwgV0VCS0lUX0RPTV9UWVBFX09CSkVDVCkKIAogZW51bSB7CiAgICAgUFJPUF8wLApAQCAtNjI1
LDcgKzYyNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfaW5pdChX
ZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAgICJyZWFkLW9u
bHktdGVzdC1vYmotYXR0ciIsCiAgICAgICAgICAgICAiVGVzdE9iajpyZWFkLW9ubHktdGVzdC1v
YmotYXR0ciIsCiAgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTVRlc3RPYmoqIFRlc3RP
Ymo6cmVhZC1vbmx5LXRlc3Qtb2JqLWF0dHIiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9N
X1RFU1RfT0JKLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAg
ICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0
YWxsX3Byb3BlcnR5KApAQCAtNzE1LDcgKzcxNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21f
dGVzdF9vYmpfY2xhc3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykK
ICAgICAgICAgICAgICJ0ZXN0LW9iai1hdHRyIiwKICAgICAgICAgICAgICJUZXN0T2JqOnRlc3Qt
b2JqLWF0dHIiLAogICAgICAgICAgICAgInJlYWQtb25seSBXZWJLaXRET01UZXN0T2JqKiBUZXN0
T2JqOnRlc3Qtb2JqLWF0dHIiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JK
LAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAgICAgV0VC
S0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3Bl
cnR5KApAQCAtNzI1LDcgKzcyNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpf
Y2xhc3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAg
ICAgICJ4bWwtb2JqLWF0dHIiLAogICAgICAgICAgICAgIlRlc3RPYmo6eG1sLW9iai1hdHRyIiwK
ICAgICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NVGVzdE9iaiogVGVzdE9iajp4bWwtb2Jq
LWF0dHIiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAorICAgICAgICAg
ICAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JF
QURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApAQCAtODg1
LDcgKzg4NSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfaW5pdChX
ZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAgICJ3aXRoLXNj
cmlwdC1leGVjdXRpb24tY29udGV4dC1hdHRyaWJ1dGUiLAogICAgICAgICAgICAgIlRlc3RPYmo6
d2l0aC1zY3JpcHQtZXhlY3V0aW9uLWNvbnRleHQtYXR0cmlidXRlIiwKICAgICAgICAgICAgICJy
ZWFkLW9ubHkgV2ViS2l0RE9NVGVzdE9iaiogVGVzdE9iajp3aXRoLXNjcmlwdC1leGVjdXRpb24t
Y29udGV4dC1hdHRyaWJ1dGUiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JK
LAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAgICAgV0VC
S0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3Bl
cnR5KApAQCAtODk1LDcgKzg5NSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpf
Y2xhc3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAg
ICAgICJ3aXRoLXNjcmlwdC1zdGF0ZS1hdHRyaWJ1dGUtcmFpc2VzIiwKICAgICAgICAgICAgICJU
ZXN0T2JqOndpdGgtc2NyaXB0LXN0YXRlLWF0dHJpYnV0ZS1yYWlzZXMiLAogICAgICAgICAgICAg
InJlYWQtb25seSBXZWJLaXRET01UZXN0T2JqKiBUZXN0T2JqOndpdGgtc2NyaXB0LXN0YXRlLWF0
dHJpYnV0ZS1yYWlzZXMiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAor
ICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAgICAgV0VCS0lU
X1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5
KApAQCAtOTA1LDcgKzkwNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xh
c3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAg
ICJ3aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hdHRyaWJ1dGUtcmFpc2VzIiwKICAgICAg
ICAgICAgICJUZXN0T2JqOndpdGgtc2NyaXB0LWV4ZWN1dGlvbi1jb250ZXh0LWF0dHJpYnV0ZS1y
YWlzZXMiLAogICAgICAgICAgICAgInJlYWQtb25seSBXZWJLaXRET01UZXN0T2JqKiBUZXN0T2Jq
OndpdGgtc2NyaXB0LWV4ZWN1dGlvbi1jb250ZXh0LWF0dHJpYnV0ZS1yYWlzZXMiLAotICAgICAg
ICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9U
WVBFX1RFU1RfT0JKLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAg
ICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApAQCAtOTE1LDcgKzkxNSw3IEBAIHN0
YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfaW5pdChXZWJLaXRET01UZXN0T2Jq
Q2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAgICJ3aXRoLXNjcmlwdC1leGVjdXRpb24t
Y29udGV4dC1hbmQtc2NyaXB0LXN0YXRlLWF0dHJpYnV0ZSIsCiAgICAgICAgICAgICAiVGVzdE9i
ajp3aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hbmQtc2NyaXB0LXN0YXRlLWF0dHJpYnV0
ZSIsCiAgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTVRlc3RPYmoqIFRlc3RPYmo6d2l0
aC1zY3JpcHQtZXhlY3V0aW9uLWNvbnRleHQtYW5kLXNjcmlwdC1zdGF0ZS1hdHRyaWJ1dGUiLAot
ICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAorICAgICAgICAgICAgV0VCS0lU
X0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7
CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApAQCAtOTI1LDcgKzkyNSw3
IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfaW5pdChXZWJLaXRET01U
ZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAgICJ3aXRoLXNjcmlwdC1leGVj
dXRpb24tY29udGV4dC1hbmQtc2NyaXB0LXN0YXRlLWF0dHJpYnV0ZS1yYWlzZXMiLAogICAgICAg
ICAgICAgIlRlc3RPYmo6d2l0aC1zY3JpcHQtZXhlY3V0aW9uLWNvbnRleHQtYW5kLXNjcmlwdC1z
dGF0ZS1hdHRyaWJ1dGUtcmFpc2VzIiwKICAgICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9N
VGVzdE9iaiogVGVzdE9iajp3aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hbmQtc2NyaXB0
LXN0YXRlLWF0dHJpYnV0ZS1yYWlzZXMiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RF
U1RfT0JKLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAg
ICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxs
X3Byb3BlcnR5KApAQCAtOTM1LDcgKzkzNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVz
dF9vYmpfY2xhc3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAg
ICAgICAgICAgICJ3aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hbmQtc2NyaXB0LXN0YXRl
LXdpdGgtc3BhY2VzLWF0dHJpYnV0ZSIsCiAgICAgICAgICAgICAiVGVzdE9iajp3aXRoLXNjcmlw
dC1leGVjdXRpb24tY29udGV4dC1hbmQtc2NyaXB0LXN0YXRlLXdpdGgtc3BhY2VzLWF0dHJpYnV0
ZSIsCiAgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTVRlc3RPYmoqIFRlc3RPYmo6d2l0
aC1zY3JpcHQtZXhlY3V0aW9uLWNvbnRleHQtYW5kLXNjcmlwdC1zdGF0ZS13aXRoLXNwYWNlcy1h
dHRyaWJ1dGUiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAorICAgICAg
ICAgICAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFN
X1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApAQCAt
OTQ1LDcgKzk0NSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfaW5p
dChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAgICAgICJ3aXRo
LXNjcmlwdC1hcmd1bWVudHMtYW5kLWNhbGwtc3RhY2stYXR0cmlidXRlIiwKICAgICAgICAgICAg
ICJUZXN0T2JqOndpdGgtc2NyaXB0LWFyZ3VtZW50cy1hbmQtY2FsbC1zdGFjay1hdHRyaWJ1dGUi
LAogICAgICAgICAgICAgInJlYWQtb25seSBXZWJLaXRET01UZXN0T2JqKiBUZXN0T2JqOndpdGgt
c2NyaXB0LWFyZ3VtZW50cy1hbmQtY2FsbC1zdGFjay1hdHRyaWJ1dGUiLAotICAgICAgICAgICAg
V0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1RF
U1RfT0JKLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29i
amVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApAQCAtOTg1LDcgKzk4NSw3IEBAIHN0YXRpYyB2
b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3Mq
IHJlcXVlc3RDbGFzcykKICAgICAgICAgICAgICJhbnktYXR0cmlidXRlIiwKICAgICAgICAgICAg
ICJUZXN0T2JqOmFueS1hdHRyaWJ1dGUiLAogICAgICAgICAgICAgInJlYWQtb25seSBXZWJLaXRE
T01hbnkqIFRlc3RPYmo6YW55LWF0dHJpYnV0ZSIsCi0gICAgICAgICAgICBXRUJLSVRfVFlQRV9E
T01fQU5ZLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX0FOWSwKICAgICAgICAgICAgIFdF
QktJVF9QQVJBTV9SRUFEQUJMRSkpOwogCiAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9w
ZXJ0eSgKQEAgLTk5NSw3ICs5OTUsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2NsYXNzX2luaXQoV2ViS2l0RE9NVGVzdE9iakNsYXNzKiByZXF1ZXN0Q2xhc3MpCiAgICAgICAg
ICAgICAiY29udGVudC1kb2N1bWVudCIsCiAgICAgICAgICAgICAiVGVzdE9iajpjb250ZW50LWRv
Y3VtZW50IiwKICAgICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NRG9jdW1lbnQqIFRlc3RP
Ymo6Y29udGVudC1kb2N1bWVudCIsCi0gICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01fRE9DVU1F
TlQsCisgICAgICAgICAgICBXRUJLSVRfRE9NX1RZUEVfRE9DVU1FTlQsCiAgICAgICAgICAgICBX
RUJLSVRfUEFSQU1fUkVBREFCTEUpKTsKIAogICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJv
cGVydHkoCkBAIC0xMDA1LDcgKzEwMDUsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3Rf
b2JqX2NsYXNzX2luaXQoV2ViS2l0RE9NVGVzdE9iakNsYXNzKiByZXF1ZXN0Q2xhc3MpCiAgICAg
ICAgICAgICAibXV0YWJsZS1wb2ludCIsCiAgICAgICAgICAgICAiVGVzdE9iajptdXRhYmxlLXBv
aW50IiwKICAgICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NU1ZHUG9pbnQqIFRlc3RPYmo6
bXV0YWJsZS1wb2ludCIsCi0gICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01fU1ZHX1BPSU5ULAor
ICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1NWR19QT0lOVCwKICAgICAgICAgICAgIFdFQktJ
VF9QQVJBTV9SRUFEQUJMRSkpOwogCiAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0
eSgKQEAgLTEwMTUsNyArMTAxNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpf
Y2xhc3NfaW5pdChXZWJLaXRET01UZXN0T2JqQ2xhc3MqIHJlcXVlc3RDbGFzcykKICAgICAgICAg
ICAgICJpbW11dGFibGUtcG9pbnQiLAogICAgICAgICAgICAgIlRlc3RPYmo6aW1tdXRhYmxlLXBv
aW50IiwKICAgICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NU1ZHUG9pbnQqIFRlc3RPYmo6
aW1tdXRhYmxlLXBvaW50IiwKLSAgICAgICAgICAgIFdFQktJVF9UWVBFX0RPTV9TVkdfUE9JTlQs
CisgICAgICAgICAgICBXRUJLSVRfRE9NX1RZUEVfU1ZHX1BPSU5ULAogICAgICAgICAgICAgV0VC
S0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3Bl
cnR5KApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCmluZGV4IGM1Y2YyY2E2NTUzM2JmMGJj
MzQ2OWVlZGQ0N2JmMjJjY2E1NWE0YmQuLmJmMjdhZmJmNThjYTNlOTEyMjM1ZjNiNzUzN2M1Mjlj
YmY3ZmYyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmgKQEAgLTI5LDEyICsyOSwx
MiBAQAogCiBHX0JFR0lOX0RFQ0xTCiAKLSNkZWZpbmUgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JK
ICAgICAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3R5cGUoKSkKLSNkZWZpbmUgV0VC
S0lUX0RPTV9URVNUX09CSihvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9D
QVNUKChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9PQkosIFdlYktpdERPTVRlc3RPYmopKQot
I2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfT0JKX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNL
X0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX09CSiwgV2ViS2l0RE9N
VGVzdE9iakNsYXNzKQotI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKG9iaikgICAgICAg
ICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9URVNU
X09CSikpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9PQkpfQ0xBU1Moa2xhc3MpIChHX1RZ
UEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKKSkK
LSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX09CSl9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNU
QU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9PQkosIFdlYktpdERP
TVRlc3RPYmpDbGFzcykpCisjZGVmaW5lIFdFQktJVF9ET01fVFlQRV9URVNUX09CSiAgICAgICAg
ICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF90eXBlKCkpCisjZGVmaW5lIFdFQktJVF9ET01f
VEVTVF9PQkoob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2Jq
KSwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLCBXZWJLaXRET01UZXN0T2JqKSkKKyNkZWZpbmUg
V0VCS0lUX0RPTV9URVNUX09CSl9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19D
QVNUKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9PQkosIFdlYktpdERPTVRlc3RPYmpD
bGFzcykKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX09CSihvYmopICAgICAgICAgKEdfVFlQ
RV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9PQkopKQor
I2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfT0JKX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNL
X0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX09CSikpCisjZGVmaW5l
IFdFQktJVF9ET01fVEVTVF9PQkpfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VU
X0NMQVNTKChvYmopLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT0JKLCBXZWJLaXRET01UZXN0T2Jq
Q2xhc3MpKQogCiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RPYmogewogICAgIFdlYktpdERPTU9iamVj
dCBwYXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKaW5kZXggMGY1NzJmMmUwZjA0YTE4YWI2
ZDkzYzQyMjhmZDUxMjk4MGQyMGEzNi4uMTFhZjM4OWUyOTlhMDk5NDhkNzI0MWE1N2U4MzBhODk3
YTBhNzRmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgPHd0
Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNkZWZpbmUgV0VCS0lUX0RP
TV9URVNUX09WRVJMT0FERURfQ09OU1RSVUNUT1JTX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lO
U1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT1ZFUkxPQURFRF9D
T05TVFJVQ1RPUlMsIFdlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzUHJpdmF0ZSkK
KyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX09WRVJMT0FERURfQ09OU1RSVUNUT1JTX0dFVF9QUklW
QVRFKG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX0RPTV9UWVBF
X1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlMsIFdlYktpdERPTVRlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzUHJpdmF0ZSkKIAogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzUHJpdmF0ZSB7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlRlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzPiBjb3JlT2JqZWN0OwpAQCAtNTksMTIgKzU5LDEyIEBAIFdlYkNvcmU6
OlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzKiBjb3JlKFdlYktpdERPTVRlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzKiByCiBXZWJLaXRET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyogd3Jh
cFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzKFdlYkNvcmU6OlRlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzKiBjb3JlT2JqZWN0KQogewogICAgIEFTU0VSVChjb3JlT2JqZWN0KTsKLSAgICByZXR1
cm4gV0VCS0lUX0RPTV9URVNUX09WRVJMT0FERURfQ09OU1RSVUNUT1JTKGdfb2JqZWN0X25ldyhX
RUJLSVRfVFlQRV9ET01fVEVTVF9PVkVSTE9BREVEX0NPTlNUUlVDVE9SUywgImNvcmUtb2JqZWN0
IiwgY29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRfRE9NX1RFU1RfT1ZFUkxP
QURFRF9DT05TVFJVQ1RPUlMoZ19vYmplY3RfbmV3KFdFQktJVF9ET01fVFlQRV9URVNUX09WRVJM
T0FERURfQ09OU1RSVUNUT1JTLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBOVUxMKSk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi1HX0RFRklORV9UWVBFKFdlYktpdERPTVRlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzLCB3ZWJraXRfZG9tX3Rlc3Rfb3ZlcmxvYWRlZF9jb25zdHJ1
Y3RvcnMsIFdFQktJVF9UWVBFX0RPTV9PQkpFQ1QpCitHX0RFRklORV9UWVBFKFdlYktpdERPTVRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLCB3ZWJraXRfZG9tX3Rlc3Rfb3ZlcmxvYWRlZF9jb25z
dHJ1Y3RvcnMsIFdFQktJVF9ET01fVFlQRV9PQkpFQ1QpCiAKIHN0YXRpYyB2b2lkIHdlYmtpdF9k
b21fdGVzdF9vdmVybG9hZGVkX2NvbnN0cnVjdG9yc19maW5hbGl6ZShHT2JqZWN0KiBvYmplY3Qp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnMuaAppbmRleCBkZDA2ZGY0MmFmYjk0MzY2MjA2ZTk1NDcyN2RjNmU2ZDFmYmYy
NjhlLi4yMjBjZDg3MDYzYjZiZDY2NzkxZmU3YWY3NDBlODMzMDk2MDhlYWI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
LmgKQEAgLTI5LDEyICsyOSwxMiBAQAogCiBHX0JFR0lOX0RFQ0xTCiAKLSNkZWZpbmUgV0VCS0lU
X1RZUEVfRE9NX1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlMgICAgICAgICAgICAod2Via2l0
X2RvbV90ZXN0X292ZXJsb2FkZWRfY29uc3RydWN0b3JzX2dldF90eXBlKCkpCi0jZGVmaW5lIFdF
QktJVF9ET01fVEVTVF9PVkVSTE9BREVEX0NPTlNUUlVDVE9SUyhvYmopICAgICAgICAgICAgKEdf
VFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9PVkVS
TE9BREVEX0NPTlNUUlVDVE9SUywgV2ViS2l0RE9NVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMp
KQotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlNfQ0xBU1Mo
a2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVf
RE9NX1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlMsIFdlYktpdERPTVRlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzQ2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfVEVTVF9PVkVSTE9BREVE
X0NPTlNUUlVDVE9SUyhvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChv
YmopLCBXRUJLSVRfVFlQRV9ET01fVEVTVF9PVkVSTE9BREVEX0NPTlNUUlVDVE9SUykpCi0jZGVm
aW5lIFdFQktJVF9ET01fSVNfVEVTVF9PVkVSTE9BREVEX0NPTlNUUlVDVE9SU19DTEFTUyhrbGFz
cykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fVEVT
VF9PVkVSTE9BREVEX0NPTlNUUlVDVE9SUykpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9PVkVS
TE9BREVEX0NPTlNUUlVDVE9SU19HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRf
Q0xBU1MoKG9iaiksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9PVkVSTE9BREVEX0NPTlNUUlVDVE9S
UywgV2ViS2l0RE9NVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNDbGFzcykpCisjZGVmaW5lIFdF
QktJVF9ET01fVFlQRV9URVNUX09WRVJMT0FERURfQ09OU1RSVUNUT1JTICAgICAgICAgICAgKHdl
YmtpdF9kb21fdGVzdF9vdmVybG9hZGVkX2NvbnN0cnVjdG9yc19nZXRfdHlwZSgpKQorI2RlZmlu
ZSBXRUJLSVRfRE9NX1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlMob2JqKSAgICAgICAgICAg
IChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX0RPTV9UWVBFX1RFU1Rf
T1ZFUkxPQURFRF9DT05TVFJVQ1RPUlMsIFdlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX09WRVJMT0FERURfQ09OU1RSVUNUT1JTX0NM
QVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9E
T01fVFlQRV9URVNUX09WRVJMT0FERURfQ09OU1RSVUNUT1JTLCBXZWJLaXRET01UZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9yc0NsYXNzKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfT1ZFUkxP
QURFRF9DT05TVFJVQ1RPUlMob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQ
RSgob2JqKSwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlMpKQor
I2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlNfQ0xBU1Mo
a2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX0RPTV9UWVBF
X1RFU1RfT1ZFUkxPQURFRF9DT05TVFJVQ1RPUlMpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1Rf
T1ZFUkxPQURFRF9DT05TVFJVQ1RPUlNfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0Vf
R0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX0RPTV9UWVBFX1RFU1RfT1ZFUkxPQURFRF9DT05TVFJV
Q1RPUlMsIFdlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzQ2xhc3MpKQogCiBzdHJ1
Y3QgX1dlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzIHsKICAgICBXZWJLaXRET01P
YmplY3QgcGFyZW50X2luc3RhbmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAppbmRl
eCBmM2FhNjY5MDE5ZmY5YzkzOTkzMWQyYTlhMmM4ODRjMDE5Mzg3MzkxLi43ZWJhZTc4N2YxOTUw
ZWFjYWMxNTFkNTg3YzRiMzA3NjJhYjEwZTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
LmNwcApAQCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX1NFUklBTElaRURfU0NS
SVBUX1ZBTFVFX0lOVEVSRkFDRV9HRVRfUFJJVkFURShvYmopIEdfVFlQRV9JTlNUQU5DRV9HRVRf
UFJJVkFURShvYmosIFdFQktJVF9UWVBFX0RPTV9URVNUX1NFUklBTElaRURfU0NSSVBUX1ZBTFVF
X0lOVEVSRkFDRSwgV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVBy
aXZhdGUpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9J
TlRFUkZBQ0VfR0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUob2Jq
LCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0Us
IFdlYktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcml2YXRlKQogCiB0
eXBlZGVmIHN0cnVjdCBfV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZVByaXZhdGUgewogI2lmIEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0aW9uMikK
QEAgLTY0LDE0ICs2NCwxNCBAQCBXZWJDb3JlOjpUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlKiBjb3JlKFdlYktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VgogV2ViS2l0RE9NVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogd3JhcFRlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2UoV2ViQ29yZTo6VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZSogY29yZU9iamVjdCkKIHsKICAgICBBU1NFUlQoY29yZU9iamVjdCk7Ci0gICAgcmV0dXJuIFdF
QktJVF9ET01fVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0UoZ19vYmplY3Rf
bmV3KFdFQktJVF9UWVBFX0RPTV9URVNUX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFX0lOVEVSRkFD
RSwgImNvcmUtb2JqZWN0IiwgY29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRf
RE9NX1RFU1RfU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUVfSU5URVJGQUNFKGdfb2JqZWN0X25ldyhX
RUJLSVRfRE9NX1RZUEVfVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0UsICJj
b3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIp
CiAKLUdfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZSwgd2Via2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX2ludGVyZmFjZSwg
V0VCS0lUX1RZUEVfRE9NX09CSkVDVCkKK0dfREVGSU5FX1RZUEUoV2ViS2l0RE9NVGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSwgd2Via2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2Ny
aXB0X3ZhbHVlX2ludGVyZmFjZSwgV0VCS0lUX0RPTV9UWVBFX09CSkVDVCkKIAogZW51bSB7CiAg
ICAgUFJPUF8wLApAQCAtMTc0LDcgKzE3NCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVz
dF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfY2xhc3NfaW5pdChXZWJLaXRECiAg
ICAgICAgICAgICAidmFsdWUiLAogICAgICAgICAgICAgIlRlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2U6dmFsdWUiLAogICAgICAgICAgICAgInJlYWQtb25seSBXZWJLaXRET01TZXJp
YWxpemVkU2NyaXB0VmFsdWUqIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6dmFs
dWUiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1NFUklBTElaRURfU0NSSVBUX1ZBTFVF
LAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFLAog
ICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFz
c19pbnN0YWxsX3Byb3BlcnR5KApAQCAtMTg0LDcgKzE4NCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtp
dF9kb21fdGVzdF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfY2xhc3NfaW5pdChX
ZWJLaXRECiAgICAgICAgICAgICAicmVhZG9ubHktdmFsdWUiLAogICAgICAgICAgICAgIlRlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6cmVhZG9ubHktdmFsdWUiLAogICAgICAgICAg
ICAgInJlYWQtb25seSBXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUqIFRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6cmVhZG9ubHktdmFsdWUiLAotICAgICAgICAgICAgV0VC
S0lUX1RZUEVfRE9NX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFLAorICAgICAgICAgICAgV0VCS0lU
X0RPTV9UWVBFX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFLAogICAgICAgICAgICAgV0VCS0lUX1BB
UkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApA
QCAtMTk0LDcgKzE5NCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVk
X3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfY2xhc3NfaW5pdChXZWJLaXRECiAgICAgICAgICAgICAi
Y2FjaGVkLXZhbHVlIiwKICAgICAgICAgICAgICJUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlOmNhY2hlZC12YWx1ZSIsCiAgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTVNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZSogVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTpj
YWNoZWQtdmFsdWUiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1NFUklBTElaRURfU0NS
SVBUX1ZBTFVFLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1NFUklBTElaRURfU0NSSVBU
X1ZBTFVFLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKICAgICBnX29i
amVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KApAQCAtMjA0LDcgKzIwNCw3IEBAIHN0YXRpYyB2
b2lkIHdlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfY2xh
c3NfaW5pdChXZWJLaXRECiAgICAgICAgICAgICAiY2FjaGVkLXJlYWRvbmx5LXZhbHVlIiwKICAg
ICAgICAgICAgICJUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOmNhY2hlZC1yZWFk
b25seS12YWx1ZSIsCiAgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTVNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZSogVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTpjYWNoZWQtcmVh
ZG9ubHktdmFsdWUiLAotICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1NFUklBTElaRURfU0NS
SVBUX1ZBTFVFLAorICAgICAgICAgICAgV0VCS0lUX0RPTV9UWVBFX1NFUklBTElaRURfU0NSSVBU
X1ZBTFVFLAogICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktp
dERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2UuaAppbmRleCBmMGFlOGFhOWU5NTBmNmFiOTZhZGMyODExM2UwMTAz
Mzk1NTY5YmEwLi5kMTJiMGViYWYyMzQ5YTBkNDdjYTQ3MDVhZTUzMzk1N2QyOGZmMGFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCkBAIC0yOSwxMiArMjksMTIgQEAKIAogR19CRUdJTl9E
RUNMUwogCi0jZGVmaW5lIFdFQktJVF9UWVBFX0RPTV9URVNUX1NFUklBTElaRURfU0NSSVBUX1ZB
TFVFX0lOVEVSRkFDRSAgICAgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfc2VyaWFsaXplZF9zY3Jp
cHRfdmFsdWVfaW50ZXJmYWNlX2dldF90eXBlKCkpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9T
RVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0Uob2JqKSAgICAgICAgICAgIChHX1RZUEVf
Q0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfRE9NX1RFU1RfU0VSSUFMSVpF
RF9TQ1JJUFRfVkFMVUVfSU5URVJGQUNFLCBXZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX1NFUklBTElaRURfU0NSSVBU
X1ZBTFVFX0lOVEVSRkFDRV9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNU
KChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9J
TlRFUkZBQ0UsIFdlYktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDbGFz
cykKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNUX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFX0lO
VEVSRkFDRShvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBX
RUJLSVRfVFlQRV9ET01fVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0UpKQot
I2RlZmluZSBXRUJLSVRfRE9NX0lTX1RFU1RfU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUVfSU5URVJG
QUNFX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJ
VF9UWVBFX0RPTV9URVNUX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFX0lOVEVSRkFDRSkpCi0jZGVm
aW5lIFdFQktJVF9ET01fVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0VfR0VU
X0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZ
UEVfRE9NX1RFU1RfU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUVfSU5URVJGQUNFLCBXZWJLaXRET01U
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ2xhc3MpKQorI2RlZmluZSBXRUJLSVRf
RE9NX1RZUEVfVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0UgICAgICAgICAg
ICAod2Via2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX2ludGVyZmFjZV9nZXRf
dHlwZSgpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUVf
SU5URVJGQUNFKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9i
aiksIFdFQktJVF9ET01fVFlQRV9URVNUX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFX0lOVEVSRkFD
RSwgV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSkpCisjZGVmaW5l
IFdFQktJVF9ET01fVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0VfQ0xBU1Mo
a2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX0RPTV9U
WVBFX1RFU1RfU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUVfSU5URVJGQUNFLCBXZWJLaXRET01UZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ2xhc3MpCisjZGVmaW5lIFdFQktJVF9ET01f
SVNfVEVTVF9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0Uob2JqKSAgICAgICAgIChH
X1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfU0VS
SUFMSVpFRF9TQ1JJUFRfVkFMVUVfSU5URVJGQUNFKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19U
RVNUX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFX0lOVEVSRkFDRV9DTEFTUyhrbGFzcykgKEdfVFlQ
RV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9TRVJJQUxJ
WkVEX1NDUklQVF9WQUxVRV9JTlRFUkZBQ0UpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfU0VS
SUFMSVpFRF9TQ1JJUFRfVkFMVUVfSU5URVJGQUNFX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lO
U1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQRV9URVNUX1NFUklBTElaRURf
U0NSSVBUX1ZBTFVFX0lOVEVSRkFDRSwgV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZUNsYXNzKSkKIAogc3RydWN0IF9XZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlIHsKICAgICBXZWJLaXRET01PYmplY3QgcGFyZW50X2luc3RhbmNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdFR5cGVkZWZzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmcy5jcHAKaW5kZXggZjlhYWE2OWY0
Yjg4ZTA3MGJiNjUwMTc4ZGE3MjRiNTkxMmI1MDI4ZS4uYThjY2ZiMTY5N2ZiYTM3OWI3Mjg3ZDYz
ZGI1NTliNmYwN2IxZDM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFR5cGVkZWZzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0VHlwZWRl
ZnMuY3BwCkBAIC0zNiw3ICszNiw3IEBACiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIAotI2RlZmluZSBXRUJLSVRfRE9NX1RFU1RfVFlQRURFRlNfR0VU
X1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUob2JqLCBXRUJLSVRfVFlQ
RV9ET01fVEVTVF9UWVBFREVGUywgV2ViS2l0RE9NVGVzdFR5cGVkZWZzUHJpdmF0ZSkKKyNkZWZp
bmUgV0VCS0lUX0RPTV9URVNUX1RZUEVERUZTX0dFVF9QUklWQVRFKG9iaikgR19UWVBFX0lOU1RB
TkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfVFlQRURFRlMsIFdlYktp
dERPTVRlc3RUeXBlZGVmc1ByaXZhdGUpCiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRET01UZXN0
VHlwZWRlZnNQcml2YXRlIHsKICAgICBSZWZQdHI8V2ViQ29yZTo6VGVzdFR5cGVkZWZzPiBjb3Jl
T2JqZWN0OwpAQCAtNjMsMTIgKzYzLDEyIEBAIFdlYkNvcmU6OlRlc3RUeXBlZGVmcyogY29yZShX
ZWJLaXRET01UZXN0VHlwZWRlZnMqIHJlcXVlc3QpCiBXZWJLaXRET01UZXN0VHlwZWRlZnMqIHdy
YXBUZXN0VHlwZWRlZnMoV2ViQ29yZTo6VGVzdFR5cGVkZWZzKiBjb3JlT2JqZWN0KQogewogICAg
IEFTU0VSVChjb3JlT2JqZWN0KTsKLSAgICByZXR1cm4gV0VCS0lUX0RPTV9URVNUX1RZUEVERUZT
KGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9ET01fVEVTVF9UWVBFREVGUywgImNvcmUtb2JqZWN0
IiwgY29yZU9iamVjdCwgTlVMTCkpOworICAgIHJldHVybiBXRUJLSVRfRE9NX1RFU1RfVFlQRURF
RlMoZ19vYmplY3RfbmV3KFdFQktJVF9ET01fVFlQRV9URVNUX1RZUEVERUZTLCAiY29yZS1vYmpl
Y3QiLCBjb3JlT2JqZWN0LCBOVUxMKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi1H
X0RFRklORV9UWVBFKFdlYktpdERPTVRlc3RUeXBlZGVmcywgd2Via2l0X2RvbV90ZXN0X3R5cGVk
ZWZzLCBXRUJLSVRfVFlQRV9ET01fT0JKRUNUKQorR19ERUZJTkVfVFlQRShXZWJLaXRET01UZXN0
VHlwZWRlZnMsIHdlYmtpdF9kb21fdGVzdF90eXBlZGVmcywgV0VCS0lUX0RPTV9UWVBFX09CSkVD
VCkKIAogZW51bSB7CiAgICAgUFJPUF8wLApAQCAtMjAyLDcgKzIwMiw3IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdF9kb21fdGVzdF90eXBlZGVmc19jbGFzc19pbml0KFdlYktpdERPTVRlc3RUeXBlZGVm
c0NsYXNzKiByZXF1CiAgICAgICAgICAgICAiaW1tdXRhYmxlLXNlcmlhbGl6ZWQtc2NyaXB0LXZh
bHVlIiwKICAgICAgICAgICAgICJUZXN0VHlwZWRlZnM6aW1tdXRhYmxlLXNlcmlhbGl6ZWQtc2Ny
aXB0LXZhbHVlIiwKICAgICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NU2VyaWFsaXplZFNj
cmlwdFZhbHVlKiBUZXN0VHlwZWRlZnM6aW1tdXRhYmxlLXNlcmlhbGl6ZWQtc2NyaXB0LXZhbHVl
IiwKLSAgICAgICAgICAgIFdFQktJVF9UWVBFX0RPTV9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRSwK
KyAgICAgICAgICAgIFdFQktJVF9ET01fVFlQRV9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRSwKICAg
ICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOwogCiAgICAgZ19vYmplY3RfY2xhc3Nf
aW5zdGFsbF9wcm9wZXJ0eSgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmcy5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFR5cGVkZWZzLmgK
aW5kZXggZGE1MzcyYzM1Yzc3OTliNDE3NTU5N2UyZmNlNmU0ZTk2MWJlZTBiYi4uMDg1NGExNDM0
ZTU5NGI5MzQ5N2U2ZTdhMTVlNDQ1OTNjMDZjODBhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFR5cGVkZWZzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdFR5cGVkZWZzLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogCiBHX0JFR0lOX0RFQ0xTCiAK
LSNkZWZpbmUgV0VCS0lUX1RZUEVfRE9NX1RFU1RfVFlQRURFRlMgICAgICAgICAgICAod2Via2l0
X2RvbV90ZXN0X3R5cGVkZWZzX2dldF90eXBlKCkpCi0jZGVmaW5lIFdFQktJVF9ET01fVEVTVF9U
WVBFREVGUyhvYmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmop
LCBXRUJLSVRfVFlQRV9ET01fVEVTVF9UWVBFREVGUywgV2ViS2l0RE9NVGVzdFR5cGVkZWZzKSkK
LSNkZWZpbmUgV0VCS0lUX0RPTV9URVNUX1RZUEVERUZTX0NMQVNTKGtsYXNzKSAgICAoR19UWVBF
X0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX1RZUEVERUZT
LCBXZWJLaXRET01UZXN0VHlwZWRlZnNDbGFzcykKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19URVNU
X1RZUEVERUZTKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiks
IFdFQktJVF9UWVBFX0RPTV9URVNUX1RZUEVERUZTKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9JU19U
RVNUX1RZUEVERUZTX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNz
KSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX1RZUEVERUZTKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9U
RVNUX1RZUEVERUZTX0dFVF9DTEFTUyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygo
b2JqKSwgIFdFQktJVF9UWVBFX0RPTV9URVNUX1RZUEVERUZTLCBXZWJLaXRET01UZXN0VHlwZWRl
ZnNDbGFzcykpCisjZGVmaW5lIFdFQktJVF9ET01fVFlQRV9URVNUX1RZUEVERUZTICAgICAgICAg
ICAgKHdlYmtpdF9kb21fdGVzdF90eXBlZGVmc19nZXRfdHlwZSgpKQorI2RlZmluZSBXRUJLSVRf
RE9NX1RFU1RfVFlQRURFRlMob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0Vf
Q0FTVCgob2JqKSwgV0VCS0lUX0RPTV9UWVBFX1RFU1RfVFlQRURFRlMsIFdlYktpdERPTVRlc3RU
eXBlZGVmcykpCisjZGVmaW5lIFdFQktJVF9ET01fVEVTVF9UWVBFREVGU19DTEFTUyhrbGFzcykg
ICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVT
VF9UWVBFREVGUywgV2ViS2l0RE9NVGVzdFR5cGVkZWZzQ2xhc3MpCisjZGVmaW5lIFdFQktJVF9E
T01fSVNfVEVTVF9UWVBFREVGUyhvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9U
WVBFKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfVEVTVF9UWVBFREVGUykpCisjZGVmaW5lIFdFQktJ
VF9ET01fSVNfVEVTVF9UWVBFREVGU19DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19U
WVBFKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9UWVBFREVGUykpCisjZGVmaW5lIFdF
QktJVF9ET01fVEVTVF9UWVBFREVGU19HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9H
RVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfRE9NX1RZUEVfVEVTVF9UWVBFREVGUywgV2ViS2l0RE9N
VGVzdFR5cGVkZWZzQ2xhc3MpKQogCiBzdHJ1Y3QgX1dlYktpdERPTVRlc3RUeXBlZGVmcyB7CiAg
ICAgV2ViS2l0RE9NT2JqZWN0IHBhcmVudF9pbnN0YW5jZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTWF0dHJpYnV0ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01hdHRyaWJ1dGUuY3BwCmluZGV4IDEzM2ZkN2JiYjdhMTgzZTMwNDk3NmM4ZTQ2NTI0MzkxZTRk
MzY1YmIuLmQ1MjAxNTI1ZjJkZTRkODczNzU4NDAzODUxOTEyYmJhYTc3NzMxZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TWF0dHJpYnV0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NYXR0cmlidXRlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1
ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNkZWZpbmUgV0VC
S0lUX0RPTV9BVFRSSUJVVEVfR0VUX1BSSVZBVEUob2JqKSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BS
SVZBVEUob2JqLCBXRUJLSVRfVFlQRV9ET01fQVRUUklCVVRFLCBXZWJLaXRET01hdHRyaWJ1dGVQ
cml2YXRlKQorI2RlZmluZSBXRUJLSVRfRE9NX0FUVFJJQlVURV9HRVRfUFJJVkFURShvYmopIEdf
VFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9ET01fVFlQRV9BVFRSSUJVVEUs
IFdlYktpdERPTWF0dHJpYnV0ZVByaXZhdGUpCiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRET01h
dHRyaWJ1dGVQcml2YXRlIHsKICAgICBSZWZQdHI8V2ViQ29yZTo6YXR0cmlidXRlPiBjb3JlT2Jq
ZWN0OwpAQCAtNTksMTIgKzU5LDEyIEBAIFdlYkNvcmU6OmF0dHJpYnV0ZSogY29yZShXZWJLaXRE
T01hdHRyaWJ1dGUqIHJlcXVlc3QpCiBXZWJLaXRET01hdHRyaWJ1dGUqIHdyYXBhdHRyaWJ1dGUo
V2ViQ29yZTo6YXR0cmlidXRlKiBjb3JlT2JqZWN0KQogewogICAgIEFTU0VSVChjb3JlT2JqZWN0
KTsKLSAgICByZXR1cm4gV0VCS0lUX0RPTV9BVFRSSUJVVEUoZ19vYmplY3RfbmV3KFdFQktJVF9U
WVBFX0RPTV9BVFRSSUJVVEUsICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKKyAg
ICByZXR1cm4gV0VCS0lUX0RPTV9BVFRSSUJVVEUoZ19vYmplY3RfbmV3KFdFQktJVF9ET01fVFlQ
RV9BVFRSSUJVVEUsICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CiAKLUdfREVGSU5FX1RZUEUoV2ViS2l0RE9NYXR0cmlidXRlLCB3
ZWJraXRfZG9tX2F0dHJpYnV0ZSwgV0VCS0lUX1RZUEVfRE9NX09CSkVDVCkKK0dfREVGSU5FX1RZ
UEUoV2ViS2l0RE9NYXR0cmlidXRlLCB3ZWJraXRfZG9tX2F0dHJpYnV0ZSwgV0VCS0lUX0RPTV9U
WVBFX09CSkVDVCkKIAogZW51bSB7CiAgICAgUFJPUF8wLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NYXR0cmlidXRlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01h
dHRyaWJ1dGUuaAppbmRleCA1Y2VkMDg3NjRlY2IwZDM2OTNlMWUzN2MzNTE0Y2NhYTk0YjI0MjFl
Li40MTBkNjQ3NDdjMDE4OGY1N2ZkNzQ3OTY4ZjAzOGJlNWFiNzE1MGFhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01hdHRy
aWJ1dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVj
dC9XZWJLaXRET01hdHRyaWJ1dGUuaApAQCAtMzEsMTIgKzMxLDEyIEBAIEdfQkVHSU5fREVDTFMK
IAogR19CRUdJTl9ERUNMUwogCi0jZGVmaW5lIFdFQktJVF9UWVBFX0RPTV9BVFRSSUJVVEUgICAg
ICAgICAgICAod2Via2l0X2RvbV9hdHRyaWJ1dGVfZ2V0X3R5cGUoKSkKLSNkZWZpbmUgV0VCS0lU
X0RPTV9BVFRSSUJVVEUob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FT
VCgob2JqKSwgV0VCS0lUX1RZUEVfRE9NX0FUVFJJQlVURSwgV2ViS2l0RE9NYXR0cmlidXRlKSkK
LSNkZWZpbmUgV0VCS0lUX0RPTV9BVFRSSUJVVEVfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hF
Q0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfRE9NX0FUVFJJQlVURSwgV2ViS2l0
RE9NYXR0cmlidXRlQ2xhc3MpCi0jZGVmaW5lIFdFQktJVF9ET01fSVNfQVRUUklCVVRFKG9iaikg
ICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX0RP
TV9BVFRSSUJVVEUpKQotI2RlZmluZSBXRUJLSVRfRE9NX0lTX0FUVFJJQlVURV9DTEFTUyhrbGFz
cykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9ET01fQVRU
UklCVVRFKSkKLSNkZWZpbmUgV0VCS0lUX0RPTV9BVFRSSUJVVEVfR0VUX0NMQVNTKG9iaikgIChH
X1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfRE9NX0FUVFJJQlVU
RSwgV2ViS2l0RE9NYXR0cmlidXRlQ2xhc3MpKQorI2RlZmluZSBXRUJLSVRfRE9NX1RZUEVfQVRU
UklCVVRFICAgICAgICAgICAgKHdlYmtpdF9kb21fYXR0cmlidXRlX2dldF90eXBlKCkpCisjZGVm
aW5lIFdFQktJVF9ET01fQVRUUklCVVRFKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lO
U1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9ET01fVFlQRV9BVFRSSUJVVEUsIFdlYktpdERPTWF0
dHJpYnV0ZSkpCisjZGVmaW5lIFdFQktJVF9ET01fQVRUUklCVVRFX0NMQVNTKGtsYXNzKSAgICAo
R19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9ET01fVFlQRV9BVFRSSUJV
VEUsIFdlYktpdERPTWF0dHJpYnV0ZUNsYXNzKQorI2RlZmluZSBXRUJLSVRfRE9NX0lTX0FUVFJJ
QlVURShvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJL
SVRfRE9NX1RZUEVfQVRUUklCVVRFKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19BVFRSSUJVVEVf
Q0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX0RP
TV9UWVBFX0FUVFJJQlVURSkpCisjZGVmaW5lIFdFQktJVF9ET01fQVRUUklCVVRFX0dFVF9DTEFT
UyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQ
RV9BVFRSSUJVVEUsIFdlYktpdERPTWF0dHJpYnV0ZUNsYXNzKSkKIAogc3RydWN0IF9XZWJLaXRE
T01hdHRyaWJ1dGUgewogICAgIFdlYktpdERPTU9iamVjdCBwYXJlbnRfaW5zdGFuY2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01yZWFkb25seS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01yZWFkb25seS5jcHAKaW5kZXggMTg1ODA4NGVkNDQxZTNlYTQzNDcy
YTFkZGQ0NTQ5MGJkMmExYmQ5Zi4uY2E0MWYxMjNiNjNiY2FjNDdhYzJmNmI4MzhhMWU1MWY5ZmM1
YTU1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NcmVhZG9ubHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTXJlYWRvbmx5LmNwcApAQCAtMzIsNyArMzIs
NyBAQAogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
LSNkZWZpbmUgV0VCS0lUX0RPTV9SRUFET05MWV9HRVRfUFJJVkFURShvYmopIEdfVFlQRV9JTlNU
QU5DRV9HRVRfUFJJVkFURShvYmosIFdFQktJVF9UWVBFX0RPTV9SRUFET05MWSwgV2ViS2l0RE9N
cmVhZG9ubHlQcml2YXRlKQorI2RlZmluZSBXRUJLSVRfRE9NX1JFQURPTkxZX0dFVF9QUklWQVRF
KG9iaikgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKG9iaiwgV0VCS0lUX0RPTV9UWVBFX1JF
QURPTkxZLCBXZWJLaXRET01yZWFkb25seVByaXZhdGUpCiAKIHR5cGVkZWYgc3RydWN0IF9XZWJL
aXRET01yZWFkb25seVByaXZhdGUgewogICAgIFJlZlB0cjxXZWJDb3JlOjpyZWFkb25seT4gY29y
ZU9iamVjdDsKQEAgLTU5LDEyICs1OSwxMiBAQCBXZWJDb3JlOjpyZWFkb25seSogY29yZShXZWJL
aXRET01yZWFkb25seSogcmVxdWVzdCkKIFdlYktpdERPTXJlYWRvbmx5KiB3cmFwcmVhZG9ubHko
V2ViQ29yZTo6cmVhZG9ubHkqIGNvcmVPYmplY3QpCiB7CiAgICAgQVNTRVJUKGNvcmVPYmplY3Qp
OwotICAgIHJldHVybiBXRUJLSVRfRE9NX1JFQURPTkxZKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQ
RV9ET01fUkVBRE9OTFksICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKKyAgICBy
ZXR1cm4gV0VCS0lUX0RPTV9SRUFET05MWShnX29iamVjdF9uZXcoV0VCS0lUX0RPTV9UWVBFX1JF
QURPTkxZLCAiY29yZS1vYmplY3QiLCBjb3JlT2JqZWN0LCBOVUxMKSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAogCi1HX0RFRklORV9UWVBFKFdlYktpdERPTXJlYWRvbmx5LCB3ZWJraXRf
ZG9tX3JlYWRvbmx5LCBXRUJLSVRfVFlQRV9ET01fT0JKRUNUKQorR19ERUZJTkVfVFlQRShXZWJL
aXRET01yZWFkb25seSwgd2Via2l0X2RvbV9yZWFkb25seSwgV0VCS0lUX0RPTV9UWVBFX09CSkVD
VCkKIAogc3RhdGljIHZvaWQgd2Via2l0X2RvbV9yZWFkb25seV9maW5hbGl6ZShHT2JqZWN0KiBv
YmplY3QpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvR09iamVjdC9XZWJLaXRET01yZWFkb25seS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NcmVhZG9ubHkuaAppbmRleCAzZjMyMGZkNjdh
NTQyMDdhZjNiOTJlODcxZTYxYWFlNTc4NGRkNzczLi43NDI4NmI4NzUyZDMzMmRlOTNmMTY5NDg4
YzhjMmIyZDkxZDM0YzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01yZWFkb25seS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTXJlYWRvbmx5LmgKQEAgLTMx
LDEyICszMSwxMiBAQCBHX0JFR0lOX0RFQ0xTCiAKIEdfQkVHSU5fREVDTFMKIAotI2RlZmluZSBX
RUJLSVRfVFlQRV9ET01fUkVBRE9OTFkgICAgICAgICAgICAod2Via2l0X2RvbV9yZWFkb25seV9n
ZXRfdHlwZSgpKQotI2RlZmluZSBXRUJLSVRfRE9NX1JFQURPTkxZKG9iaikgICAgICAgICAgICAo
R19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX0RPTV9SRUFET05M
WSwgV2ViS2l0RE9NcmVhZG9ubHkpKQotI2RlZmluZSBXRUJLSVRfRE9NX1JFQURPTkxZX0NMQVNT
KGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBF
X0RPTV9SRUFET05MWSwgV2ViS2l0RE9NcmVhZG9ubHlDbGFzcykKLSNkZWZpbmUgV0VCS0lUX0RP
TV9JU19SRUFET05MWShvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChv
YmopLCBXRUJLSVRfVFlQRV9ET01fUkVBRE9OTFkpKQotI2RlZmluZSBXRUJLSVRfRE9NX0lTX1JF
QURPTkxZX0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdF
QktJVF9UWVBFX0RPTV9SRUFET05MWSkpCi0jZGVmaW5lIFdFQktJVF9ET01fUkVBRE9OTFlfR0VU
X0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZ
UEVfRE9NX1JFQURPTkxZLCBXZWJLaXRET01yZWFkb25seUNsYXNzKSkKKyNkZWZpbmUgV0VCS0lU
X0RPTV9UWVBFX1JFQURPTkxZICAgICAgICAgICAgKHdlYmtpdF9kb21fcmVhZG9ubHlfZ2V0X3R5
cGUoKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9SRUFET05MWShvYmopICAgICAgICAgICAgKEdfVFlQ
RV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfRE9NX1RZUEVfUkVBRE9OTFksIFdl
YktpdERPTXJlYWRvbmx5KSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9SRUFET05MWV9DTEFTUyhrbGFz
cykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfRE9NX1RZUEVf
UkVBRE9OTFksIFdlYktpdERPTXJlYWRvbmx5Q2xhc3MpCisjZGVmaW5lIFdFQktJVF9ET01fSVNf
UkVBRE9OTFkob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwg
V0VCS0lUX0RPTV9UWVBFX1JFQURPTkxZKSkKKyNkZWZpbmUgV0VCS0lUX0RPTV9JU19SRUFET05M
WV9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRf
RE9NX1RZUEVfUkVBRE9OTFkpKQorI2RlZmluZSBXRUJLSVRfRE9NX1JFQURPTkxZX0dFVF9DTEFT
UyhvYmopICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9ET01fVFlQ
RV9SRUFET05MWSwgV2ViS2l0RE9NcmVhZG9ubHlDbGFzcykpCiAKIHN0cnVjdCBfV2ViS2l0RE9N
cmVhZG9ubHkgewogICAgIFdlYktpdERPTU9iamVjdCBwYXJlbnRfaW5zdGFuY2U7CmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzRjMzFlY2EyM2M2
Njc4YzIzZTE3OTYxOTY1M2RjYTVlNjcwOTM2OC4uZWZjNWMzZTgyNDc2M2VkYTE2NWYyNzQ3ZTAw
YjQyZDc2MTM0NWMyMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE0LTA2LTIzICBUb21hcyBQb3BlbGEgIDx0cG9w
ZWxhQHJlZGhhdC5jb20+CisKKyAgICAgICAgW0dUS10gU29tZSBvZiBET00gYmluZGluZ3MgbWFj
cm9zIGFyZSBtaXNuYW1lZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTIxNTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQXMgd2UgYXJlIHVzaW5nIFdlYktpdERPTSBhcyBhIG5hbWVzcGFjZSB3ZSBzaG91
bGQgdW5pZnkgYWxsIHR5cGUgbWFjcm9zCisgICAgICAgIHRvIGhhdmUgV0VCS0lUX0RPTV9UWVBF
IHByZWZpeCBpbnN0ZWFkIG9mIFdFQktJVF9UWVBFX0RPTS4gQWxzbyBhZGQKKyAgICAgICAgbW9y
ZSBleGNlcHRpb25zIHRvIGRlY2FtZWxpemUgZnVuY3Rpb24gaW4gR09iamVjdCBiaW5kaW5ncyBn
ZW5lcmF0b3IKKyAgICAgICAgdG8gZml4IHRoZSBuYW1lcyBvZiBiaW5kaW5ncyBmb3IgQlIsIEhS
LCBVTCwgT0wsIERMIGFuZCBMSSBlbGVtZW50cy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Mkd0ay9ET01Ob2RlRmlsdGVyVGVzdC5jcHA6CisgICAgICAgICogZ3RrL3dl
YmtpdGRvbS5weToKKyAgICAgICAgKFdlYktpdERPTURvY0dlbmVyYXRvclNlY3Rpb25zLl9kb21f
Y2xhc3NfZGVjYW1lbGl6ZSk6CisgICAgICAgIChXZWJLaXRET01Eb2NHZW5lcmF0b3JTZWN0aW9u
cy53cml0ZV9zZWN0aW9uKToKKwogMjAxNC0wNi0yMSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcu
a2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIERpc2FibGUgZ2FtZXBhZCBmZWF0dXJlIG9uIEVG
TCBhbmQgR1RLIHBvcnRzIGJ5IGRlZmF1bHQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mkd0ay9ET01Ob2RlRmlsdGVyVGVzdC5jcHAgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDJHdGsvRE9NTm9kZUZpbHRlclRlc3QuY3BwCmluZGV4IGYyY2Y1
MzExMDJhYTA3OTE4ZGZmYmZmMzdhZWQyMjQwZWMzMmIyNmYuLjlhOTc4MjdlYWRhMjgxZmYwM2Uw
NDRjNTdmZWRmNzI3M2I3YzE3ZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mkd0ay9ET01Ob2RlRmlsdGVyVGVzdC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyR3RrL0RPTU5vZGVGaWx0ZXJUZXN0LmNwcApAQCAtNDMsNyArNDMs
NyBAQCBzdGF0aWMgdm9pZCB3ZWJraXROb2RlRmlsdGVyRE9NTm9kZUZpbHRlcklmYWNlSW5pdChX
ZWJLaXRET01Ob2RlRmlsdGVySWZhY2UqIGlmYQogICAgIGlmYWNlLT5hY2NlcHRfbm9kZSA9IHdl
YmtpdE5vZGVGaWx0ZXJBY2NlcHROb2RlOwogfQogCi1HX0RFRklORV9UWVBFX1dJVEhfQ09ERShX
ZWJLaXROb2RlRmlsdGVyLCB3ZWJraXRfbm9kZV9maWx0ZXIsIEdfVFlQRV9PQkpFQ1QsIEdfSU1Q
TEVNRU5UX0lOVEVSRkFDRShXRUJLSVRfVFlQRV9ET01fTk9ERV9GSUxURVIsIHdlYmtpdE5vZGVG
aWx0ZXJET01Ob2RlRmlsdGVySWZhY2VJbml0KSkKK0dfREVGSU5FX1RZUEVfV0lUSF9DT0RFKFdl
YktpdE5vZGVGaWx0ZXIsIHdlYmtpdF9ub2RlX2ZpbHRlciwgR19UWVBFX09CSkVDVCwgR19JTVBM
RU1FTlRfSU5URVJGQUNFKFdFQktJVF9ET01fVFlQRV9OT0RFX0ZJTFRFUiwgd2Via2l0Tm9kZUZp
bHRlckRPTU5vZGVGaWx0ZXJJZmFjZUluaXQpKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfbm9kZV9m
aWx0ZXJfaW5pdChXZWJLaXROb2RlRmlsdGVyKikKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay93
ZWJraXRkb20ucHkgYi9Ub29scy9ndGsvd2Via2l0ZG9tLnB5CmluZGV4IGUwNTYxYzI3NzM5MjYz
MDE2MDZiZTZkYmFmMmI3NmJhNmMzZTRjM2QuLmI0NDdlODk2YjUzMWQzMDExMjc1NDYwYjkyOWRm
YTU5MzhkYmM5NTIgMTAwNzU1Ci0tLSBhL1Rvb2xzL2d0ay93ZWJraXRkb20ucHkKKysrIGIvVG9v
bHMvZ3RrL3dlYmtpdGRvbS5weQpAQCAtMTA1LDYgKzEwNSwxMiBAQCBjbGFzcyBXZWJLaXRET01E
b2NHZW5lcmF0b3JTZWN0aW9ucyhXZWJLaXRET01Eb2NHZW5lcmF0b3IpOgogICAgICAgICByZXR2
YWwgPSByZXR2YWwucmVwbGFjZSgnV2ViX0tpdCcsICdXZWJLaXQnKQogICAgICAgICByZXR2YWwg
PSByZXR2YWwucmVwbGFjZSgnWF9QYXRoJywgJ1hQYXRoJykKICAgICAgICAgcmV0dmFsID0gcmV0
dmFsLnJlcGxhY2UoJ0hUTUxJX0ZyYW1lJywgJ0hUTUxfSUZyYW1lJykKKyAgICAgICAgcmV0dmFs
ID0gcmV0dmFsLnJlcGxhY2UoJ0hUTUxCUicsICdIVE1MX0JSJykKKyAgICAgICAgcmV0dmFsID0g
cmV0dmFsLnJlcGxhY2UoJ0hUTUxIUicsICdIVE1MX0hSJykKKyAgICAgICAgcmV0dmFsID0gcmV0
dmFsLnJlcGxhY2UoJ0hUTUxMSScsICdIVE1MX0xJJykKKyAgICAgICAgcmV0dmFsID0gcmV0dmFs
LnJlcGxhY2UoJ0hUTUxEJywgJ0hUTUxfRCcpCisgICAgICAgIHJldHZhbCA9IHJldHZhbC5yZXBs
YWNlKCdIVE1MTycsICdIVE1MX08nKQorICAgICAgICByZXR2YWwgPSByZXR2YWwucmVwbGFjZSgn
SFRNTFUnLCAnSFRNTF9VJykKIAogICAgICAgICByZXR1cm4gcmV0dmFsCiAKQEAgLTEzOSwyMCAr
MTQ1LDE0IEBAIGNsYXNzIFdlYktpdERPTURvY0dlbmVyYXRvclNlY3Rpb25zKFdlYktpdERPTURv
Y0dlbmVyYXRvcik6CiAgICAgICAgICAgICBzZWxmLndyaXRlKCdcbjxTVUJTRUNUSU9OIFN0YW5k
YXJkPlxuJykKICAgICAgICAgICAgIHNlbGYud3JpdGUoJyVzQ2xhc3NcbicgJSBjbGFzc19uYW1l
KQogICAgICAgICAgICAgZG9tX2NsYXNzID0gc2VsZi5fZG9tX2NsYXNzX2RlY2FtZWxpemUoY2xh
c3NfbmFtZSkudXBwZXIoKQotICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX1RZUEVfRE9N
XyVzXG4nICUgZG9tX2NsYXNzKQorICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX0RPTV9U
WVBFXyVzXG4nICUgZG9tX2NsYXNzKQogICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX0RP
TV8lc1xuJyAlIGRvbV9jbGFzcykKLSAgICAgICAgICAgIGlmIGlzX29iamVjdDoKLSAgICAgICAg
ICAgICAgICBzZWxmLndyaXRlKCdXRUJLSVRfSVNfRE9NXyVzXG4nICUgZG9tX2NsYXNzKQotICAg
ICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLndyaXRlKCdXRUJLSVRfRE9NX0lT
XyVzXG4nICUgZG9tX2NsYXNzKQorICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX0RPTV9J
U18lc1xuJyAlIGRvbV9jbGFzcykKICAgICAgICAgICAgIHNlbGYud3JpdGUoJ1dFQktJVF9ET01f
JXNfQ0xBU1NcbicgJSBkb21fY2xhc3MpCiAgICAgICAgICAgICBpZiBpc19pbnRlcmZhY2U6CiAg
ICAgICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX0RPTV8lc19HRVRfSUZBQ0VcbicgJSBk
b21fY2xhc3MpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGlmIGlzX29iamVj
dDoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX0lTX0RPTV8lc19DTEFT
U1xuJyAlIGRvbV9jbGFzcykKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAg
ICAgICBzZWxmLndyaXRlKCdXRUJLSVRfRE9NX0lTXyVzX0NMQVNTXG4nICUgZG9tX2NsYXNzKQor
ICAgICAgICAgICAgICAgIHNlbGYud3JpdGUoJ1dFQktJVF9ET01fSVNfJXNfQ0xBU1NcbicgJSBk
b21fY2xhc3MpCiAgICAgICAgICAgICAgICAgc2VsZi53cml0ZSgnV0VCS0lUX0RPTV8lc19HRVRf
Q0xBU1NcbicgJSBkb21fY2xhc3MpCiAgICAgICAgICAgICBzZWxmLndyaXRlKCdcbjxTVUJTRUNU
SU9OIFByaXZhdGU+XG4nKQogICAgICAgICAgICAgaWYgaXNfb2JqZWN0Ogo=
</data>

          </attachment>
      

    </bug>

</bugzilla>