<?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>13894</bug_id>
          
          <creation_ts>2007-05-27 22:57:36 -0700</creation_ts>
          <short_desc>Remove the legacy class KJS::JSHTMLElement</short_desc>
          <delta_ts>2007-05-28 12:54:23 -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>DOM</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>13779</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>9060</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-05-27 22:57:36 -0700</bug_when>
    <thetext>Now that all the children are autogenerated, we can finally get rid of KJS::JSHTMLElement!!! and have a more proper prototype chain.  Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9062</commentid>
    <comment_count>1</comment_count>
      <attachid>14752</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-05-27 23:09:16 -0700</bug_when>
    <thetext>Created attachment 14752
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>8954</commentid>
    <comment_count>2</comment_count>
      <attachid>14752</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-05-28 10:05:28 -0700</bug_when>
    <thetext>Comment on attachment 14752
patch

+    if (impl()-&gt;hasTagName(aTag))
+        return UString(static_cast&lt;const HTMLAnchorElement*&gt;(impl())-&gt;href());

Shouldn&apos;t this code be in JSHTMLAnchorElement instead?

+static HTMLFormElement* getForm(HTMLElement* element)
+{
+    if (element-&gt;isGenericFormElement())
+        return static_cast&lt;HTMLGenericFormElement*&gt;(element)-&gt;form();
+    if (element-&gt;hasTagName(labelTag))
+        return static_cast&lt;HTMLLabelElement*&gt;(element)-&gt;form();
+    if (element-&gt;hasTagName(objectTag))
+        return static_cast&lt;HTMLObjectElement*&gt;(element)-&gt;form();
+
+    return 0;
+}

This should instead of a virtual function; maybe named formForEventHandlerScope. The base implementation could be in HTMLElement (with most of the form code from JSHTMLElement::pushEventHandlerScope), and then the overriden versions for subclasses to do what getForm does.

+HTMLElement* toHTMLElement(JSValue *val)
+{
+    if (!val || !val-&gt;isObject(&amp;JSHTMLElement::info))
+        return 0;
+    return static_cast&lt;HTMLElement*&gt;(static_cast&lt;JSHTMLElement*&gt;(val)-&gt;impl());
+}

Don&apos;t functions like that get auto-generated for us? Why do we have to write that one? I don&apos;t think it belongs in kjs_html.h/cpp regardless.

+// Runtime object support code for JSHTMLAppletElement, JSHTMLEmbedElement and JSHTMLObjectElement.

Seems like this code needs to move into a new source file.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>8947</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-05-28 12:53:52 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 14752 [edit])
&gt; +    if (impl()-&gt;hasTagName(aTag))
&gt; +        return UString(static_cast&lt;const HTMLAnchorElement*&gt;(impl())-&gt;href());

Made this change.

&gt; +static HTMLFormElement* getForm(HTMLElement* element)
&gt; +{
&gt; +    if (element-&gt;isGenericFormElement())
&gt; +        return static_cast&lt;HTMLGenericFormElement*&gt;(element)-&gt;form();
&gt; +    if (element-&gt;hasTagName(labelTag))
&gt; +        return static_cast&lt;HTMLLabelElement*&gt;(element)-&gt;form();
&gt; +    if (element-&gt;hasTagName(objectTag))
&gt; +        return static_cast&lt;HTMLObjectElement*&gt;(element)-&gt;form();
&gt; +
&gt; +    return 0;
&gt; +}
&gt; 
&gt; This should instead of a virtual function; maybe named
&gt; formForEventHandlerScope. The base implementation could be in HTMLElement (with
&gt; most of the form code from JSHTMLElement::pushEventHandlerScope), and then the
&gt; overriden versions for subclasses to do what getForm does.

I made formForEventHandlerScope in HTMLElement but kept the logic of JSHTMLElement::pushEventHandlerScope in JSHTMLElement for now because it seems like the correct place for it.

&gt; +HTMLElement* toHTMLElement(JSValue *val)
&gt; +{
&gt; +    if (!val || !val-&gt;isObject(&amp;JSHTMLElement::info))
&gt; +        return 0;
&gt; +    return
&gt; static_cast&lt;HTMLElement*&gt;(static_cast&lt;JSHTMLElement*&gt;(val)-&gt;impl());
&gt; +}
&gt; 
&gt; Don&apos;t functions like that get auto-generated for us? Why do we have to write
&gt; that one? I don&apos;t think it belongs in kjs_html.h/cpp regardless.

Done.

&gt; +// Runtime object support code for JSHTMLAppletElement, JSHTMLEmbedElement and
&gt; JSHTMLObjectElement.
&gt; 
&gt; Seems like this code needs to move into a new source file.

I agree, I will move it in another patch though, as this patch isn&apos;t really related.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>8908</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-05-28 12:54:23 -0700</bug_when>
    <thetext>Landed in r21842.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14752</attachid>
            <date>2007-05-27 23:09:16 -0700</date>
            <delta_ts>2007-05-28 10:05:28 -0700</delta_ts>
            <desc>patch</desc>
            <filename>HTMLElement.diff</filename>
            <type>text/plain</type>
            <size>64590</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTgzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsOTUgQEAKKzIwMDctMDUtMjcgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXRjaCBm
b3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4OTQKKyAgICAgICAg
UmVtb3ZlIHRoZSBsZWdhY3kgY2xhc3MgS0pTOjpKU0hUTUxFbGVtZW50CisKKyAgICAgICAgLSBO
b3cgdGhhdCBhbGwgb2YgdGhlIHN1YmNsYXNzZXMgb2YgSlNIVE1MRWxlbWVudCBhcmUKKyAgICAg
ICAgICBhdXRvZ2VuZXJhdGVkIGFuZCBubyBsb25nZXIgcmVseSBvbiB0aGUgbGVnYWN5IHBhcmVu
dCwKKyAgICAgICAgICB3ZSBjYW4gcmVtb3ZlIGl0IGFuZCB1cGRhdGUgYWxsIHRoZSBIVE1MIGlk
bCBmaWxlcyB0bworICAgICAgICAgIHJlZmxlY3Qgc28uCisKKyAgICAgICAgLSBBbHNvIGFkZHMg
SlNIVE1MQmxvY2txdW90ZUVsZW1lbnQncyBKUyBjb25zdHJ1Y3RvciB3aGljaAorICAgICAgICAg
IHdhcyBtaXN0YWtpbmdseSBtaXNzaW5nLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSFRNTEVsZW1lbnRDdXN0
b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTEVsZW1lbnQ6OnRvU3RyaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OmdldEZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1M
RWxlbWVudDo6cHVzaEV2ZW50SGFuZGxlclNjb3BlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0hUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRl
SlNIVE1MV3JhcHBlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVtZW50
QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1M
SW5wdXRFbGVtZW50QmFzZTo6SlNIVE1MSW5wdXRFbGVtZW50QmFzZSk6CisgICAgICAgIChXZWJD
b3JlOjpKU0hUTUxJbnB1dEVsZW1lbnRCYXNlOjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SlNIVE1MSW5wdXRFbGVtZW50QmFzZTo6cHV0KToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0hUTUxJbnB1dEVsZW1lbnRCYXNlLmg6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNIVE1MU2VsZWN0RWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMva2pz
X2h0bWwuY3BwOgorICAgICAgICAoS0pTOjp0b0hUTUxFbGVtZW50KToKKyAgICAgICAgKEtKUzo6
cnVudGltZU9iamVjdEN1c3RvbUdldE93blByb3BlcnR5U2xvdCk6CisgICAgICAgICogYmluZGlu
Z3MvanMva2pzX2h0bWwuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbToKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBodG1sL0hUTUxBcHBsZXRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxBcmVhRWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQlJFbGVtZW50LmlkbDoKKyAgICAgICAgKiBo
dG1sL0hUTUxCYXNlRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQmFzZUZvbnRFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxCbG9ja3F1b3RlRWxlbWVudC5pZGw6CisgICAg
ICAgICogaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEJ1dHRv
bkVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTERMaXN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MRGly
ZWN0b3J5RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MRGl2RWxlbWVudC5pZGw6Cisg
ICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MRW1iZWRF
bGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTEZvbnRFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxGb3Jt
RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MRnJhbWVFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBodG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEhS
RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MSGVhZEVsZW1lbnQuaWRsOgorICAgICAg
ICAqIGh0bWwvSFRNTEhlYWRpbmdFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxIdG1s
RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5pZGw6CisgICAg
ICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJc0lu
ZGV4RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTElFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBodG1sL0hUTUxMYWJlbEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTExlZ2Vu
ZEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBodG1sL0hUTUxNYXBFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxNYXJxdWVl
RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTWVudUVsZW1lbnQuaWRsOgorICAgICAg
ICAqIGh0bWwvSFRNTE1ldGFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxNb2RFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxPTGlzdEVsZW1lbnQuaWRsOgorICAgICAgICAq
IGh0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE9wdEdyb3Vw
RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGw6CisgICAg
ICAgICogaHRtbC9IVE1MUGFyYWdyYXBoRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1M
UGFyYW1FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxQcmVFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxRdW90ZUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTFNj
cmlwdEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsOgor
ICAgICAgICAqIGh0bWwvSFRNTFN0eWxlRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1M
VGFibGVDYXB0aW9uRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGFibGVDZWxsRWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGFibGVDb2xFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBodG1sL0hUTUxUYWJsZUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTFRhYmxl
Um93RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5p
ZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBo
dG1sL0hUTUxUaXRsZUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTFVMaXN0RWxlbWVu
dC5pZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDA3LTA1LTI3ICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUXQgYW5kIEdkayBidWlsZCBmaXgu
CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNp
b24gMjE4MzIpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQpAQCAtMjc4MCw2ICsyNzgwLDcgQEAKIAkJQkM1MTU3OUYwQzAzQkJEMzAw
OEJCMEVFIC8qIERPTUhUTUxNYXJxdWVlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1MTU2RTUwQzAzQjc0MTAwOEJCMEVFIC8qIERPTUhU
TUxNYXJxdWVlRWxlbWVudC5oICovOyB9OwogCQlCQzUxNTdERDBDMDNCQzIyMDA4QkIwRUUgLyog
RE9NSFRNTEZyYW1lRWxlbWVudFByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDNTE1NkYzMEMwM0I3REMwMDhCQjBFRSAvKiBET01IVE1MRnJh
bWVFbGVtZW50UHJpdmF0ZS5oICovOyB9OwogCQlCQzUxNTgwQjBDMDNENDA0MDA4QkIwRUUgLyog
SlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM1MTU4MEEwQzAzRDQwNDAwOEJCMEVFIC8qIEpTSFRNTERvY3VtZW50
Q3VzdG9tLmNwcCAqLzsgfTsKKwkJQkM1ODIzRjUwQzBBOThERjAwNTNGMUI1IC8qIEpTSFRNTEVs
ZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkM1ODIzRjQwQzBBOThERjAwNTNGMUI1IC8qIEpTSFRNTEVsZW1lbnRDdXN0b20uY3Bw
ICovOyB9OwogCQlCQzU4OEFGMDBCRkE2Q0Y5MDBFRTY3OUUgLyogSFRNTFBhcnNlckVycm9yQ29k
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNTg4
QUVGMEJGQTZDRjkwMEVFNjc5RSAvKiBIVE1MUGFyc2VyRXJyb3JDb2Rlcy5oICovOyB9OwogCQlC
QzU4OEI0QjBCRkE3MjNDMDBFRTY3OUUgLyogSFRNTFBhcnNlckVycm9yQ29kZXMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1ODhCNEEwQkZBNzIz
QzAwRUU2NzlFIC8qIEhUTUxQYXJzZXJFcnJvckNvZGVzLmNwcCAqLzsgfTsKIAkJQkM2RDQ0QkUw
QzA3RUZCNjAwNzJEMkM5IC8qIEpTSFRNTEVtYmVkRWxlbWVudEN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzZENDRCRDBDMDdFRkI2MDA3
MkQyQzkgLyogSlNIVE1MRW1iZWRFbGVtZW50Q3VzdG9tLmNwcCAqLzsgfTsKQEAgLTYwMzEsNiAr
NjAzMiw3IEBACiAJCUJDNTE1NkU3MEMwM0I3NDEwMDhCQjBFRSAvKiBET01IVE1MTWFycXVlZUVs
ZW1lbnRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRN
TE1hcnF1ZWVFbGVtZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkM1MTU2RjMwQzAzQjdEQzAwOEJCMEVFIC8qIERPTUhUTUxGcmFtZUVsZW1lbnRQcml2YXRlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01IVE1MRnJhbWVFbGVtZW50UHJp
dmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzUxNTgwQTBDMDNENDA0MDA4
QkIwRUUgLyogSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSFRNTERvY3VtZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQkM1ODIzRjQwQzBBOThERjAwNTNGMUI1IC8qIEpTSFRNTEVsZW1lbnRD
dXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MRWxl
bWVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNTg4QUVGMEJG
QTZDRjkwMEVFNjc5RSAvKiBIVE1MUGFyc2VyRXJyb3JDb2Rlcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSFRNTFBhcnNlckVycm9yQ29kZXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQkM1ODhCNEEwQkZBNzIzQzAwRUU2NzlFIC8qIEhUTUxQYXJzZXJFcnJv
ckNvZGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MUGFy
c2VyRXJyb3JDb2Rlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNUVDMTc2
MEE1MDdFM0UwMDYwMDdGNSAvKiB2aWV3LXNvdXJjZS5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9ICJ2aWV3LXNvdXJjZS5jc3MiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTE4
NCw2ICs5MTg2LDcgQEAKIAkJCQlCQ0Y0MTE3NzBCRkNDNzZBMDAxMjU2MjIgLyogSlNIVE1MQW5j
aG9yRWxlbWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQkM0RURFRjMwQzA4RjNGQjAwN0VERDQ5IC8q
IEpTSFRNTEFwcGxldEVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUJDNTE1ODBBMEMwM0Q0MDQw
MDhCQjBFRSAvKiBKU0hUTUxEb2N1bWVudEN1c3RvbS5jcHAgKi8sCisJCQkJQkM1ODIzRjQwQzBB
OThERjAwNTNGMUI1IC8qIEpTSFRNTEVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUJDNkQ0NEJE
MEMwN0VGQjYwMDcyRDJDOSAvKiBKU0hUTUxFbWJlZEVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJ
CUE4RDA2NUFEMEEyNDQ2Q0QwMDVFNzIwMyAvKiBKU0hUTUxGb3JtRWxlbWVudEN1c3RvbS5jcHAg
Ki8sCiAJCQkJQkNENDFBQkEwQzA2MERFODAwQzBFNDQ2IC8qIEpTSFRNTEZyYW1lU2V0RWxlbWVu
dEN1c3RvbS5jcHAgKi8sCkBAIC0xMjgxOSw2ICsxMjgyMiw3IEBACiAJCQkJQkM2RDQ0QkUwQzA3
RUZCNjAwNzJEMkM5IC8qIEpTSFRNTEVtYmVkRWxlbWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQzZENDRFQzBDMDdGMkVEMDA3MkQyQzkgLyogSlNIVE1MRW1iZWRFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDNEVERUY0MEMwOEYzRkIwMDdFREQ0OSAvKiBKU0hUTUxB
cHBsZXRFbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJDNTgyM0Y1MEMwQTk4
REYwMDUzRjFCNSAvKiBKU0hUTUxFbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRl
eDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxFbGVtZW50Q3VzdG9tLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTEVsZW1lbnRDdXN0b20uY3BwCShyZXZpc2lv
biAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxFbGVtZW50Q3VzdG9tLmNwcAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJKU0hUTUxFbGVtZW50LmgiCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2lu
Y2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKKyNp
bmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MR2VuZXJpY0Zvcm1FbGVt
ZW50LmgiCisjaW5jbHVkZSAiSFRNTExhYmVsRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgorI2luY2x1ZGUgIkhUTUxPYmplY3RFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKwordXNpbmcgbmFtZXNwYWNlIEtKUzsKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisK
K1VTdHJpbmcgSlNIVE1MRWxlbWVudDo6dG9TdHJpbmcoRXhlY1N0YXRlKiBleGVjKSBjb25zdAor
eworICAgIGlmIChpbXBsKCktPmhhc1RhZ05hbWUoYVRhZykpCisgICAgICAgIHJldHVybiBVU3Ry
aW5nKHN0YXRpY19jYXN0PGNvbnN0IEhUTUxBbmNob3JFbGVtZW50Kj4oaW1wbCgpKS0+aHJlZigp
KTsKKyAgICByZXR1cm4gSlNFbGVtZW50Ojp0b1N0cmluZyhleGVjKTsKK30KKworc3RhdGljIEhU
TUxGb3JtRWxlbWVudCogZ2V0Rm9ybShIVE1MRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBpZiAo
ZWxlbWVudC0+aXNHZW5lcmljRm9ybUVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PEhUTUxHZW5lcmljRm9ybUVsZW1lbnQqPihlbGVtZW50KS0+Zm9ybSgpOworICAgIGlmIChl
bGVtZW50LT5oYXNUYWdOYW1lKGxhYmVsVGFnKSkKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PEhUTUxMYWJlbEVsZW1lbnQqPihlbGVtZW50KS0+Zm9ybSgpOworICAgIGlmIChlbGVtZW50LT5o
YXNUYWdOYW1lKG9iamVjdFRhZykpCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MT2Jq
ZWN0RWxlbWVudCo+KGVsZW1lbnQpLT5mb3JtKCk7CisKKyAgICByZXR1cm4gMDsKK30KKwordm9p
ZCBKU0hUTUxFbGVtZW50OjpwdXNoRXZlbnRIYW5kbGVyU2NvcGUoRXhlY1N0YXRlKiBleGVjLCBT
Y29wZUNoYWluJiBzY29wZSkgY29uc3QKK3sKKyAgICBIVE1MRWxlbWVudCogZWxlbWVudCA9IHN0
YXRpY19jYXN0PEhUTUxFbGVtZW50Kj4oaW1wbCgpKTsKKworICAgIC8vIFRoZSBkb2N1bWVudCBp
cyBwdXQgb24gZmlyc3QsIGZhbGwgYmFjayB0byBzZWFyY2hpbmcgaXQgb25seSBhZnRlciB0aGUg
ZWxlbWVudCBhbmQgZm9ybS4KKyAgICBzY29wZS5wdXNoKHN0YXRpY19jYXN0PEpTT2JqZWN0Kj4o
dG9KUyhleGVjLCBlbGVtZW50LT5vd25lckRvY3VtZW50KCkpKSk7CisKKyAgICAvLyBUaGUgZm9y
bSBpcyBuZXh0LCBzZWFyY2hlZCBiZWZvcmUgdGhlIGRvY3VtZW50LCBidXQgYWZ0ZXIgdGhlIGVs
ZW1lbnQgaXRzZWxmLgorCisgICAgLy8gRmlyc3QgdHJ5IHRvIG9idGFpbiB0aGUgZm9ybSBmcm9t
IHRoZSBlbGVtZW50IGl0c2VsZi4gIFdlIGRvIHRoaXMgdG8gZGVhbCB3aXRoCisgICAgLy8gdGhl
IG1hbGZvcm1lZCBjYXNlIHdoZXJlIDxmb3JtPnMgYXJlbid0IGluIG91ciBwYXJlbnQgY2hhaW4g
KGUuZy4sIHdoZW4gdGhleSB3ZXJlIGluc2lkZSAKKyAgICAvLyA8dGFibGU+IG9yIDx0Ym9keT4u
CisgICAgSFRNTEZvcm1FbGVtZW50KiBmb3JtID0gZ2V0Rm9ybShlbGVtZW50KTsKKyAgICBpZiAo
Zm9ybSkKKyAgICAgICAgc2NvcGUucHVzaChzdGF0aWNfY2FzdDxKU09iamVjdCo+KHRvSlMoZXhl
YywgZm9ybSkpKTsKKyAgICBlbHNlIHsKKyAgICAgICAgTm9kZSogZm9ybSA9IGVsZW1lbnQtPnBh
cmVudE5vZGUoKTsKKyAgICAgICAgd2hpbGUgKGZvcm0gJiYgIWZvcm0tPmhhc1RhZ05hbWUoZm9y
bVRhZykpCisgICAgICAgICAgICBmb3JtID0gZm9ybS0+cGFyZW50Tm9kZSgpOworCisgICAgICAg
IGlmIChmb3JtKQorICAgICAgICAgICAgc2NvcGUucHVzaChzdGF0aWNfY2FzdDxKU09iamVjdCo+
KHRvSlMoZXhlYywgZm9ybSkpKTsKKyAgICB9CisKKyAgICAvLyBUaGUgZWxlbWVudCBpcyBvbiB0
b3AsIHNlYXJjaGVkIGZpcnN0LgorICAgIHNjb3BlLnB1c2goc3RhdGljX2Nhc3Q8SlNPYmplY3Qq
Pih0b0pTKGV4ZWMsIGVsZW1lbnQpKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5k
ZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTEVsZW1lbnRXcmFwcGVyRmFj
dG9yeS5jcHAJKHJldmlzaW9uIDIxODMyKQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxF
bGVtZW50V3JhcHBlckZhY3RvcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzksNyArMjM5LDcg
QEAgRk9SX0VBQ0hfVEFHKEFERF9UT19IQVNIX01BUCkKICAgICBDcmVhdGVIVE1MRWxlbWVudFdy
YXBwZXJGdW5jdGlvbiBjcmVhdGVXcmFwcGVyRnVuY3Rpb24gPSBtYXAuZ2V0KGVsZW1lbnQtPmxv
Y2FsTmFtZSgpLmltcGwoKSk7CiAgICAgaWYgKGNyZWF0ZVdyYXBwZXJGdW5jdGlvbikKICAgICAg
ICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXJGdW5jdGlvbihleGVjLCBlbGVtZW50KTsKLSAgICByZXR1
cm4gbmV3IEtKUzo6SlNIVE1MRWxlbWVudChleGVjLCBlbGVtZW50LmdldCgpKTsKKyAgICByZXR1
cm4gbmV3IEpTSFRNTEVsZW1lbnQoZXhlYywgZWxlbWVudC5nZXQoKSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVt
ZW50QmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxJbnB1
dEVsZW1lbnRCYXNlLmNwcAkocmV2aXNpb24gMjE4MjcpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTSFRNTElucHV0RWxlbWVudEJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NSwxMyArNzUs
MTMgQEAgSlNWYWx1ZSogSlNIVE1MSW5wdXRFbGVtZW50QmFzZUZ1bmN0aW9uOgogICAgIHJldHVy
biBqc1VuZGVmaW5lZCgpOwogfQogCi1jb25zdCBDbGFzc0luZm8gSlNIVE1MSW5wdXRFbGVtZW50
QmFzZTo6aW5mbyA9IHsgIkpTSFRNTElucHV0RWxlbWVudEJhc2UiLCAmS0pTOjpKU0hUTUxFbGVt
ZW50OjppbmZvLCAmSlNIVE1MSW5wdXRFbGVtZW50QmFzZVRhYmxlLCAwIH07Citjb25zdCBDbGFz
c0luZm8gSlNIVE1MSW5wdXRFbGVtZW50QmFzZTo6aW5mbyA9IHsgIkpTSFRNTElucHV0RWxlbWVu
dEJhc2UiLCAmSlNIVE1MRWxlbWVudDo6aW5mbywgJkpTSFRNTElucHV0RWxlbWVudEJhc2VUYWJs
ZSwgMCB9OwogCiBKU0hUTUxJbnB1dEVsZW1lbnRCYXNlOjpKU0hUTUxJbnB1dEVsZW1lbnRCYXNl
KEV4ZWNTdGF0ZSogZXhlYywgUGFzc1JlZlB0cjxIVE1MSW5wdXRFbGVtZW50PiBlKQotICAgIDog
S0pTOjpKU0hUTUxFbGVtZW50KGV4ZWMsIGUuZ2V0KCkpCisgICAgOiBKU0hUTUxFbGVtZW50KGV4
ZWMsIGUuZ2V0KCkpCiB7CiAgICAgLy8gV2UgZG9uJ3QgcmVhbGx5IG5lZWQgYSBwcm90b3R5cGUs
IGp1c3QgdXNlIG91ciBwYXJlbnQgY2xhc3MncyBwcm90b3R5cGUKLSAgICBzZXRQcm90b3R5cGUo
S0pTOjpKU0hUTUxFbGVtZW50UHJvdG90eXBlOjpzZWxmKGV4ZWMpKTsKKyAgICBzZXRQcm90b3R5
cGUoSlNIVE1MRWxlbWVudFByb3RvdHlwZTo6c2VsZihleGVjKSk7CiB9CiAKIGJvb2wgSlNIVE1M
SW5wdXRFbGVtZW50QmFzZTo6Z2V0T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCkBAIC05MCw3
ICs5MCw3IEBAIGJvb2wgSlNIVE1MSW5wdXRFbGVtZW50QmFzZTo6Z2V0T3duUHJvcGUKICAgICAK
ICAgICAvLyBpZiB0aGlzIGVsZW1lbnQgZG9lc24ndCBzdXBwb3J0IHNlbGVjdGlvbiwgd2UgaGF2
ZSBub3RoaW5nIHRvIGRvLCB0cnkgb3VyIHBhcmVudAogICAgIGlmICghaW5wdXQuY2FuSGF2ZVNl
bGVjdGlvbigpKQotICAgICAgICByZXR1cm4gS0pTOjpKU0hUTUxFbGVtZW50OjpnZXRPd25Qcm9w
ZXJ0eVNsb3QoZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKKyAgICAgICAgcmV0dXJuIEpTSFRN
TEVsZW1lbnQ6OmdldE93blByb3BlcnR5U2xvdChleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwog
ICAgIAogICAgIC8vIG90aGVyd2lzZSwgZG8gb3VyIG93biBmdW5jdGlvbiBsb29rdXAgb24gb3Vy
IGZ1bmN0aW9uIHRhYmxlCiAgICAgY29uc3QgSGFzaEVudHJ5KiBlbnRyeSA9IExvb2t1cDo6Zmlu
ZEVudHJ5KCZKU0hUTUxJbnB1dEVsZW1lbnRCYXNlRnVuY3Rpb25UYWJsZSwgcHJvcGVydHlOYW1l
KTsKQEAgLTEwMSw3ICsxMDEsNyBAQCBib29sIEpTSFRNTElucHV0RWxlbWVudEJhc2U6OmdldE93
blByb3BlCiAgICAgQVNTRVJUKCFlbnRyeSk7CiAgICAgCiAgICAgLy8gZmluYWxseSB0cnkgdmFs
dWUgbG9va3VwIG9yIHdhbGsgdGhlIHBhcmVudCBjaGFpbgotICAgIHJldHVybiBnZXRTdGF0aWNW
YWx1ZVNsb3Q8SlNIVE1MSW5wdXRFbGVtZW50QmFzZSwgS0pTOjpKU0hUTUxFbGVtZW50PihleGVj
LCAmSlNIVE1MSW5wdXRFbGVtZW50QmFzZVRhYmxlLCB0aGlzLCBwcm9wZXJ0eU5hbWUsIHNsb3Qp
OworICAgIHJldHVybiBnZXRTdGF0aWNWYWx1ZVNsb3Q8SlNIVE1MSW5wdXRFbGVtZW50QmFzZSwg
SlNIVE1MRWxlbWVudD4oZXhlYywgJkpTSFRNTElucHV0RWxlbWVudEJhc2VUYWJsZSwgdGhpcywg
cHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAogSlNWYWx1ZSogSlNIVE1MSW5wdXRFbGVtZW50QmFz
ZTo6Z2V0VmFsdWVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGludCB0b2tlbikgY29uc3QKQEAg
LTEyMCw3ICsxMjAsNyBAQCBKU1ZhbHVlKiBKU0hUTUxJbnB1dEVsZW1lbnRCYXNlOjpnZXRWYWx1
CiAKIHZvaWQgSlNIVE1MSW5wdXRFbGVtZW50QmFzZTo6cHV0KEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlKiB2YWx1ZSwgaW50IGF0dHIpCiB7
Ci0gICAgbG9va3VwUHV0PEpTSFRNTElucHV0RWxlbWVudEJhc2UsIEtKUzo6SlNIVE1MRWxlbWVu
dD4oZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0ciwgJkpTSFRNTElucHV0RWxlbWVudEJh
c2VUYWJsZSwgdGhpcyk7CisgICAgbG9va3VwUHV0PEpTSFRNTElucHV0RWxlbWVudEJhc2UsIEpT
SFRNTEVsZW1lbnQ+KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHIsICZKU0hUTUxJbnB1
dEVsZW1lbnRCYXNlVGFibGUsIHRoaXMpOwogfQogCiB2b2lkIEpTSFRNTElucHV0RWxlbWVudEJh
c2U6OnB1dFZhbHVlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUq
IHZhbHVlLCBpbnQgLyphdHRyKi8pCkBAIC0xMzgsNCArMTM4LDQgQEAgdm9pZCBKU0hUTUxJbnB1
dEVsZW1lbnRCYXNlOjpwdXRWYWx1ZVBybwogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQog
Ci19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
SFRNTElucHV0RWxlbWVudEJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTSFRNTElucHV0RWxlbWVudEJhc2UuaAkocmV2aXNpb24gMjE4MjcpCisrKyBXZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSFRNTElucHV0RWxlbWVudEJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjAs
MTYgKzIwLDE3IEBACiAjaWZuZGVmIEpTSFRNTElucHV0RWxlbWVudEJhc2VfaAogI2RlZmluZSBK
U0hUTUxJbnB1dEVsZW1lbnRCYXNlX2gKIAotI2luY2x1ZGUgImtqc19odG1sLmgiCisjaW5jbHVk
ZSAiSlNIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgImtqc19iaW5kaW5nLmgiCisjaW5jbHVkZSAi
a2pzX2h0bWwuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgSFRNTElucHV0
RWxlbWVudDsKIAotICAgIEtKU19ERUZJTkVfUFJPVE9UWVBFX1dJVEhfUFJPVE9UWVBFKEpTSFRN
TElucHV0RWxlbWVudEJhc2VQcm90b3R5cGUsIEtKUzo6SlNIVE1MRWxlbWVudFByb3RvdHlwZSkK
KyAgICBLSlNfREVGSU5FX1BST1RPVFlQRV9XSVRIX1BST1RPVFlQRShKU0hUTUxJbnB1dEVsZW1l
bnRCYXNlUHJvdG90eXBlLCBKU0hUTUxFbGVtZW50UHJvdG90eXBlKQogCi0gICAgY2xhc3MgSlNI
VE1MSW5wdXRFbGVtZW50QmFzZSA6IHB1YmxpYyBLSlM6OkpTSFRNTEVsZW1lbnQgeworICAgIGNs
YXNzIEpTSFRNTElucHV0RWxlbWVudEJhc2UgOiBwdWJsaWMgSlNIVE1MRWxlbWVudCB7CiAgICAg
cHVibGljOgogICAgICAgICBKU0hUTUxJbnB1dEVsZW1lbnRCYXNlKEtKUzo6RXhlY1N0YXRlKiwg
UGFzc1JlZlB0cjxIVE1MSW5wdXRFbGVtZW50Pik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRP
d25Qcm9wZXJ0eVNsb3QoS0pTOjpFeGVjU3RhdGUqLCBjb25zdCBLSlM6OklkZW50aWZpZXImLCBL
SlM6OlByb3BlcnR5U2xvdCYpOwpAQCAtNDAsNiArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHN0YXRpYyBjb25zdCBLSlM6OkNsYXNzSW5mbyBpbmZvOwogICAgICAgICBlbnVt
IHsgU2V0U2VsZWN0aW9uUmFuZ2UsIFNlbGVjdGlvblN0YXJ0LCBTZWxlY3Rpb25FbmQgfTsKICAg
ICB9OwotfQogCi0jZW5kaWYKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEpT
SFRNTElucHV0RWxlbWVudEJhc2VfaApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxT
ZWxlY3RFbGVtZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTSFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uY3BwCShyZXZpc2lvbiAyMTgyNykKKysrIFdlYkNv
cmUvYmluZGluZ3MvanMvSlNIVE1MU2VsZWN0RWxlbWVudEN1c3RvbS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxTZWxlY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNIVE1MT3B0aW9uRWxlbWVu
dC5oIgorI2luY2x1ZGUgImtqc19odG1sLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApJbmRl
eDogV2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfaHRtbC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9qcy9ranNfaHRtbC5jcHAJKHJldmlzaW9uIDIxODMyKQorKysgV2ViQ29yZS9i
aW5kaW5ncy9qcy9ranNfaHRtbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIsNyArMiw3IEBACiAv
KgogICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgbGlicmFyaWVzCiAgKiAgQ29weXJp
Z2h0IChDKSAxOTk5LTIwMDAgSGFycmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKLSAqICBDb3B5
cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgQXBwbGUgSW5jLgorICogIENvcHlyaWdo
dCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBAIC0yNywxNyArMjcsOSBAQAogI2luY2x1ZGUgIkZy
YW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIK
LSNpbmNsdWRlICJIVE1MQW5jaG9yRWxlbWVudC5oIgotI2luY2x1ZGUgIkhUTUxCb2R5RWxlbWVu
dC5oIgogI2luY2x1ZGUgIkhUTUxEb2N1bWVudC5oIgotI2luY2x1ZGUgIkhUTUxFbWJlZEVsZW1l
bnQuaCIKLSNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKLSNpbmNsdWRlICJIVE1MRnJhbWVF
bGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTElGcmFtZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
SW1hZ2VFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTExhYmVsRWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIkhUTUxPYmplY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SFRNTE9wdGlvbkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCIK
ICNpbmNsdWRlICJKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oIgpAQCAtNjMsODIgKzU1LDYgQEAg
dXNpbmcgbmFtZXNwYWNlIEV2ZW50TmFtZXM7CiBuYW1lc3BhY2UgS0pTIHsKIAogLyoKLUBiZWdp
biBKU0hUTUxFbGVtZW50UHJvdG90eXBlVGFibGUgMAotQGVuZAotKi8KLQotY29uc3QgQ2xhc3NJ
bmZvIEpTSFRNTEVsZW1lbnQ6OmluZm8gPSB7ICJIVE1MRWxlbWVudCIsICZKU0VsZW1lbnQ6Omlu
Zm8sIDAsIDAgfTsKLQotS0pTX0lNUExFTUVOVF9QUk9UT1RZUEVfRlVOQ1RJT04oSlNIVE1MRWxl
bWVudFByb3RvdHlwZUZ1bmN0aW9uKQotS0pTX0lNUExFTUVOVF9QUk9UT1RZUEUoIkhUTUxFbGVt
ZW50IiwgSlNIVE1MRWxlbWVudFByb3RvdHlwZSwgSlNIVE1MRWxlbWVudFByb3RvdHlwZUZ1bmN0
aW9uKQotCi1KU1ZhbHVlKiBKU0hUTUxFbGVtZW50UHJvdG90eXBlRnVuY3Rpb246OmNhbGxBc0Z1
bmN0aW9uKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgY29uc3QgTGlzdCYpCi17Ci0gICAgcmV0dXJu
IDA7Ci19Ci0KLUpTSFRNTEVsZW1lbnQ6OkpTSFRNTEVsZW1lbnQoRXhlY1N0YXRlKiBleGVjLCBI
VE1MRWxlbWVudCogZSkKLSAgICA6IFdlYkNvcmU6OkpTSFRNTEVsZW1lbnQoZXhlYywgZSkKLXsK
LSAgICBzZXRQcm90b3R5cGUoSlNIVE1MRWxlbWVudFByb3RvdHlwZTo6c2VsZihleGVjKSk7Ci19
Ci0KLVVTdHJpbmcgSlNIVE1MRWxlbWVudDo6dG9TdHJpbmcoRXhlY1N0YXRlKiBleGVjKSBjb25z
dAotewotICAgIGlmIChpbXBsKCktPmhhc1RhZ05hbWUoYVRhZykpCi0gICAgICAgIHJldHVybiBV
U3RyaW5nKHN0YXRpY19jYXN0PGNvbnN0IEhUTUxBbmNob3JFbGVtZW50Kj4oaW1wbCgpKS0+aHJl
ZigpKTsKLSAgICByZXR1cm4gSlNFbGVtZW50Ojp0b1N0cmluZyhleGVjKTsKLX0KLQotc3RhdGlj
IEhUTUxGb3JtRWxlbWVudCogZ2V0Rm9ybShIVE1MRWxlbWVudCogZWxlbWVudCkKLXsKLSAgICBp
ZiAoZWxlbWVudC0+aXNHZW5lcmljRm9ybUVsZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PEhUTUxHZW5lcmljRm9ybUVsZW1lbnQqPihlbGVtZW50KS0+Zm9ybSgpOwotICAgIGlm
IChlbGVtZW50LT5oYXNUYWdOYW1lKGxhYmVsVGFnKSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PEhUTUxMYWJlbEVsZW1lbnQqPihlbGVtZW50KS0+Zm9ybSgpOwotICAgIGlmIChlbGVtZW50
LT5oYXNUYWdOYW1lKG9iamVjdFRhZykpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1M
T2JqZWN0RWxlbWVudCo+KGVsZW1lbnQpLT5mb3JtKCk7Ci0KLSAgICByZXR1cm4gMDsKLX0KLQot
dm9pZCBKU0hUTUxFbGVtZW50OjpwdXNoRXZlbnRIYW5kbGVyU2NvcGUoRXhlY1N0YXRlKiBleGVj
LCBTY29wZUNoYWluJiBzY29wZSkgY29uc3QKLXsKLSAgICBIVE1MRWxlbWVudCogZWxlbWVudCA9
IHN0YXRpY19jYXN0PEhUTUxFbGVtZW50Kj4oaW1wbCgpKTsKLQotICAgIC8vIFRoZSBkb2N1bWVu
dCBpcyBwdXQgb24gZmlyc3QsIGZhbGwgYmFjayB0byBzZWFyY2hpbmcgaXQgb25seSBhZnRlciB0
aGUgZWxlbWVudCBhbmQgZm9ybS4KLSAgICBzY29wZS5wdXNoKHN0YXRpY19jYXN0PEpTT2JqZWN0
Kj4odG9KUyhleGVjLCBlbGVtZW50LT5vd25lckRvY3VtZW50KCkpKSk7Ci0KLSAgICAvLyBUaGUg
Zm9ybSBpcyBuZXh0LCBzZWFyY2hlZCBiZWZvcmUgdGhlIGRvY3VtZW50LCBidXQgYWZ0ZXIgdGhl
IGVsZW1lbnQgaXRzZWxmLgotCi0gICAgLy8gRmlyc3QgdHJ5IHRvIG9idGFpbiB0aGUgZm9ybSBm
cm9tIHRoZSBlbGVtZW50IGl0c2VsZi4gIFdlIGRvIHRoaXMgdG8gZGVhbCB3aXRoCi0gICAgLy8g
dGhlIG1hbGZvcm1lZCBjYXNlIHdoZXJlIDxmb3JtPnMgYXJlbid0IGluIG91ciBwYXJlbnQgY2hh
aW4gKGUuZy4sIHdoZW4gdGhleSB3ZXJlIGluc2lkZSAKLSAgICAvLyA8dGFibGU+IG9yIDx0Ym9k
eT4uCi0gICAgSFRNTEZvcm1FbGVtZW50KiBmb3JtID0gZ2V0Rm9ybShlbGVtZW50KTsKLSAgICBp
ZiAoZm9ybSkKLSAgICAgICAgc2NvcGUucHVzaChzdGF0aWNfY2FzdDxKU09iamVjdCo+KHRvSlMo
ZXhlYywgZm9ybSkpKTsKLSAgICBlbHNlIHsKLSAgICAgICAgV2ViQ29yZTo6Tm9kZSogZm9ybSA9
IGVsZW1lbnQtPnBhcmVudE5vZGUoKTsKLSAgICAgICAgd2hpbGUgKGZvcm0gJiYgIWZvcm0tPmhh
c1RhZ05hbWUoZm9ybVRhZykpCi0gICAgICAgICAgICBmb3JtID0gZm9ybS0+cGFyZW50Tm9kZSgp
OwotCi0gICAgICAgIGlmIChmb3JtKQotICAgICAgICAgICAgc2NvcGUucHVzaChzdGF0aWNfY2Fz
dDxKU09iamVjdCo+KHRvSlMoZXhlYywgZm9ybSkpKTsKLSAgICB9Ci0KLSAgICAvLyBUaGUgZWxl
bWVudCBpcyBvbiB0b3AsIHNlYXJjaGVkIGZpcnN0LgotICAgIHNjb3BlLnB1c2goc3RhdGljX2Nh
c3Q8SlNPYmplY3QqPih0b0pTKGV4ZWMsIGVsZW1lbnQpKSk7Ci19Ci0KLUhUTUxFbGVtZW50KiB0
b0hUTUxFbGVtZW50KEpTVmFsdWUgKnZhbCkKLXsKLSAgICBpZiAoIXZhbCB8fCAhdmFsLT5pc09i
amVjdCgmSlNIVE1MRWxlbWVudDo6aW5mbykpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVy
biBzdGF0aWNfY2FzdDxIVE1MRWxlbWVudCo+KHN0YXRpY19jYXN0PEpTSFRNTEVsZW1lbnQqPih2
YWwpLT5pbXBsKCkpOwotfQotCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vKiBTb3VyY2UgZm9yIEpT
SFRNTENvbGxlY3Rpb25Qcm90b3R5cGVUYWJsZS4gVXNlICJtYWtlIGhhc2h0YWJsZXMiIHRvIHJl
Z2VuZXJhdGUuCiBAYmVnaW4gSlNIVE1MQ29sbGVjdGlvblByb3RvdHlwZVRhYmxlIDMKICAgaXRl
bSAgICAgICAgICBKU0hUTUxDb2xsZWN0aW9uOjpJdGVtICAgICAgICAgICAgRG9udERlbGV0ZXxG
dW5jdGlvbiAxCiAgIG5hbWVkSXRlbSAgICAgSlNIVE1MQ29sbGVjdGlvbjo6TmFtZWRJdGVtICAg
ICAgIERvbnREZWxldGV8RnVuY3Rpb24gMQpAQCAtMzQxLDYgKzI1NywxOSBAQCBKU1ZhbHVlKiB0
b0pTKEV4ZWNTdGF0ZSogZXhlYywgSFRNTE9wdGlvCiAgICAgcmV0dXJuIGNhY2hlRE9NT2JqZWN0
PEhUTUxPcHRpb25zQ29sbGVjdGlvbiwgSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24+KGV4ZWMsIGMp
OwogfQogCitIVE1MRWxlbWVudCogdG9IVE1MRWxlbWVudChKU1ZhbHVlICp2YWwpCit7CisgICAg
aWYgKCF2YWwgfHwgIXZhbC0+aXNPYmplY3QoJkpTSFRNTEVsZW1lbnQ6OmluZm8pKQorICAgICAg
ICByZXR1cm4gMDsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTEVsZW1lbnQqPihzdGF0aWNf
Y2FzdDxKU0hUTUxFbGVtZW50Kj4odmFsKS0+aW1wbCgpKTsKK30KKworCisvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCisKKy8vIFJ1bnRpbWUgb2JqZWN0IHN1cHBvcnQgY29kZSBmb3IgSlNIVE1MQXBwbGV0
RWxlbWVudCwgSlNIVE1MRW1iZWRFbGVtZW50IGFuZCBKU0hUTUxPYmplY3RFbGVtZW50LgorCisK
IEpTVmFsdWUqIHJ1bnRpbWVPYmplY3RHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCog
b3JpZ2luYWxPYmplY3QsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgY29uc3QgUHJv
cGVydHlTbG90JiBzbG90KQogewogICAgIEpTSFRNTEVsZW1lbnQqIHRoaXNPYmogPSBzdGF0aWNf
Y2FzdDxKU0hUTUxFbGVtZW50Kj4oc2xvdC5zbG90QmFzZSgpKTsKQEAgLTM1OSw3ICsyODgsNyBA
QCBKU1ZhbHVlKiBydW50aW1lT2JqZWN0UHJvcGVydHlHZXR0ZXIoRXhlCiAgICAgcmV0dXJuIGpz
VW5kZWZpbmVkKCk7CiB9CiAKLWJvb2wgcnVudGltZU9iamVjdEN1c3RvbUdldE93blByb3BlcnR5
U2xvdChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJv
cGVydHlTbG90JiBzbG90LCBKU0hUTUxFbGVtZW50KiBvcmlnaW5hbE9iaiwgSFRNTEVsZW1lbnQq
IHRoaXNJbXApCitib29sIHJ1bnRpbWVPYmplY3RDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3QoRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xv
dCYgc2xvdCwgV2ViQ29yZTo6SlNIVE1MRWxlbWVudCogb3JpZ2luYWxPYmosIEhUTUxFbGVtZW50
KiB0aGlzSW1wKQogewogICAgIEpTVmFsdWUqIHJ1bnRpbWVPYmplY3QgPSBnZXRSdW50aW1lT2Jq
ZWN0KGV4ZWMsIHRoaXNJbXApOwogICAgIGlmIChydW50aW1lT2JqZWN0KSB7CkBAIC00MDYsNCAr
MzM1LDQgQEAgSlNWYWx1ZSogcnVudGltZU9iamVjdENhbGxBc0Z1bmN0aW9uKEV4ZQogICAgIHJl
dHVybiBqc1VuZGVmaW5lZCgpOwogfQogCi19IC8vIG5hbWVzcGFjZQorfSAvLyBuYW1lc3BhY2Ug
S0pTCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL2tqc19odG1sLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfaHRtbC5oCShyZXZpc2lvbiAyMTgzMikKKysrIFdlYkNv
cmUvYmluZGluZ3MvanMva2pzX2h0bWwuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsMjUgKzM3LDYg
QEAgbmFtZXNwYWNlIEtKUyB7CiAKICAgY2xhc3MgSlNBYnN0cmFjdEV2ZW50TGlzdGVuZXI7CiAK
LSAgLy8gVGhlIGluaGVyaXRhbmNlIGNoYWluIGZvciBKU0hUTUxFbGVtZW50IGlzIGEgYml0IGRp
ZmZlcmVudCBmcm9tIG90aGVyCi0gIC8vIGNsYXNzZXMgdGhhdCBhcmUgImhhbGYtYXV0b2dlbmVy
YXRlZCIuIEJlY2F1c2Ugd2UgcmV0dXJuIGRpZmZlcmVudCBDbGFzc0luZm8gc3RydWN0cwotICAv
LyBkZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgZWxlbWVudCwgd2UgaW5oZXJpdCBKU0hUTUxFbGVt
ZW50IGZyb20gV2ViQ29yZTo6SlNIVE1MRWxlbWVudAotICAvLyBpbnN0ZWFkIG9mIHRoZSBvdGhl
ciB3YXkgYXJvdW5kLiAKLSAgS0pTX0RFRklORV9QUk9UT1RZUEVfV0lUSF9QUk9UT1RZUEUoSlNI
VE1MRWxlbWVudFByb3RvdHlwZSwgV2ViQ29yZTo6SlNIVE1MRWxlbWVudFByb3RvdHlwZSkKLQot
ICBjbGFzcyBKU0hUTUxFbGVtZW50IDogcHVibGljIFdlYkNvcmU6OkpTSFRNTEVsZW1lbnQgewot
ICBwdWJsaWM6Ci0gICAgSlNIVE1MRWxlbWVudChFeGVjU3RhdGUqLCBXZWJDb3JlOjpIVE1MRWxl
bWVudCopOwotCi0gICAgdmlydHVhbCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbygpIGNvbnN0
IHsgcmV0dXJuICZpbmZvOyB9Ci0gICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBpbmZvOwotCi0g
ICAgdmlydHVhbCBVU3RyaW5nIHRvU3RyaW5nKEV4ZWNTdGF0ZSopIGNvbnN0OwotICAgIHZpcnR1
YWwgdm9pZCBwdXNoRXZlbnRIYW5kbGVyU2NvcGUoRXhlY1N0YXRlKiwgU2NvcGVDaGFpbiYgc2Nv
cGUpIGNvbnN0OwotICB9OwotCi0gIFdlYkNvcmU6OkhUTUxFbGVtZW50KiB0b0hUTUxFbGVtZW50
KEpTVmFsdWUqKTsgLy8gcmV0dXJucyAwIGlmIHBhc3NlZC1pbiB2YWx1ZSBpcyBub3QgYSBKU0hU
TUxFbGVtZW50IG9iamVjdAotCiAgIEtKU19ERUZJTkVfUFJPVE9UWVBFKEpTSFRNTENvbGxlY3Rp
b25Qcm90b3R5cGUpCiAKICAgY2xhc3MgSlNIVE1MQ29sbGVjdGlvbiA6IHB1YmxpYyBET01PYmpl
Y3QgewpAQCAtOTgsMTMgKzc5LDE1IEBAIG5hbWVzcGFjZSBLSlMgewogICAgIFJlZlB0cjxXZWJD
b3JlOjpEb2N1bWVudD4gbV9kb2M7CiAgIH07CiAKKyAgV2ViQ29yZTo6SFRNTEVsZW1lbnQqIHRv
SFRNTEVsZW1lbnQoSlNWYWx1ZSopOyAvLyByZXR1cm5zIDAgaWYgcGFzc2VkLWluIHZhbHVlIGlz
IG5vdCBhIEpTSFRNTEVsZW1lbnQgb2JqZWN0CisKICAgSlNWYWx1ZSogdG9KUyhFeGVjU3RhdGUq
LCBXZWJDb3JlOjpIVE1MT3B0aW9uc0NvbGxlY3Rpb24qKTsKICAgSlNWYWx1ZSogZ2V0SFRNTENv
bGxlY3Rpb24oRXhlY1N0YXRlKiwgV2ViQ29yZTo6SFRNTENvbGxlY3Rpb24qKTsKICAgSlNWYWx1
ZSogZ2V0QWxsSFRNTENvbGxlY3Rpb24oRXhlY1N0YXRlKiwgV2ViQ29yZTo6SFRNTENvbGxlY3Rp
b24qKTsKIAogICBKU1ZhbHVlKiBydW50aW1lT2JqZWN0R2V0dGVyKEV4ZWNTdGF0ZSosIEpTT2Jq
ZWN0KiwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFByb3BlcnR5U2xvdCYpOwogICBKU1ZhbHVl
KiBydW50aW1lT2JqZWN0UHJvcGVydHlHZXR0ZXIoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBjb25z
dCBJZGVudGlmaWVyJiwgY29uc3QgUHJvcGVydHlTbG90Jik7Ci0gIGJvb2wgcnVudGltZU9iamVj
dEN1c3RvbUdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwg
UHJvcGVydHlTbG90JiwgSlNIVE1MRWxlbWVudCosIFdlYkNvcmU6OkhUTUxFbGVtZW50Kik7Cisg
IGJvb2wgcnVudGltZU9iamVjdEN1c3RvbUdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqLCBj
b25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90JiwgV2ViQ29yZTo6SlNIVE1MRWxlbWVudCos
IFdlYkNvcmU6OkhUTUxFbGVtZW50Kik7CiAgIGJvb2wgcnVudGltZU9iamVjdEN1c3RvbVB1dChF
eGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgSlNWYWx1ZSosIGludCBhdHRyLCBXZWJDb3Jl
OjpIVE1MRWxlbWVudCopOwogICBib29sIHJ1bnRpbWVPYmplY3RJbXBsZW1lbnRzQ2FsbChXZWJD
b3JlOjpIVE1MRWxlbWVudCopOwogICBKU1ZhbHVlKiBydW50aW1lT2JqZWN0Q2FsbEFzRnVuY3Rp
b24oRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBjb25zdCBMaXN0JiwgV2ViQ29yZTo6SFRNTEVsZW1l
bnQqKTsKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bQkocmV2aXNpb24gMjE4MzIpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0zNTIsNiArMzUyLDE2IEBAIHN1YiBHZW5lcmF0
ZUhlYWRlcgogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHZpcnR1YWwgdm9pZCBt
YXJrKCk7XG5cbiIpOwogICAgIH0KIAorICAgICMgQ3VzdG9tIHRvU3RyaW5nIGZ1bmN0aW9uCisg
ICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbVRvU3RyaW5nIn0p
IHsKKyAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB2aXJ0dWFsIEtKUzo6VVN0cmlu
ZyB0b1N0cmluZyhLSlM6OkV4ZWNTdGF0ZSopIGNvbnN0O1xuXG4iKTsKKyAgICB9CisKKyAgICAj
IEN1c3RvbSBwdXNoRXZlbnRIYW5kbGVyU2NvcGUgZnVuY3Rpb24KKyAgICBpZiAoJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tUHVzaEV2ZW50SGFuZGxlclNjb3BlIn0pIHsK
KyAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB2aXJ0dWFsIHZvaWQgcHVzaEV2ZW50
SGFuZGxlclNjb3BlKEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpTY29wZUNoYWluJikgY29uc3Q7XG5c
biIpOworICAgIH0KKwogICAgICMgQ3VzdG9tIGNhbGwgZnVuY3Rpb25zCiAgICAgaWYgKCRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUNhbGwifSkgewogICAgICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAiICAgIHZpcnR1YWwgS0pTOjpKU1ZhbHVlKiBjYWxsQXNGdW5jdGlv
bihLSlM6OkV4ZWNTdGF0ZSosIEtKUzo6SlNPYmplY3QqLCBjb25zdCBLSlM6Okxpc3QmIGFyZ3Mp
O1xuIik7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwJKHJldmlzaW9uIDIxODI3
KQorKysgV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjAsNyArMjAsNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2Fj
eVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnQsIEdlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxBbmNo
b3JFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1
Y3Rvcl0gSFRNTEFuY2hvckVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgICAgIGF0dHJpYnV0
ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBhY2Nlc3NLZXk7CiAgICAgICAg
IGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBjaGFyc2V0Owog
ICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgY29v
cmRzOwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgzMikK
KysrIFdlYkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTIwLDcgKzIwLDcgQEAKIAogbW9kdWxlIGh0bWwgewogCi0gICAgaW50ZXJmYWNlIFtMZWdhY3lQ
YXJlbnQ9S0pTOjpKU0hUTUxFbGVtZW50LCBHZW5lcmF0ZUNvbnN0cnVjdG9yLCBDdXN0b21QdXRG
dW5jdGlvbiwgQ3VzdG9tR2V0T3duUHJvcGVydHlTbG90LCBDdXN0b21DYWxsLCBIYXNPdmVycmlk
aW5nTmFtZUdldHRlcl0gSFRNTEFwcGxldEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgaW50
ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yLCBDdXN0b21QdXRGdW5jdGlvbiwgQ3VzdG9tR2V0
T3duUHJvcGVydHlTbG90LCBDdXN0b21DYWxsLCBIYXNPdmVycmlkaW5nTmFtZUdldHRlcl0gSFRN
TEFwcGxldEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBhbGlnbjsKICAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGFsdDsK
ICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9N
U3RyaW5nIGFyY2hpdmU7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAkocmV2aXNpb24g
MjE4MjcpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjAsNyArMjAsNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0xl
Z2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnQsIEdlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxB
cmVhRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3Ry
dWN0b3JdIEhUTUxBcmVhRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAgICAgYXR0cmlidXRl
IFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGFjY2Vzc0tleTsKICAgICAgICAg
YXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGFsdDsKICAgICAg
ICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGNvb3JkczsK
SW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MQlJFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2h0bWwvSFRNTEJSRWxlbWVudC5pZGwJKHJldmlzaW9uIDIxODI3KQorKysgV2ViQ29yZS9o
dG1sL0hUTUxCUkVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsxOCw3IEBACiAg
Ki8KIAogbW9kdWxlIGh0bWwgewotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNI
VE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTEJSRWxlbWVudCA6IEhUTUxFbGVt
ZW50IHsKKyAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxCUkVsZW1lbnQg
OiBIVE1MRWxlbWVudCB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJp
bmddIERPTVN0cmluZyBjbGVhcjsKICAgICB9OwogfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxC
YXNlRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVu
dC5pZGwJKHJldmlzaW9uIDIxODI3KQorKysgV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDcgKzE5LDcgQEAKIAogbW9kdWxlIGh0bWwgewogCi0g
ICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxFbGVtZW50LCBHZW5lcmF0ZUNv
bnN0cnVjdG9yXSBIVE1MQmFzZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNl
IFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MQmFzZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAg
ICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAg
ICAgICAgIGhyZWY7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmdd
IERPTVN0cmluZyAgICAgICAgICAgIHRhcmdldDsKICAgICB9OwpJbmRleDogV2ViQ29yZS9odG1s
L0hUTUxCYXNlRm9udEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1M
QmFzZUZvbnRFbGVtZW50LmlkbAkocmV2aXNpb24gMjE4MjcpCisrKyBXZWJDb3JlL2h0bWwvSFRN
TEJhc2VGb250RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDcgKzE5LDcgQEAKIAog
bW9kdWxlIGh0bWwgewogCi0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxF
bGVtZW50LCBHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MQmFzZUZvbnRFbGVtZW50IDogSFRNTEVs
ZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTEJhc2VGb250
RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRv
TnVsbFN0cmluZ10gRE9NU3RyaW5nIGNvbG9yOwogICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRO
dWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgZmFjZTsKICNpZiBkZWZpbmVkKExBTkdVQUdFX09C
SkVDVElWRV9DKQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxCbG9ja3F1b3RlRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxCbG9ja3F1b3RlRWxlbWVudC5pZGwJKHJl
dmlzaW9uIDIxODI3KQorKysgV2ViQ29yZS9odG1sL0hUTUxCbG9ja3F1b3RlRWxlbWVudC5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTE5LDcgKzE5LDggQEAKIAogbW9kdWxlIGh0bWwgewogCi0gICAg
aW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxFbGVtZW50XSBIVE1MQmxvY2txdW90
ZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVj
dG9yXSBIVE1MQmxvY2txdW90ZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgICAgIGF0dHJp
YnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBjaXRlOwogICAgIH07CisK
IH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysrIFdl
YkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xOSw3ICsx
OSw3IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50
PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTEJvZHlFbGVtZW50
IDogSFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRN
TEJvZHlFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRO
dWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgYUxpbms7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29u
dmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBiYWNrZ3JvdW5kOwogICAgICAgICBhdHRy
aWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgYmdDb2xvcjsKSW5kZXg6
IFdlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAkocmV2aXNpb24gMjE4MjcpCisrKyBXZWJDb3Jl
L2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3
IEBACiAKIG1vZHVsZSBodG1sIHsKIAotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6
SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTEJ1dHRvbkVsZW1lbnQgOiBI
VE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MQnV0
dG9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBI
VE1MRm9ybUVsZW1lbnQgICAgICBmb3JtOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIFtD
b252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgICAgICAgYWNjZXNzS2V5Owog
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIGJvb2xlYW4gICAgICAgICAgICAgIGRpc2FibGVk
OwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysr
IFdlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1
LDcgKzI1LDcgQEAKIAogbW9kdWxlIGh0bWwgewogCi0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJl
bnQ9S0pTOjpKU0hUTUxFbGVtZW50LCBHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MQ2FudmFzRWxl
bWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3RydWN0b3Jd
IEhUTUxDYW52YXNFbGVtZW50IDogSFRNTEVsZW1lbnQgewogCiAgICAgICAgIGF0dHJpYnV0ZSBs
b25nIHdpZHRoOwogICAgICAgICBhdHRyaWJ1dGUgbG9uZyBoZWlnaHQ7CkluZGV4OiBXZWJDb3Jl
L2h0bWwvSFRNTERMaXN0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hU
TUxETGlzdEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysrIFdlYkNvcmUvaHRtbC9IVE1M
RExpc3RFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTksNyArMTksNyBAQAogCiBtb2R1
bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1l
bnQsIEdlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxETGlzdEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7
CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MRExpc3RFbGVtZW50IDog
SFRNTEVsZW1lbnQgewogICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBjb21wYWN0OwogICAgIH07
CiAKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRGlyZWN0b3J5RWxlbWVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9odG1sL0hUTUxEaXJlY3RvcnlFbGVtZW50LmlkbAkocmV2aXNpb24gMjE4
MjcpCisrKyBXZWJDb3JlL2h0bWwvSFRNTERpcmVjdG9yeUVsZW1lbnQuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0xOSw3ICsxOSw3IEBACiAKIG1vZHVsZSBodG1sIHsKIAotICAgIGludGVyZmFjZSBb
TGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRN
TERpcmVjdG9yeUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0
ZUNvbnN0cnVjdG9yXSBIVE1MRGlyZWN0b3J5RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAg
ICAgYXR0cmlidXRlIGJvb2xlYW4gY29tcGFjdDsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL2h0
bWwvSFRNTERpdkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MRGl2
RWxlbWVudC5pZGwJKHJldmlzaW9uIDIxODI3KQorKysgV2ViQ29yZS9odG1sL0hUTUxEaXZFbGVt
ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTksNyArMTksNyBAQAogCiBtb2R1bGUgaHRtbCB7
CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnQsIEdlbmVy
YXRlQ29uc3RydWN0b3JdIEhUTUxEaXZFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgIGludGVy
ZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTERpdkVsZW1lbnQgOiBIVE1MRWxlbWVudCB7
CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBh
bGlnbjsKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwJKHJldmlzaW9uIDIxODI3KQor
KysgV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjAsNyAr
MjAsNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3Ry
dWN0b3JdIEhUTUxFbGVtZW50IDogRWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNv
bnN0cnVjdG9yLCBDdXN0b21Ub1N0cmluZywgQ3VzdG9tUHVzaEV2ZW50SGFuZGxlclNjb3BlXSBI
VE1MRWxlbWVudCA6IEVsZW1lbnQgewogICAgICAgICAgICAgICAgICAvLyBpaHQuY29tIHJlbGll
cyBvbiBpZCByZXR1cm5pbmcgdGhlIGVtcHR5IHN0cmluZyB3aGVuIG5vIGlkIGlzIHByZXNlbnQu
IAogICAgICAgICAgICAgICAgICAvLyBPdGhlciBicm93c2VycyBkbyB0aGlzIGFzIHdlbGwuIFNv
IHdlIGRvbid0IGNvbnZlcnQgbnVsbCB0byBKUyBudWxsLgogICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgaWQ7CkluZGV4OiBXZWJD
b3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1s
L0hUTUxFbWJlZEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgzMikKKysrIFdlYkNvcmUvaHRtbC9I
VE1MRW1iZWRFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAsNyBAQAogCiBt
b2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVs
ZW1lbnQsIEdlbmVyYXRlQ29uc3RydWN0b3IsIEN1c3RvbVB1dEZ1bmN0aW9uLCBDdXN0b21HZXRP
d25Qcm9wZXJ0eVNsb3QsIEN1c3RvbUNhbGwsIEhhc092ZXJyaWRpbmdOYW1lR2V0dGVyXSBIVE1M
RW1iZWRFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25z
dHJ1Y3RvciwgQ3VzdG9tUHV0RnVuY3Rpb24sIEN1c3RvbUdldE93blByb3BlcnR5U2xvdCwgQ3Vz
dG9tQ2FsbCwgSGFzT3ZlcnJpZGluZ05hbWVHZXR0ZXJdIEhUTUxFbWJlZEVsZW1lbnQgOiBIVE1M
RWxlbWVudCB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxT
dHJpbmddIERPTVN0cmluZyBhbGlnbjsKICNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQp
CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERP
TVN0cmluZyBoZWlnaHQ7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsCShy
ZXZpc2lvbiAyMTgyNykKKysrIFdlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMTgsNyArMTgsNyBAQAogICovCiAKIG1vZHVsZSBodG1sIHsKLSAg
ICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnQsIEdlbmVyYXRlQ29u
c3RydWN0b3JdIEhUTUxGaWVsZFNldEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgaW50ZXJm
YWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MRmllbGRTZXRFbGVtZW50IDogSFRNTEVsZW1l
bnQgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50IGZvcm07CiAg
ICAgfTsKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRm9udEVsZW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MRm9udEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykK
KysrIFdlYkNvcmUvaHRtbC9IVE1MRm9udEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0x
OCw3ICsxOCw3IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotICAgIGludGVyZmFjZSBbTGVnYWN5
UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTEZvbnRF
bGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3Rv
cl0gSFRNTEZvbnRFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgICAgICBhdHRyaWJ1dGUgW0Nv
bnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgY29sb3I7CiAgICAgICAgIGF0dHJpYnV0
ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBmYWNlOwogICAgICAgICBhdHRy
aWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgc2l6ZTsKSW5kZXg6IFdl
YkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9IVE1MRm9ybUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysrIFdlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAKIG1v
ZHVsZSBodG1sIHsKIAotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxl
bWVudCwgSGFzSW5kZXhHZXR0ZXIsIEhhc092ZXJyaWRpbmdOYW1lR2V0dGVyLCBHZW5lcmF0ZUNv
bnN0cnVjdG9yXSBIVE1MRm9ybUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNl
IFtIYXNJbmRleEdldHRlciwgSGFzT3ZlcnJpZGluZ05hbWVHZXR0ZXIsIEdlbmVyYXRlQ29uc3Ry
dWN0b3JdIEhUTUxGb3JtRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uICBlbGVtZW50czsKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGxvbmcgICAgICAgICAgICBsZW5ndGg7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAgICBuYW1lOwpJbmRleDog
V2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
aHRtbC9IVE1MRnJhbWVFbGVtZW50LmlkbAkocmV2aXNpb24gMjE4MjcpCisrKyBXZWJDb3JlL2h0
bWwvSFRNTEZyYW1lRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAK
IAogbW9kdWxlIGh0bWwgewogCi0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hU
TUxFbGVtZW50LCBHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MRnJhbWVFbGVtZW50IDogSFRNTEVs
ZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTEZyYW1lRWxl
bWVudCA6IEhUTUxFbGVtZW50IHsKIAogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZl
cnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgZnJhbWVCb3JkZXI7CiAgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAg
ICAgICBsb25nRGVzYzsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5pZGwJKHJl
dmlzaW9uIDIxODI3KQorKysgV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAKIG1vZHVsZSBodG1sIHsKIAotICAgIGlu
dGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1
Y3RvciwgSGFzT3ZlcnJpZGluZ05hbWVHZXR0ZXJdIEhUTUxGcmFtZVNldEVsZW1lbnQgOiBIVE1M
RWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yLCBIYXNPdmVycmlk
aW5nTmFtZUdldHRlcl0gSFRNTEZyYW1lU2V0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKIAogICAg
ICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgY29sczsK
ICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHJv
d3M7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEhSRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9odG1sL0hUTUxIUkVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysrIFdlYkNv
cmUvaHRtbC9IVE1MSFJFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTgsNyArMTgsNyBA
QAogICovCiAKIG1vZHVsZSBodG1sIHsKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6
OkpTSFRNTEVsZW1lbnQsIEdlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxIUkVsZW1lbnQgOiBIVE1M
RWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MSFJFbGVt
ZW50IDogSFRNTEVsZW1lbnQgewogICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxs
U3RyaW5nXSBET01TdHJpbmcgYWxpZ247CiAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIG5vU2hh
ZGU7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmlu
ZyBzaXplOwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxIZWFkRWxlbWVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9odG1sL0hUTUxIZWFkRWxlbWVudC5pZGwJKHJldmlzaW9uIDIxODI3KQor
KysgV2ViQ29yZS9odG1sL0hUTUxIZWFkRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5
LDcgKzE5LDcgQEAKIAogbW9kdWxlIGh0bWwgewogCi0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJl
bnQ9S0pTOjpKU0hUTUxFbGVtZW50LCBHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MSGVhZEVsZW1l
bnQgOiBIVE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBI
VE1MSGVhZEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgICAgIGF0dHJpYnV0ZSAgW0NvbnZl
cnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgICAgICBwcm9maWxlOwogICAgIH07
CiAKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MSGVhZGluZ0VsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9IVE1MSGVhZGluZ0VsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykK
KysrIFdlYkNvcmUvaHRtbC9IVE1MSGVhZGluZ0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0xOCw3ICsxOCw3IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotICAgIGludGVyZmFjZSBbTGVn
YWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTEhl
YWRpbmdFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25z
dHJ1Y3Rvcl0gSFRNTEhlYWRpbmdFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgICAgICBhdHRy
aWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgYWxpZ247CiAgICAgfTsK
IH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MSHRtbEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MSHRtbEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysrIFdl
YkNvcmUvaHRtbC9IVE1MSHRtbEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xOSw3ICsx
OSw3IEBACiAKIG1vZHVsZSBodG1sIHsKIAotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtK
Uzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTEh0bWxFbGVtZW50IDog
SFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTEh0
bWxFbGVtZW50IDogSFRNTEVsZW1lbnQgewogCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51
bGxUb051bGxTdHJpbmddIERPTVN0cmluZyB2ZXJzaW9uOwogICAgICAgICAKSW5kZXg6IFdlYkNv
cmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1s
L0hUTUxJRnJhbWVFbGVtZW50LmlkbAkocmV2aXNpb24gMjE4MjcpCisrKyBXZWJDb3JlL2h0bWwv
SFRNTElGcmFtZUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAK
IG1vZHVsZSBodG1sIHsKIAotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1M
RWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTElGcmFtZUVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MSUZyYW1lRWxl
bWVudCA6IEhUTUxFbGVtZW50IHsKIAogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZl
cnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgYWxpZ247CiAgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAgICBm
cmFtZUJvcmRlcjsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwJKHJldmlzaW9uIDIx
ODI3KQorKysgV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0xOSw3ICsxOSw3IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotICAgIGludGVyZmFjZSBb
TGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRN
TEltYWdlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29u
c3RydWN0b3JdIEhUTUxJbWFnZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBuYW1lOwog
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01T
dHJpbmcgYWxpZ247CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051
bGxTdHJpbmddIERPTVN0cmluZyBhbHQ7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTElzSW5kZXhF
bGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTElzSW5kZXhFbGVtZW50
LmlkbAkocmV2aXNpb24gMjE4MjcpCisrKyBXZWJDb3JlL2h0bWwvSFRNTElzSW5kZXhFbGVtZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTgsNyArMTgsNyBAQAogICovCiAKIG1vZHVsZSBodG1s
IHsKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnQsIEdlbmVy
YXRlQ29uc3RydWN0b3JdIEhUTUxJc0luZGV4RWxlbWVudCA6IEhUTUxJbnB1dEVsZW1lbnQgewor
ICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTElzSW5kZXhFbGVtZW50IDog
SFRNTElucHV0RWxlbWVudCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVs
ZW1lbnQgZm9ybTsKICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10g
RE9NU3RyaW5nIHByb21wdDsKICAgICB9OwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxMSUVsZW1l
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTElFbGVtZW50LmlkbAkocmV2
aXNpb24gMjE4MjcpCisrKyBXZWJDb3JlL2h0bWwvSFRNTExJRWxlbWVudC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTE4LDcgKzE4LDcgQEAKICAqLwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJm
YWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxFbGVtZW50LCBHZW5lcmF0ZUNvbnN0cnVjdG9y
XSBIVE1MTElFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVD
b25zdHJ1Y3Rvcl0gSFRNTExJRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAgICAgYXR0cmli
dXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHR5cGU7CiAgICAgICAgIGF0
dHJpYnV0ZSBsb25nIHZhbHVlOyAgICAKICAgICB9OwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxM
YWJlbEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVt
ZW50LmlkbAkocmV2aXNpb24gMjE4MjcpCisrKyBXZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVu
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDcgKzE5LDcgQEAKICAqLwogCiBtb2R1bGUgaHRt
bCB7Ci0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxFbGVtZW50LCBHZW5l
cmF0ZUNvbnN0cnVjdG9yXSBIVE1MTGFiZWxFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgIGlu
dGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTExhYmVsRWxlbWVudCA6IEhUTUxFbGVt
ZW50IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOwog
ICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgYWNj
ZXNzS2V5OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01T
dHJpbmcgaHRtbEZvcjsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmlkbAkocmV2aXNp
b24gMjE4MjcpCisrKyBXZWJDb3JlL2h0bWwvSFRNTExlZ2VuZEVsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0xOSw3ICsxOSw3IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotICAgIGludGVy
ZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rv
cl0gSFRNTExlZ2VuZEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5l
cmF0ZUNvbnN0cnVjdG9yXSBIVE1MTGVnZW5kRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOwogICAgICAgICBhdHRy
aWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgYWNjZXNzS2V5OwogICAg
ICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgYWxpZ247
CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbAkocmV2aXNpb24gMjE4MjcpCisrKyBXZWJD
b3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAs
NyBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6
OkpTSFRNTEVsZW1lbnQsIEdlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxMaW5rRWxlbWVudCA6IEhU
TUxFbGVtZW50IHsKKyAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxMaW5r
RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAgICAgYXR0cmlidXRlICBib29sZWFuICAgICAg
ICAgICAgICBkaXNhYmxlZDsKICAgICAgICAgYXR0cmlidXRlICBbQ29udmVydE51bGxUb051bGxT
dHJpbmddIERPTVN0cmluZyAgICAgICAgICAgIGNoYXJzZXQ7CiAgICAgICAgIGF0dHJpYnV0ZSAg
W0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgICAgICBocmVmOwpJbmRl
eDogV2ViQ29yZS9odG1sL0hUTUxNYXBFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvSFRNTE1hcEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysrIFdlYkNvcmUvaHRt
bC9IVE1MTWFwRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDcgKzE5LDcgQEAKICAq
LwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hU
TUxFbGVtZW50LCBHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MTWFwRWxlbWVudCA6IEhUTUxFbGVt
ZW50IHsKKyAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxNYXBFbGVtZW50
IDogSFRNTEVsZW1lbnQgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rp
b24gYXJlYXM7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERP
TVN0cmluZyBuYW1lOwogICAgIH07CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVt
ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50Lmlk
bAkocmV2aXNpb24gMjE4MjcpCisrKyBXZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMTksNyArMTksNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLSAg
ICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnQsIEdlbmVyYXRlQ29u
c3RydWN0b3JdIEhUTUxNYXJxdWVlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICBpbnRlcmZh
Y2UgW0dlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxNYXJxdWVlRWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKICAgICAgICAgdm9pZCBzdGFydCgpOwogICAgICAgICB2b2lkIHN0b3AoKTsKIApJbmRleDog
V2ViQ29yZS9odG1sL0hUTUxNZW51RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9o
dG1sL0hUTUxNZW51RWxlbWVudC5pZGwJKHJldmlzaW9uIDIxODI3KQorKysgV2ViQ29yZS9odG1s
L0hUTUxNZW51RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE4LDcgKzE4LDcgQEAKICAq
LwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hU
TUxFbGVtZW50LCBHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MTWVudUVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MTWVudUVsZW1l
bnQgOiBIVE1MRWxlbWVudCB7CiAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGNvbXBhY3Q7CiAg
ICAgfTsKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykK
KysrIFdlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0x
OSw3ICsxOSw3IEBACiAKIG1vZHVsZSBodG1sIHsKIAotICAgIGludGVyZmFjZSBbTGVnYWN5UGFy
ZW50PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTE1ldGFFbGVt
ZW50IDogSFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3Rvcl0g
SFRNTE1ldGFFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgICAgICBhdHRyaWJ1dGUgIFtDb252
ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgIGNvbnRlbnQ7CiAgICAgICAgIGF0dHJp
YnV0ZSAgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgaHR0cEVxdWl2Owog
ICAgICAgICBhdHRyaWJ1dGUgIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAg
IG5hbWU7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1vZEVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9IVE1MTW9kRWxlbWVudC5pZGwJKHJldmlzaW9uIDIxODI3KQorKysg
V2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTksNyAr
MTksNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1L
SlM6OkpTSFRNTEVsZW1lbnQsIEdlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxNb2RFbGVtZW50IDog
SFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTE1v
ZEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxU
b051bGxTdHJpbmddIERPTVN0cmluZyBjaXRlOwogICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRO
dWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgZGF0ZVRpbWU7CiAgICAgfTsKSW5kZXg6IFdlYkNv
cmUvaHRtbC9IVE1MT0xpc3RFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwv
SFRNTE9MaXN0RWxlbWVudC5pZGwJKHJldmlzaW9uIDIxODI3KQorKysgV2ViQ29yZS9odG1sL0hU
TUxPTGlzdEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xOSw3ICsxOSw3IEBACiAKIG1v
ZHVsZSBodG1sIHsKIAotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxl
bWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTE9MaXN0RWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKKyAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxPTGlzdEVsZW1lbnQg
OiBIVE1MRWxlbWVudCB7CiAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGNvbXBhY3Q7CiAgICAg
ICAgIGF0dHJpYnV0ZSBsb25nIHN0YXJ0OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxs
VG9OdWxsU3RyaW5nXSBET01TdHJpbmcgdHlwZTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MT2Jq
ZWN0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVt
ZW50LmlkbAkocmV2aXNpb24gMjE4MzIpCisrKyBXZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1l
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAKIG1vZHVsZSBodG1sIHsK
IAotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJh
dGVDb25zdHJ1Y3RvciwgQ3VzdG9tUHV0RnVuY3Rpb24sIEN1c3RvbUdldE93blByb3BlcnR5U2xv
dCwgQ3VzdG9tQ2FsbCwgSGFzT3ZlcnJpZGluZ05hbWVHZXR0ZXJdIEhUTUxPYmplY3RFbGVtZW50
IDogSFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3RvciwgQ3Vz
dG9tUHV0RnVuY3Rpb24sIEN1c3RvbUdldE93blByb3BlcnR5U2xvdCwgQ3VzdG9tQ2FsbCwgSGFz
T3ZlcnJpZGluZ05hbWVHZXR0ZXJdIEhUTUxPYmplY3RFbGVtZW50IDogSFRNTEVsZW1lbnQgewog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50IGZvcm07CiAgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAg
ICAgICBjb2RlOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxs
U3RyaW5nXSBET01TdHJpbmcgICAgICAgYWxpZ247CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE9w
dEdyb3VwRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91
cEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysrIFdlYkNvcmUvaHRtbC9IVE1MT3B0R3Jv
dXBFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTksNyArMTksNyBAQAogCiBtb2R1bGUg
aHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnQs
IEdlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxPcHRHcm91cEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7
CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MT3B0R3JvdXBFbGVtZW50
IDogSFRNTEVsZW1lbnQgewogICAgICAgICBhdHRyaWJ1dGUgIGJvb2xlYW4gICAgICAgICAgICAg
IGRpc2FibGVkOwogICAgICAgICBhdHRyaWJ1dGUgIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10g
RE9NU3RyaW5nICAgICAgICAgICAgbGFiZWw7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9I
VE1MT3B0aW9uRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxPcHRp
b25FbGVtZW50LmlkbAkocmV2aXNpb24gMjE4MjcpCisrKyBXZWJDb3JlL2h0bWwvSFRNTE9wdGlv
bkVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAKIG1vZHVsZSBo
dG1sIHsKIAotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudCwg
R2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXJdIEhUTUxPcHRpb25FbGVtZW50IDogSFRNTEVsZW1lbnQg
eworICAgIGludGVyZmFjZSBbR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXJdIEhUTUxPcHRpb25FbGVt
ZW50IDogSFRNTEVsZW1lbnQgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIEhUTUxGb3Jt
RWxlbWVudCAgICAgIGZvcm07CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSAgYm9vbGVhbiAg
ICAgICAgICAgICAgZGVmYXVsdFNlbGVjdGVkOwogI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVND
UklQVCkKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MUGFyYWdyYXBoRWxlbWVudC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxQYXJhZ3JhcGhFbGVtZW50LmlkbAkocmV2aXNpb24g
MjE4MjcpCisrKyBXZWJDb3JlL2h0bWwvSFRNTFBhcmFncmFwaEVsZW1lbnQuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0xOSw3ICsxOSw3IEBACiAKIG1vZHVsZSBodG1sIHsKIAotICAgIGludGVyZmFj
ZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0g
SFRNTFBhcmFncmFwaEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5l
cmF0ZUNvbnN0cnVjdG9yXSBIVE1MUGFyYWdyYXBoRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAg
ICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGFsaWdu
OwogICAgIH07CiAKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MUGFyYW1FbGVtZW50LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5pZGwJKHJldmlzaW9uIDIx
ODI3KQorKysgV2ViQ29yZS9odG1sL0hUTUxQYXJhbUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0xOSw3ICsxOSw3IEBACiAKIG1vZHVsZSBodG1sIHsKIAotICAgIGludGVyZmFjZSBbTGVn
YWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTFBh
cmFtRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3Ry
dWN0b3JdIEhUTUxQYXJhbUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgICAgIGF0dHJpYnV0
ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBuYW1lOwogICAgICAgICBhdHRy
aWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgdHlwZTsKICAgICAgICAg
YXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOwpJbmRl
eDogV2ViQ29yZS9odG1sL0hUTUxQcmVFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvSFRNTFByZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysrIFdlYkNvcmUvaHRt
bC9IVE1MUHJlRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKIAog
bW9kdWxlIGh0bWwgewogCi0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxF
bGVtZW50LCBHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MUHJlRWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKKyAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxQcmVFbGVtZW50IDog
SFRNTEVsZW1lbnQgewogICAgICAgICAvLyBGSVhNRTogRE9NIHNwZWMgc2F5cyB0aGF0IHdpZHRo
IHNob3VsZCBiZSBvZiB0eXBlIERPTVN0cmluZwogICAgICAgICAvLyBzZWUgaHR0cDovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk5MgogICAgICAgICBhdHRyaWJ1dGUgbG9uZyB3
aWR0aDsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MUXVvdGVFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFF1b3RlRWxlbWVudC5pZGwJKHJldmlzaW9uIDIxODI3KQor
KysgV2ViQ29yZS9odG1sL0hUTUxRdW90ZUVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0x
OSw3ICsxOSw3IEBACiAKIG1vZHVsZSBodG1sIHsKIAotICAgIGludGVyZmFjZSBbTGVnYWN5UGFy
ZW50PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTFF1b3RlRWxl
bWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3RydWN0b3Jd
IEhUTUxRdW90ZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29u
dmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBjaXRlOwogICAgIH07CiB9CkluZGV4OiBX
ZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
aHRtbC9IVE1MU2NyaXB0RWxlbWVudC5pZGwJKHJldmlzaW9uIDIxODI3KQorKysgV2ViQ29yZS9o
dG1sL0hUTUxTY3JpcHRFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTksNyArMTksNyBA
QAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpT
SFRNTEVsZW1lbnQsIEdlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxTY3JpcHRFbGVtZW50IDogSFRN
TEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTFNjcmlw
dEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxU
b051bGxTdHJpbmddIERPTVN0cmluZyB0ZXh0OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRO
dWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgaHRtbEZvcjsKICAgICAgICAgYXR0cmlidXRlIFtD
b252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGV2ZW50OwpJbmRleDogV2ViQ29yZS9o
dG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRN
TFNlbGVjdEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysrIFdlYkNvcmUvaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKIAogbW9k
dWxlIGh0bWwgewogCi0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxFbGVt
ZW50LCBIYXNJbmRleEdldHRlciwgSGFzQ3VzdG9tSW5kZXhTZXR0ZXIsIEdlbmVyYXRlQ29uc3Ry
dWN0b3JdIEhUTUxTZWxlY3RFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBb
SGFzSW5kZXhHZXR0ZXIsIEhhc0N1c3RvbUluZGV4U2V0dGVyLCBHZW5lcmF0ZUNvbnN0cnVjdG9y
XSBIVE1MU2VsZWN0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKIAogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgIHR5cGU7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBsb25nICAgICAgICAgICAgc2VsZWN0ZWRJbmRleDsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1M
U3R5bGVFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxl
bWVudC5pZGwJKHJldmlzaW9uIDIxODI3KQorKysgV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1l
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAKIG1vZHVsZSBodG1sIHsK
IAotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudCwgR2VuZXJh
dGVDb25zdHJ1Y3Rvcl0gSFRNTFN0eWxlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICBpbnRl
cmZhY2UgW0dlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxTdHlsZUVsZW1lbnQgOiBIVE1MRWxlbWVu
dCB7CiAgICAgICAgIGF0dHJpYnV0ZSAgYm9vbGVhbiAgICAgICAgICAgICAgZGlzYWJsZWQ7CiAg
ICAgICAgIGF0dHJpYnV0ZSAgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAg
ICAgICAgICBtZWRpYTsKICAgICAgICAgYXR0cmlidXRlICBbQ29udmVydE51bGxUb051bGxTdHJp
bmddIERPTVN0cmluZyAgICAgICAgICAgIHR5cGU7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFRh
YmxlQ2FwdGlvbkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MVGFi
bGVDYXB0aW9uRWxlbWVudC5pZGwJKHJldmlzaW9uIDIxODI3KQorKysgV2ViQ29yZS9odG1sL0hU
TUxUYWJsZUNhcHRpb25FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAsNyBA
QAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpT
SFRNTEVsZW1lbnQsIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyLCBHZW5lcmF0ZUNvbnN0cnVjdG9y
XSBIVE1MVGFibGVDYXB0aW9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICBpbnRlcmZhY2Ug
W0dlbmVyYXRlTmF0aXZlQ29udmVydGVyLCBHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MVGFibGVD
YXB0aW9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKIAogICAgICAgICBhdHRyaWJ1dGUgW0NvbnZl
cnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgYWxpZ247CiAKSW5kZXg6IFdlYkNv
cmUvaHRtbC9IVE1MVGFibGVDZWxsRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9o
dG1sL0hUTUxUYWJsZUNlbGxFbGVtZW50LmlkbAkocmV2aXNpb24gMjE4MjcpCisrKyBXZWJDb3Jl
L2h0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsy
MCw3IEBACiAKIG1vZHVsZSBodG1sIHsKIAotICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtK
Uzo6SlNIVE1MRWxlbWVudCwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTFRhYmxlQ2VsbEVsZW1l
bnQgOiBIVE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBI
VE1MVGFibGVDZWxsRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKIAogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgbG9uZyAgICAgICAgICAgIGNlbGxJbmRleDsKICAgICAgICAgICAgICAgICAgYXR0
cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgIGFiYnI7Cklu
ZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ29sRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9odG1sL0hUTUxUYWJsZUNvbEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysr
IFdlYkNvcmUvaHRtbC9IVE1MVGFibGVDb2xFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjAsNyArMjAsNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBh
cmVudD1LSlM6OkpTSFRNTEVsZW1lbnQsIEdlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxUYWJsZUNv
bEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVj
dG9yXSBIVE1MVGFibGVDb2xFbGVtZW50IDogSFRNTEVsZW1lbnQgewogCiAgICAgICAgIGF0dHJp
YnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAgICBhbGlnbjsKICAg
ICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAg
IGNoOwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmlkbAkocmV2aXNpb24gMjE4MjcpCisr
KyBXZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIw
LDcgKzIwLDcgQEAKIAogbW9kdWxlIGh0bWwgewogCi0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJl
bnQ9S0pTOjpKU0hUTUxFbGVtZW50LCBHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MVGFibGVFbGVt
ZW50IDogSFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbR2VuZXJhdGVDb25zdHJ1Y3Rvcl0g
SFRNTFRhYmxlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKIAogICAgICAgICAvLyBGSVhNRTogdGhl
IGRvbSBzcGVjIHN0YXRlcyB0aGF0IHRoZSBmb2xsb3dpbmcgMyBhdHRyaWJ1dGVzCiAgICAgICAg
IC8vIGNvdWxkIHJhaXNlIGV4Y2VwZXRpb25zIG9uIHNldHRpbmcuCkluZGV4OiBXZWJDb3JlL2h0
bWwvSFRNTFRhYmxlUm93RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hU
TUxUYWJsZVJvd0VsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysrIFdlYkNvcmUvaHRtbC9I
VE1MVGFibGVSb3dFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAsNyBAQAog
CiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRN
TEVsZW1lbnQsIEdlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxUYWJsZVJvd0VsZW1lbnQgOiBIVE1M
RWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MVGFibGVS
b3dFbGVtZW50IDogSFRNTEVsZW1lbnQgewogCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBs
b25nICAgICAgICAgICAgcm93SW5kZXg7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25n
ICAgICAgICAgICAgc2VjdGlvblJvd0luZGV4OwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxUYWJs
ZVNlY3Rpb25FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFRhYmxl
U2VjdGlvbkVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysrIFdlYkNvcmUvaHRtbC9IVE1M
VGFibGVTZWN0aW9uRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAK
IAogbW9kdWxlIGh0bWwgewogCi0gICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hU
TUxFbGVtZW50LCBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0g
SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtH
ZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwgR2VuZXJhdGVDb25zdHJ1Y3Rvcl0gSFRNTFRhYmxlU2Vj
dGlvbkVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAKICAgICAgICAgICAgICAgICAgYXR0cmlidXRl
IFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgIGFsaWduOwogICAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcg
ICAgICAgY2g7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCShyZXZpc2lv
biAyMTgyNykKKysrIFdlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjAsNyArMjAsNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZh
Y2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnQsIEdlbmVyYXRlQ29uc3RydWN0b3Jd
IEhUTUxUZXh0QXJlYUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5l
cmF0ZUNvbnN0cnVjdG9yXSBIVE1MVGV4dEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAg
ICAgICAgICAgICAgICBhdHRyaWJ1dGUgIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3Ry
aW5nICAgICAgICAgICAgZGVmYXVsdFZhbHVlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
IEhUTUxGb3JtRWxlbWVudCAgICAgIGZvcm07CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSAg
W0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgICAgICBhY2Nlc3NLZXk7
CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9odG1sL0hUTUxUaXRsZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysrIFdl
YkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTksNyAr
MTksNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1L
SlM6OkpTSFRNTEVsZW1lbnQsIEdlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxUaXRsZUVsZW1lbnQg
OiBIVE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1M
VGl0bGVFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgICAgICBhdHRyaWJ1dGUgIFtDb252ZXJ0
TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgICAgICAgdGV4dDsKICAgICB9OwogCklu
ZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFVMaXN0RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9odG1sL0hUTUxVTGlzdEVsZW1lbnQuaWRsCShyZXZpc2lvbiAyMTgyNykKKysrIFdlYkNv
cmUvaHRtbC9IVE1MVUxpc3RFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTksNyArMTks
NyBAQAogCiBtb2R1bGUgaHRtbCB7CiAKLSAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6
OkpTSFRNTEVsZW1lbnQsIEdlbmVyYXRlQ29uc3RydWN0b3JdIEhUTUxVTGlzdEVsZW1lbnQgOiBI
VE1MRWxlbWVudCB7CisgICAgaW50ZXJmYWNlIFtHZW5lcmF0ZUNvbnN0cnVjdG9yXSBIVE1MVUxp
c3RFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBjb21w
YWN0OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJp
bmcgdHlwZTsKICAgICB9OwpJbmRleDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDIxODMyKQorKysg
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTc4LDQyICs3OCw0
NSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIEVudGl0eUNvbnN0cnVjdG9y
IEVudGl0eTsKICAgICAgICAgYXR0cmlidXRlIEVudGl0eVJlZmVyZW5jZUNvbnN0cnVjdG9yIEVu
dGl0eVJlZmVyZW5jZTsKICAgICAgICAgYXR0cmlidXRlIFByb2Nlc3NpbmdJbnN0cnVjdGlvbkNv
bnN0cnVjdG9yIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjsKLSAgICAgICAgCisKKyAgICAgICAgYXR0
cmlidXRlIEhUTUxEb2N1bWVudENvbnN0cnVjdG9yIEhUTUxEb2N1bWVudDsKKwogICAgICAgICBh
dHRyaWJ1dGUgSFRNTEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MRWxlbWVudDsKICAgICAgICAgYXR0
cmlidXRlIEhUTUxBbmNob3JFbGVtZW50Q29uc3RydWN0b3IgSFRNTEFuY2hvckVsZW1lbnQ7CiAg
ICAgICAgIGF0dHJpYnV0ZSBIVE1MQXBwbGV0RWxlbWVudENvbnN0cnVjdG9yIEhUTUxBcHBsZXRF
bGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTEFyZWFFbGVtZW50Q29uc3RydWN0b3IgSFRN
TEFyZWFFbGVtZW50OworICAgICAgICBhdHRyaWJ1dGUgSFRNTEJSRWxlbWVudENvbnN0cnVjdG9y
IEhUTUxCUkVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MQmFzZUVsZW1lbnRDb25zdHJ1
Y3RvciBIVE1MQmFzZUVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MQmFzZUZvbnRFbGVt
ZW50Q29uc3RydWN0b3IgSFRNTEJhc2VGb250RWxlbWVudDsKKyAgICAgICAgYXR0cmlidXRlIEhU
TUxCbG9ja3F1b3RlRWxlbWVudENvbnN0cnVjdG9yIEhUTUxCbG9ja3F1b3RlRWxlbWVudDsKICAg
ICAgICAgYXR0cmlidXRlIEhUTUxCb2R5RWxlbWVudENvbnN0cnVjdG9yIEhUTUxCb2R5RWxlbWVu
dDsKLSAgICAgICAgYXR0cmlidXRlIEhUTUxCUkVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MQlJFbGVt
ZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTEJ1dHRvbkVsZW1lbnRDb25zdHJ1Y3RvciBIVE1M
QnV0dG9uRWxlbWVudDsKKyAgICAgICAgYXR0cmlidXRlIEhUTUxETGlzdEVsZW1lbnRDb25zdHJ1
Y3RvciBIVE1MRExpc3RFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTERpcmVjdG9yeUVs
ZW1lbnRDb25zdHJ1Y3RvciBIVE1MRGlyZWN0b3J5RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRl
IEhUTUxEaXZFbGVtZW50Q29uc3RydWN0b3IgSFRNTERpdkVsZW1lbnQ7Ci0gICAgICAgIGF0dHJp
YnV0ZSBIVE1MRExpc3RFbGVtZW50Q29uc3RydWN0b3IgSFRNTERMaXN0RWxlbWVudDsKICAgICAg
ICAgYXR0cmlidXRlIEhUTUxGaWVsZFNldEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MRmllbGRTZXRF
bGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTEZvbnRFbGVtZW50Q29uc3RydWN0b3IgSFRN
TEZvbnRFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50Q29uc3RydWN0
b3IgSFRNTEZvcm1FbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTEZyYW1lRWxlbWVudENv
bnN0cnVjdG9yIEhUTUxGcmFtZUVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MRnJhbWVT
ZXRFbGVtZW50Q29uc3RydWN0b3IgSFRNTEZyYW1lU2V0RWxlbWVudDsKKyAgICAgICAgYXR0cmli
dXRlIEhUTUxIUkVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MSFJFbGVtZW50OwogICAgICAgICBhdHRy
aWJ1dGUgSFRNTEhlYWRFbGVtZW50Q29uc3RydWN0b3IgSFRNTEhlYWRFbGVtZW50OwogICAgICAg
ICBhdHRyaWJ1dGUgSFRNTEhlYWRpbmdFbGVtZW50Q29uc3RydWN0b3IgSFRNTEhlYWRpbmdFbGVt
ZW50OwotICAgICAgICBhdHRyaWJ1dGUgSFRNTEhSRWxlbWVudENvbnN0cnVjdG9yIEhUTUxIUkVs
ZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MSHRtbEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1M
SHRtbEVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MSUZyYW1lRWxlbWVudENvbnN0cnVj
dG9yIEhUTUxJRnJhbWVFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTEltYWdlRWxlbWVu
dENvbnN0cnVjdG9yIEhUTUxJbWFnZUVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MSW5w
dXRFbGVtZW50Q29uc3RydWN0b3IgSFRNTElucHV0RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRl
IEhUTUxJc0luZGV4RWxlbWVudENvbnN0cnVjdG9yIEhUTUxJc0luZGV4RWxlbWVudDsKKyAgICAg
ICAgYXR0cmlidXRlIEhUTUxMSUVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MTElFbGVtZW50OwogICAg
ICAgICBhdHRyaWJ1dGUgSFRNTExhYmVsRWxlbWVudENvbnN0cnVjdG9yIEhUTUxMYWJlbEVsZW1l
bnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MTGVnZW5kRWxlbWVudENvbnN0cnVjdG9yIEhUTUxM
ZWdlbmRFbGVtZW50OwotICAgICAgICBhdHRyaWJ1dGUgSFRNTExJRWxlbWVudENvbnN0cnVjdG9y
IEhUTUxMSUVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MTGlua0VsZW1lbnRDb25zdHJ1
Y3RvciBIVE1MTGlua0VsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MTWFwRWxlbWVudENv
bnN0cnVjdG9yIEhUTUxNYXBFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTE1lbnVFbGVt
ZW50Q29uc3RydWN0b3IgSFRNTE1lbnVFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTE1l
dGFFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1ldGFFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUg
SFRNTE1vZEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MTW9kRWxlbWVudDsKLSAgICAgICAgYXR0cmli
dXRlIEhUTUxPYmplY3RFbGVtZW50Q29uc3RydWN0b3IgSFRNTE9iamVjdEVsZW1lbnQ7CiAgICAg
ICAgIGF0dHJpYnV0ZSBIVE1MT0xpc3RFbGVtZW50Q29uc3RydWN0b3IgSFRNTE9MaXN0RWxlbWVu
dDsKKyAgICAgICAgYXR0cmlidXRlIEhUTUxPYmplY3RFbGVtZW50Q29uc3RydWN0b3IgSFRNTE9i
amVjdEVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MT3B0R3JvdXBFbGVtZW50Q29uc3Ry
dWN0b3IgSFRNTE9wdEdyb3VwRWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxPcHRpb25F
bGVtZW50Q29uc3RydWN0b3IgSFRNTE9wdGlvbkVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBI
VE1MUGFyYWdyYXBoRWxlbWVudENvbnN0cnVjdG9yIEhUTUxQYXJhZ3JhcGhFbGVtZW50OwpAQCAt
MTMzLDEwICsxMzYsOCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIEhUTUxU
aXRsZUVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MVGl0bGVFbGVtZW50OwogICAgICAgICBhdHRyaWJ1
dGUgSFRNTFVMaXN0RWxlbWVudENvbnN0cnVjdG9yIEhUTUxVTGlzdEVsZW1lbnQ7CiAgICAgICAg
IGF0dHJpYnV0ZSBIVE1MQ2FudmFzRWxlbWVudENvbnN0cnVjdG9yIEhUTUxDYW52YXNFbGVtZW50
OwotICAgICAgICBhdHRyaWJ1dGUgSFRNTE1hcnF1ZWVFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1h
cnF1ZWVFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTEVtYmVkRWxlbWVudENvbnN0cnVj
dG9yIEhUTUxFbWJlZEVsZW1lbnQ7Ci0KLSAgICAgICAgYXR0cmlidXRlIEhUTUxEb2N1bWVudENv
bnN0cnVjdG9yIEhUTUxEb2N1bWVudDsKKyAgICAgICAgYXR0cmlidXRlIEhUTUxNYXJxdWVlRWxl
bWVudENvbnN0cnVjdG9yIEhUTUxNYXJxdWVlRWxlbWVudDsKIAogICAgICAgICBhdHRyaWJ1dGUg
TXV0YXRpb25FdmVudENvbnN0cnVjdG9yIE11dGF0aW9uRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0
ZSBOb2RlRmlsdGVyQ29uc3RydWN0b3IgTm9kZUZpbHRlcjsKSW5kZXg6IExheW91dFRlc3RzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIx
ODM0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMDctMDUtMjcgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdHMgZm9y
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODk0CisgICAgICAgIFJl
bW92ZSB0aGUgbGVnYWN5IGNsYXNzIEtKUzo6SlNIVE1MRWxlbWVudAorCisgICAgICAgIC0gQ29y
cmVjdHMgcHJvdG90eXBlIGNoYWluIGZvciBhbGwgSFRNTEVsZW1lbnQgc3ViY2xhc3NlcyB3aGlj
aAorICAgICAgICAgIG5vdyBvbmx5IGhhdmUgb25lIEhUTUxFbGVtZW50IHByb3RvdHlwZSBhbmQg
bm90IHR3by4KKworICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vcHJvdG90eXBlLWNoYWluLWV4cGVjdGVk
LnR4dDoKKwogMjAwNy0wNS0yNyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEh5YXR0LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90
eXBlLWNoYWluLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9wcm90b3R5cGUtY2hhaW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMTgyNykKKysrIExheW91
dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1jaGFpbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTE2LDcgKzE2LDcgQEAgTk9URTogVGhpcyB0ZXN0IHdpbGwgc3RhcnQgZmFpbGluZyBp
ZiB5bwogCiBbb2JqZWN0IEhUTUxEb2N1bWVudFByb3RvdHlwZV0KIAotLS0tLS0gW29iamVjdCBI
VE1MRGl2RWxlbWVudF0gKDggcHJvdG90eXBlcykgLS0tLS0KKy0tLS0tIFtvYmplY3QgSFRNTERp
dkVsZW1lbnRdICg3IHByb3RvdHlwZXMpIC0tLS0tCiAKIFtvYmplY3QgT2JqZWN0XQogCkBAIC0z
MCwxMSArMzAsOSBAQCBOT1RFOiBUaGlzIHRlc3Qgd2lsbCBzdGFydCBmYWlsaW5nIGlmIHlvCiAK
IFtvYmplY3QgSFRNTEVsZW1lbnRQcm90b3R5cGVdCiAKLVtvYmplY3QgSFRNTEVsZW1lbnRQcm90
b3R5cGVdCi0KIFtvYmplY3QgSFRNTERpdkVsZW1lbnRQcm90b3R5cGVdCiAKLS0tLS0tIFtvYmpl
Y3QgSFRNTEZvcm1FbGVtZW50XSAoOCBwcm90b3R5cGVzKSAtLS0tLQorLS0tLS0gW29iamVjdCBI
VE1MRm9ybUVsZW1lbnRdICg3IHByb3RvdHlwZXMpIC0tLS0tCiAKIFtvYmplY3QgT2JqZWN0XQog
CkBAIC00OCw4ICs0Niw2IEBAIE5PVEU6IFRoaXMgdGVzdCB3aWxsIHN0YXJ0IGZhaWxpbmcgaWYg
eW8KIAogW29iamVjdCBIVE1MRWxlbWVudFByb3RvdHlwZV0KIAotW29iamVjdCBIVE1MRWxlbWVu
dFByb3RvdHlwZV0KLQogW29iamVjdCBIVE1MRm9ybUVsZW1lbnRQcm90b3R5cGVdCiAKIC0tLS0t
IFtvYmplY3QgVUlFdmVudF0gKDQgcHJvdG90eXBlcykgLS0tLS0KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMjE4MzIpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
d2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01MDYsNiAr
NTA2LDggQEAgd2luZG93LkhUTUxCYXNlRWxlbWVudCBbb2JqZWN0IEhUTUxCYXNlRQogd2luZG93
LkhUTUxCYXNlRWxlbWVudC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkVsZW1l
bnQucHJvdG90eXBlXQogd2luZG93LkhUTUxCYXNlRm9udEVsZW1lbnQgW29iamVjdCBIVE1MQmFz
ZUZvbnRFbGVtZW50Q29uc3RydWN0b3JdCiB3aW5kb3cuSFRNTEJhc2VGb250RWxlbWVudC5wcm90
b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkVsZW1lbnQucHJvdG90eXBlXQord2luZG93
LkhUTUxCbG9ja3F1b3RlRWxlbWVudCBbb2JqZWN0IEhUTUxCbG9ja3F1b3RlRWxlbWVudENvbnN0
cnVjdG9yXQord2luZG93LkhUTUxCbG9ja3F1b3RlRWxlbWVudC5wcm90b3R5cGUgW3ByaW50ZWQg
YWJvdmUgYXMgd2luZG93LkVsZW1lbnQucHJvdG90eXBlXQogd2luZG93LkhUTUxCb2R5RWxlbWVu
dCBbb2JqZWN0IEhUTUxCb2R5RWxlbWVudENvbnN0cnVjdG9yXQogd2luZG93LkhUTUxCb2R5RWxl
bWVudC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkVsZW1lbnQucHJvdG90eXBl
XQogd2luZG93LkhUTUxCdXR0b25FbGVtZW50IFtvYmplY3QgSFRNTEJ1dHRvbkVsZW1lbnRDb25z
dHJ1Y3Rvcl0K
</data>
<flag name="review"
          id="6078"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>