<?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>75646</bug_id>
          
          <creation_ts>2012-01-05 13:05:49 -0800</creation_ts>
          <short_desc>Replace TextTrackCue &quot;getCueAsSource&quot; method with &quot;text&quot; attribute</short_desc>
          <delta_ts>2012-01-10 13:18:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>43668</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>abarth</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>530569</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-01-05 13:05:49 -0800</bug_when>
    <thetext>TextTrackCue&apos;s &apos;getCueAsSource&apos; method has been replaced with a mutable &apos;text&apos; attribute</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532799</commentid>
    <comment_count>1</comment_count>
      <attachid>121788</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-01-09 21:24:04 -0800</bug_when>
    <thetext>Created attachment 121788
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532800</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-01-09 21:24:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/10667556&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533133</commentid>
    <comment_count>3</comment_count>
      <attachid>121788</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-01-10 09:18:27 -0800</bug_when>
    <thetext>Comment on attachment 121788
Proposed patch

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

&gt; Source/WebCore/html/TextTrackCue.cpp:331
&gt; +        OwnPtr&lt;WebVTTParser&gt; parser = WebVTTParser::create(0, m_scriptExecutionContext);
&gt; +        m_documentFragment = parser-&gt;createDocumentFragmentFromCueText(m_content);

Could we do this without a local variable? Or would that make the line too long?

&gt; Source/WebCore/html/TextTrackCue.h:92
&gt; +    String text() const { return m_content; }

Seems we should return const String&amp; here instead of String to avoid a bit of reference count churn.

&gt; Source/WebCore/html/track/WebVTTParser.cpp:252
&gt; +    if (!text.length())
&gt; +        return 0;

Is it important to optimize the empty string case? Are there other cases we should optimize, such as “all whitespace”?

&gt; Source/WebCore/html/track/WebVTTParser.cpp:272
&gt; +    if (!m_currentContent.length())
&gt; +        return;

Why is it important to special-case the empty case? Is that a common case?

&gt; Source/WebCore/html/track/WebVTTParser.cpp:274
&gt; +    RefPtr&lt;DocumentFragment&gt; attachmentRoot = createDocumentFragmentFromCueText(m_currentContent.toString());

I don’t see a check for 0 here. What guarantees this won’t return 0?

&gt; Source/WebCore/html/track/WebVTTParser.h:92
&gt; +    PassRefPtr&lt;DocumentFragment&gt;  createDocumentFragmentFromCueText(const String&amp;);

There’s an extra space here after the &gt; character.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533333</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-01-10 13:18:12 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 121788 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=121788&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/TextTrackCue.cpp:331
&gt; &gt; +        OwnPtr&lt;WebVTTParser&gt; parser = WebVTTParser::create(0, m_scriptExecutionContext);
&gt; &gt; +        m_documentFragment = parser-&gt;createDocumentFragmentFromCueText(m_content);
&gt; 
&gt; Could we do this without a local variable? Or would that make the line too long?
&gt; 
Good suggestion, fixed.

&gt; &gt; Source/WebCore/html/TextTrackCue.h:92
&gt; &gt; +    String text() const { return m_content; }
&gt; 
&gt; Seems we should return const String&amp; here instead of String to avoid a bit of reference count churn.
&gt; 
Fixed.

&gt; &gt; Source/WebCore/html/track/WebVTTParser.cpp:252
&gt; &gt; +    if (!text.length())
&gt; &gt; +        return 0;
&gt; 
&gt; Is it important to optimize the empty string case? Are there other cases we should optimize, such as “all whitespace”?
&gt; 
&gt; &gt; Source/WebCore/html/track/WebVTTParser.cpp:272
&gt; &gt; +    if (!m_currentContent.length())
&gt; &gt; +        return;
&gt; 
&gt; Why is it important to special-case the empty case? Is that a common case?
&gt; 
I removed these and found that we have a layout test that checks to make sure no cue is created for an entry without text. I don&apos;t see that requirement in the spec, but I am checking with people in the WebVTT community group to see if I am missing something. If it is not a spec requirement, I will write a bug to fix this.

&gt; &gt; Source/WebCore/html/track/WebVTTParser.cpp:274
&gt; &gt; +    RefPtr&lt;DocumentFragment&gt; attachmentRoot = createDocumentFragmentFromCueText(m_currentContent.toString());
&gt; 
&gt; I don’t see a check for 0 here. What guarantees this won’t return 0?
&gt; 
A NULL fragment should not be a problem.

&gt; &gt; Source/WebCore/html/track/WebVTTParser.h:92
&gt; &gt; +    PassRefPtr&lt;DocumentFragment&gt;  createDocumentFragmentFromCueText(const String&amp;);
&gt; 
&gt; There’s an extra space here after the &gt; character.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533335</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-01-10 13:18:26 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/104624</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121788</attachid>
            <date>2012-01-09 21:24:04 -0800</date>
            <delta_ts>2012-01-10 09:18:26 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>mutable_text_patch_3.txt</filename>
            <type>text/plain</type>
            <size>44926</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNDUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEyLTAxLTA5ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJlcGxhY2UgVGV4dFRy
YWNrQ3VlICJnZXRDdWVBc1NvdXJjZSIgbWV0aG9kIHdpdGggInRleHQiIGF0dHJpYnV0ZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NDYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBtZWRpYS90
cmFjay90cmFjay1jdWUtbXV0YWJsZS10ZXh0Lmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oOiBnZXRDdWVBc1NvdXJjZSgpIC0+IHRleHQoKS4KKworICAgICAgICAqIGh0
bWwvVGV4dFRyYWNrQ3VlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0N1ZTo6c2V0
VGV4dCk6IE5ldy4gU2V0IGN1ZSB0ZXh0IGFuZCBjbGVhciB0aGUgZG9jdW1lbnQgZnJhZ21lbnQu
CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWU6OmdldEN1ZUFzSFRNTCk6IEFsbG9jYXRl
IHRoZSBkb2N1bWVudCBmcmFnbWVudCBpZiBpdCBkb2Vzbid0IGV4aXN0LgorICAgICAgICAqIGh0
bWwvVGV4dFRyYWNrQ3VlLmg6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWU6OnRleHQp
OgorICAgICAgICAqIGh0bWwvVGV4dFRyYWNrQ3VlLmlkbDogZ2V0Q3VlQXNTb3VyY2UoKSAtPiB0
ZXh0KCkuCisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudDo6dXBkYXRlVGV4
dFRyYWNrRGlzcGxheSk6IGdldEN1ZUFzU291cmNlKCkgLT4gdGV4dCgpLgorICAgICAgICAqIGh0
bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6dXBkYXRlVGV4dFRyYWNr
RGlzcGxheSk6IGdldEN1ZUFzU291cmNlKCkgLT4gdGV4dCgpLgorCisgICAgICAgICogaHRtbC90
cmFjay9XZWJWVFRQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViVlRUUGFyc2VyOjpj
b2xsZWN0Q3VlVGV4dCk6IHByb2Nlc3NDdWVUZXh0IGlzIGRlYWQsIGxvbmcgbGl2ZSBjcmVhdGVO
ZXdDdWUuCisgICAgICAgIChXZWJDb3JlOjpXZWJWVFRQYXJzZXI6OmNyZWF0ZURvY3VtZW50RnJh
Z21lbnRGcm9tQ3VlVGV4dCk6IE5ldywgc3BsaXQgb3V0IG9mIHByb2Nlc3NDdWVUZXh0LgorICAg
ICAgICAgICAgQ3JlYXRlIGEgZG9jdW1lbnQgZnJhZ21lbnQgZnJvbSB0aGUgU3RyaW5nIGFyZ3Vt
ZW50LgorICAgICAgICAoV2ViQ29yZTo6V2ViVlRUUGFyc2VyOjpjcmVhdGVOZXdDdWUpOiBTcGxp
dCBvdXQgb2YgcHJvY2Vzc0N1ZVRleHQuCisgICAgICAgIChXZWJDb3JlOjpXZWJWVFRQYXJzZXI6
OmNvbnN0cnVjdFRyZWVGcm9tVG9rZW4pOiBBZGQgYSBjb21tZW50IHBvaW50aW5nIHRvIHRoZSBz
cGVjIHNlY3Rpb24KKyAgICAgICAgICAgIHdpdGggdGhlIHJ1bGVzIGZvciBET00gY29uc3RydWN0
aW9uLgorICAgICAgICAqIGh0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmg6CisKIDIwMTItMDEtMDkg
IERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICAtW0RPTVJhbmdlIHJl
bmRlcmVkSW1hZ2VGb3JjaW5nQmxhY2tUZXh0Ol0gZmFpbHMgd2l0aCBub24tdXNlci1zZWxlY3Rh
YmxlIHRleHQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCShyZXZp
c2lvbiAxMDQ0NjIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtNjA0LDcgKzYwNCw3IEBAIHRlbXBsYXRlIDw+CiBzdHJ1Y3QgVmFs
dWVUb1N0cmluZzxUZXh0VHJhY2tDdWUqPiB7CiAgICAgc3RhdGljIFN0cmluZyBzdHJpbmcoVGV4
dFRyYWNrQ3VlKiBjb25zdCYgY3VlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9y
bWF0KCIlcCBpZD0lcyBpbnRlcnZhbD0lZi0tPiVmIGN1ZT0lcykiLCBjdWUsIGN1ZS0+aWQoKS51
dGY4KCkuZGF0YSgpLCBjdWUtPnN0YXJ0VGltZSgpLCBjdWUtPmVuZFRpbWUoKSwgY3VlLT5nZXRD
dWVBc1NvdXJjZSgpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3Jt
YXQoIiVwIGlkPSVzIGludGVydmFsPSVmLS0+JWYgY3VlPSVzKSIsIGN1ZSwgY3VlLT5pZCgpLnV0
ZjgoKS5kYXRhKCksIGN1ZS0+c3RhcnRUaW1lKCksIGN1ZS0+ZW5kVGltZSgpLCBjdWUtPnRleHQo
KS51dGY4KCkuZGF0YSgpKTsKICAgICB9CiB9OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL1RleHRUcmFja0N1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRt
bC9UZXh0VHJhY2tDdWUuY3BwCShyZXZpc2lvbiAxMDQ0NjIpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL1RleHRUcmFja0N1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTMxMCwxMyArMzExLDI2
IEBAIHZvaWQgVGV4dFRyYWNrQ3VlOjpzZXRBbGlnbm1lbnQoY29uc3QgU3QKICAgICBjdWVEaWRD
aGFuZ2UoKTsKIH0KICAgICAKLVN0cmluZyBUZXh0VHJhY2tDdWU6OmdldEN1ZUFzU291cmNlKCkK
K3ZvaWQgVGV4dFRyYWNrQ3VlOjpzZXRUZXh0KGNvbnN0IFN0cmluZyYgdGV4dCkKIHsKLSAgICBy
ZXR1cm4gbV9jb250ZW50OworICAgIGlmIChtX2NvbnRlbnQgPT0gdGV4dCkKKyAgICAgICAgcmV0
dXJuOworICAgIAorICAgIGN1ZVdpbGxDaGFuZ2UoKTsKKyAgICAvLyBDbGVhciB0aGUgZG9jdW1l
bnQgZnJhZ21lbnQgYnV0IGRvbid0IGJvdGhlciB0byBjcmVhdGUgaXQgYWdhaW4ganVzdCB5ZXQg
YXMgd2UgY2FuIGRvIHRoYXQKKyAgICAvLyB3aGVuIGl0IGlzIHJlcXVlc3RlZC4KKyAgICBtX2Rv
Y3VtZW50RnJhZ21lbnQgPSAwOworICAgIG1fY29udGVudCA9IHRleHQ7CisgICAgY3VlRGlkQ2hh
bmdlKCk7CiB9CiAKIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gVGV4dFRyYWNrQ3VlOjpn
ZXRDdWVBc0hUTUwoKQogeworICAgIGlmICghbV9kb2N1bWVudEZyYWdtZW50KSB7CisgICAgICAg
IE93blB0cjxXZWJWVFRQYXJzZXI+IHBhcnNlciA9IFdlYlZUVFBhcnNlcjo6Y3JlYXRlKDAsIG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CisgICAgICAgIG1fZG9jdW1lbnRGcmFnbWVudCA9IHBh
cnNlci0+Y3JlYXRlRG9jdW1lbnRGcmFnbWVudEZyb21DdWVUZXh0KG1fY29udGVudCk7CisgICAg
fQorCiAgICAgcmV0dXJuIG1fZG9jdW1lbnRGcmFnbWVudDsKIH0KIApJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9UZXh0VHJhY2tDdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL1RleHRUcmFja0N1ZS5oCShyZXZpc2lvbiAxMDQ0NjIpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL1RleHRUcmFja0N1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04OSw3ICs4OSw4IEBAIHB1Ymxp
YzoKICAgICBTdHJpbmcgYWxpZ25tZW50KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRBbGlnbm1lbnQo
Y29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogCi0gICAgU3RyaW5nIGdldEN1ZUFzU291
cmNlKCk7CisgICAgU3RyaW5nIHRleHQoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnQ7IH0KKyAg
ICB2b2lkIHNldFRleHQoY29uc3QgU3RyaW5nJik7CiAKICAgICBQYXNzUmVmUHRyPERvY3VtZW50
RnJhZ21lbnQ+IGdldEN1ZUFzSFRNTCgpOwogICAgIHZvaWQgc2V0Q3VlSFRNTChQYXNzUmVmUHRy
PERvY3VtZW50RnJhZ21lbnQ+KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dFRyYWNr
Q3VlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL1RleHRUcmFja0N1ZS5p
ZGwJKHJldmlzaW9uIDEwNDQ2MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dFRyYWNrQ3Vl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTQsNyArNTQsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAg
ICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgYWxpZ25tZW50CiAgICAgICAgICAgICBzZXR0ZXIgcmFp
c2VzIChET01FeGNlcHRpb24pOwogCi0gICAgICAgIERPTVN0cmluZyBnZXRDdWVBc1NvdXJjZSgp
OworICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRleHQ7CiAgICAgICAgIERvY3VtZW50RnJh
Z21lbnQgZ2V0Q3VlQXNIVE1MKCk7CiAgICAgICAgIAogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRM
aXN0ZW5lciBvbmVudGVyOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sUm9vdEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50LmNwcAkocmV2aXNpb24gMTA0NDYyKQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02NDIsNyArNjQyLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxl
bWVudDo6dXBkYXRlVGV4dAogICAgICAgICBpZiAoIWN1ZS0+dHJhY2soKSB8fCBjdWUtPnRyYWNr
KCktPm1vZGUoKSAhPSBUZXh0VHJhY2s6OlNIT1dJTkcpCiAgICAgICAgICAgICBjb250aW51ZTsK
IAotICAgICAgICBTdHJpbmcgY3VlVGV4dCA9IGN1ZS0+Z2V0Q3VlQXNTb3VyY2UoKTsKKyAgICAg
ICAgU3RyaW5nIGN1ZVRleHQgPSBjdWUtPnRleHQoKTsKICAgICAgICAgaWYgKCFjdWVUZXh0Lmlz
RW1wdHkoKSkgewogICAgICAgICAgICAgaWYgKCFub3RoaW5nVG9EaXNwbGF5KQogICAgICAgICAg
ICAgICAgIG1fdGV4dFRyYWNrRGlzcGxheS0+YXBwZW5kQ2hpbGQoZG9jdW1lbnQoKS0+Y3JlYXRl
RWxlbWVudChIVE1MTmFtZXM6OmJyVGFnLCBmYWxzZSksIEFTU0VSVF9OT19FWENFUFRJT04pOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRD
aHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDEwNDQ2MikKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNzYsNyArMzc2LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xS
b290RWxlbWVudENocm9taXVtOjp1cAogICAgICAgICBpZiAoIWN1ZS0+dHJhY2soKSB8fCBjdWUt
PnRyYWNrKCktPm1vZGUoKSAhPSBUZXh0VHJhY2s6OlNIT1dJTkcpCiAgICAgICAgICAgICBjb250
aW51ZTsKIAotICAgICAgICBTdHJpbmcgY3VlVGV4dCA9IGN1ZS0+Z2V0Q3VlQXNTb3VyY2UoKTsK
KyAgICAgICAgU3RyaW5nIGN1ZVRleHQgPSBjdWUtPnRleHQoKTsKICAgICAgICAgaWYgKCFjdWVU
ZXh0LmlzRW1wdHkoKSkgewogICAgICAgICAgICAgaWYgKCFub3RoaW5nVG9EaXNwbGF5KQogICAg
ICAgICAgICAgICAgIG1fdGV4dFRyYWNrRGlzcGxheS0+YXBwZW5kQ2hpbGQoZG9jdW1lbnQoKS0+
Y3JlYXRlRWxlbWVudChIVE1MTmFtZXM6OmJyVGFnLCBmYWxzZSksIEFTU0VSVF9OT19FWENFUFRJ
T04pOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmNwcAko
cmV2aXNpb24gMTA0NDYyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJz
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjIsNyArMjIyLDcgQEAgV2ViVlRUUGFyc2VyOjpQ
YXJzZVN0YXRlIFdlYlZUVFBhcnNlcjo6YwogV2ViVlRUUGFyc2VyOjpQYXJzZVN0YXRlIFdlYlZU
VFBhcnNlcjo6Y29sbGVjdEN1ZVRleHQoY29uc3QgU3RyaW5nJiBsaW5lLCB1bnNpZ25lZCBsZW5n
dGgsIHVuc2lnbmVkIHBvc2l0aW9uKQogewogICAgIGlmIChsaW5lLmlzRW1wdHkoKSkgewotICAg
ICAgICBwcm9jZXNzQ3VlVGV4dCgpOworICAgICAgICBjcmVhdGVOZXdDdWUoKTsKICAgICAgICAg
cmV0dXJuIElkOwogICAgIH0KICAgICBpZiAoIW1fY3VycmVudENvbnRlbnQuaXNFbXB0eSgpKQpA
QCAtMjMwLDcgKzIzMCw3IEBAIFdlYlZUVFBhcnNlcjo6UGFyc2VTdGF0ZSBXZWJWVFRQYXJzZXI6
OmMKICAgICBtX2N1cnJlbnRDb250ZW50LmFwcGVuZChsaW5lKTsKIAogICAgIGlmIChwb3NpdGlv
biA+PSBsZW5ndGgpCi0gICAgICAgIHByb2Nlc3NDdWVUZXh0KCk7CisgICAgICAgIGNyZWF0ZU5l
d0N1ZSgpOwogICAgICAgICAgICAgICAgIAogICAgIHJldHVybiBDdWVUZXh0OwogfQpAQCAtMjQy
LDMwICsyNDIsNDIgQEAgV2ViVlRUUGFyc2VyOjpQYXJzZVN0YXRlIFdlYlZUVFBhcnNlcjo6aQog
ICAgIHJldHVybiBJZDsKIH0KIAotdm9pZCBXZWJWVFRQYXJzZXI6OnByb2Nlc3NDdWVUZXh0KCkK
K1Bhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gIFdlYlZUVFBhcnNlcjo6Y3JlYXRlRG9jdW1l
bnRGcmFnbWVudEZyb21DdWVUZXh0KGNvbnN0IFN0cmluZyYgdGV4dCkKIHsKLSAgICAvLyA1MSAt
IEN1ZSB0ZXh0IHByb2Nlc3NpbmcgYmFzZWQgb24KKyAgICAvLyBDdWUgdGV4dCBwcm9jZXNzaW5n
IGJhc2VkIG9uCiAgICAgLy8gNC44LjEwLjEzLjQgV2ViVlRUIGN1ZSB0ZXh0IHBhcnNpbmcgcnVs
ZXMgYW5kCiAgICAgLy8gNC44LjEwLjEzLjUgV2ViVlRUIGN1ZSB0ZXh0IERPTSBjb25zdHJ1Y3Rp
b24gcnVsZXMuCi0gICAgaWYgKG1fY3VycmVudENvbnRlbnQubGVuZ3RoKCkgPD0gMCkKLSAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKCF0ZXh0Lmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gMDsK
IAogICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmlzRG9jdW1lbnQoKSk7CiAg
ICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihtX3NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpOwotCi0gICAgbV9hdHRhY2htZW50Um9vdCA9IERvY3VtZW50RnJhZ21l
bnQ6OmNyZWF0ZShkb2N1bWVudCk7Ci0gICAgbV9jdXJyZW50Tm9kZSA9IG1fYXR0YWNobWVudFJv
b3Q7CisgICAgCisgICAgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGZyYWdtZW50ID0gRG9jdW1l
bnRGcmFnbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKKyAgICBtX2N1cnJlbnROb2RlID0gZnJhZ21l
bnQ7CiAgICAgbV90b2tlbml6ZXItPnJlc2V0KCk7CiAgICAgbV90b2tlbi5jbGVhcigpOwotCi0g
ICAgU2VnbWVudGVkU3RyaW5nIGNvbnRlbnQobV9jdXJyZW50Q29udGVudC50b1N0cmluZygpKTsK
KyAgICAKKyAgICBTZWdtZW50ZWRTdHJpbmcgY29udGVudCh0ZXh0KTsKICAgICB3aGlsZSAobV90
b2tlbml6ZXItPm5leHRUb2tlbihjb250ZW50LCBtX3Rva2VuKSkKICAgICAgICAgY29uc3RydWN0
VHJlZUZyb21Ub2tlbihkb2N1bWVudCk7CiAgICAgCisgICAgcmV0dXJuIGZyYWdtZW50LnJlbGVh
c2UoKTsKK30KKwordm9pZCBXZWJWVFRQYXJzZXI6OmNyZWF0ZU5ld0N1ZSgpCit7CisgICAgaWYg
KCFtX2N1cnJlbnRDb250ZW50Lmxlbmd0aCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWZQ
dHI8RG9jdW1lbnRGcmFnbWVudD4gYXR0YWNobWVudFJvb3QgPSBjcmVhdGVEb2N1bWVudEZyYWdt
ZW50RnJvbUN1ZVRleHQobV9jdXJyZW50Q29udGVudC50b1N0cmluZygpKTsKKyAgICAKICAgICBS
ZWZQdHI8VGV4dFRyYWNrQ3VlPiBjdWUgPSBUZXh0VHJhY2tDdWU6OmNyZWF0ZShtX3NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQsIG1fY3VycmVudElkLCBtX2N1cnJlbnRTdGFydFRpbWUsIG1fY3VycmVu
dEVuZFRpbWUsIG1fY3VycmVudENvbnRlbnQudG9TdHJpbmcoKSwgbV9jdXJyZW50U2V0dGluZ3Ms
IGZhbHNlKTsKLSAgICBjdWUtPnNldEN1ZUhUTUwobV9hdHRhY2htZW50Um9vdCk7CisgICAgY3Vl
LT5zZXRDdWVIVE1MKGF0dGFjaG1lbnRSb290KTsKICAgICBtX2N1ZWxpc3QuYXBwZW5kKGN1ZSk7
Ci0gICAgbV9jbGllbnQtPm5ld0N1ZXNQYXJzZWQoKTsKKyAgICBpZiAobV9jbGllbnQpCisgICAg
ICAgIG1fY2xpZW50LT5uZXdDdWVzUGFyc2VkKCk7CiB9CiAKIHZvaWQgV2ViVlRUUGFyc2VyOjpy
ZXNldEN1ZVZhbHVlcygpCkBAIC0zNDIsNiArMzU0LDggQEAgdm9pZCBXZWJWVFRQYXJzZXI6OmNv
bnN0cnVjdFRyZWVGcm9tVG9rZQogICAgIEF0b21pY1N0cmluZyB0b2tlblRhZ05hbWUobV90b2tl
bi5uYW1lKCkuZGF0YSgpLCBtX3Rva2VuLm5hbWUoKS5zaXplKCkpOwogICAgIFF1YWxpZmllZE5h
bWUgdGFnTmFtZShudWxsQXRvbSwgdG9rZW5UYWdOYW1lLCB4aHRtbE5hbWVzcGFjZVVSSSk7CiAK
KyAgICAvLyBodHRwOi8vZGV2LnczLm9yZy9odG1sNS93ZWJ2dHQvI3dlYnZ0dC1jdWUtdGV4dC1k
b20tY29uc3RydWN0aW9uLXJ1bGVzCisgICAgCiAgICAgc3dpdGNoIChtX3Rva2VuLnR5cGUoKSkg
ewogICAgIGNhc2UgV2ViVlRUVG9rZW5UeXBlczo6Q2hhcmFjdGVyOiB7CiAgICAgICAgIFN0cmlu
ZyBjb250ZW50KG1fdG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSwgbV90b2tlbi5jaGFyYWN0ZXJz
KCkuc2l6ZSgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUUGFyc2Vy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIu
aAkocmV2aXNpb24gMTA0NDYyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQ
YXJzZXIuaAkod29ya2luZyBjb3B5KQpAQCAtODQsMTAgKzg0LDEyIEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgU3RyaW5nIGNvbGxlY3RXb3JkKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKik7CiAKICAg
ICAvLyBJbnB1dCBkYXRhIHRvIHRoZSBwYXJzZXIgdG8gcGFyc2UuCi0gICAgdmlydHVhbCB2b2lk
IHBhcnNlQnl0ZXMoY29uc3QgY2hhciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKTsKKyAgICB2b2lk
IHBhcnNlQnl0ZXMoY29uc3QgY2hhciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKTsKIAogICAgIC8v
IFRyYW5zZmVycyBvd25lcnNoaXAgb2YgbGFzdCBwYXJzZWQgY3VlcyB0byBjYWxsZXIuCi0gICAg
dmlydHVhbCB2b2lkIGdldE5ld0N1ZXMoVmVjdG9yPFJlZlB0cjxUZXh0VHJhY2tDdWU+ID4mKTsK
KyAgICB2b2lkIGdldE5ld0N1ZXMoVmVjdG9yPFJlZlB0cjxUZXh0VHJhY2tDdWU+ID4mKTsKKwor
ICAgIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gIGNyZWF0ZURvY3VtZW50RnJhZ21lbnRG
cm9tQ3VlVGV4dChjb25zdCBTdHJpbmcmKTsKIAogcHJvdGVjdGVkOgogICAgIFdlYlZUVFBhcnNl
cihXZWJWVFRQYXJzZXJDbGllbnQqLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CkBAIC0xMDEs
NyArMTAzLDcgQEAgcHJpdmF0ZToKICAgICBQYXJzZVN0YXRlIGNvbGxlY3RDdWVUZXh0KGNvbnN0
IFN0cmluZyYsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQpOwogICAgIFBhcnNlU3RhdGUgaWdu
b3JlQmFkQ3VlKGNvbnN0IFN0cmluZyYpOwogCi0gICAgdm9pZCBwcm9jZXNzQ3VlVGV4dCgpOwor
ICAgIHZvaWQgY3JlYXRlTmV3Q3VlKCk7CiAgICAgdm9pZCByZXNldEN1ZVZhbHVlcygpOwogICAg
IGRvdWJsZSBjb2xsZWN0VGltZVN0YW1wKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKik7CiAgICAg
dm9pZCBza2lwV2hpdGVTcGFjZShjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCopOwpAQCAtMTE5LDcg
KzEyMSw2IEBAIHByaXZhdGU6CiAgICAgV2ViVlRUVG9rZW4gbV90b2tlbjsKICAgICBPd25QdHI8
V2ViVlRUVG9rZW5pemVyPiBtX3Rva2VuaXplcjsKIAotICAgIFJlZlB0cjxEb2N1bWVudEZyYWdt
ZW50PiBtX2F0dGFjaG1lbnRSb290OwogICAgIFJlZlB0cjxDb250YWluZXJOb2RlPiBtX2N1cnJl
bnROb2RlOwogCiAgICAgV2ViVlRUUGFyc2VyQ2xpZW50KiBtX2NsaWVudDsKSW5kZXg6IExheW91
dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwNDUzMCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDM5IEBACisyMDEyLTAxLTA5ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25A
YXBwbGUuY29tPgorCisgICAgICAgIFJlcGxhY2UgVGV4dFRyYWNrQ3VlICJnZXRDdWVBc1NvdXJj
ZSIgbWV0aG9kIHdpdGggInRleHQiIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1tdXRhYmxlLXRl
eHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1jdWUt
bXV0YWJsZS10ZXh0Lmh0bWw6IEFkZGVkLiBOZXcgdGVzdCBmb3IgbXV0YWJsZSBjdWUgdGV4dC4K
KyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1jdWUtbm90aGluZy10by1yZW5kZXItZXhwZWN0
ZWQudHh0OiBnZXRDdWVBc1NvdXJjZSgpIC0+IHRleHQuCisgICAgICAgICogbWVkaWEvdHJhY2sv
dHJhY2stY3VlLW5vdGhpbmctdG8tcmVuZGVyLmh0bWw6IERpdHRvLgorICAgICAgICAqIG1lZGlh
L3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0OiBEaXR0by4KKyAgICAgICAg
KiBtZWRpYS90cmFjay90cmFjay1jdWUtcmVuZGVyaW5nLmh0bWw6IERpdHRvLgorICAgICAgICAq
IG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwMS11dGY4LWV4cGVjdGVkLnR4dDogRGl0dG8u
CisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDAxLXV0ZjguaHRtbDogRGl0
dG8uCisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDAyLWJvbS1leHBlY3Rl
ZC50eHQ6IERpdHRvLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwMi1i
b20uaHRtbDogRGl0dG8uCisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDAz
LW5ld2xpbmVzLWV4cGVjdGVkLnR4dDogRGl0dG8uCisgICAgICAgICogbWVkaWEvdHJhY2svdHJh
Y2std2VidnR0LXRjMDAzLW5ld2xpbmVzLmh0bWw6IERpdHRvLgorICAgICAgICAqIG1lZGlhL3Ry
YWNrL3RyYWNrLXdlYnZ0dC10YzAwNC1tYWdpYy1oZWFkZXItZXhwZWN0ZWQudHh0OiBEaXR0by4K
KyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDQtbWFnaWMtaGVhZGVyLmh0
bWw6IERpdHRvLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwNS1oZWFk
ZXItY29tbWVudC1leHBlY3RlZC50eHQ6IERpdHRvLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3Ry
YWNrLXdlYnZ0dC10YzAwNS1oZWFkZXItY29tbWVudC5odG1sOiBEaXR0by4KKyAgICAgICAgKiBt
ZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDYtY3VlLWlkZW50aWZpZXJzLWV4cGVjdGVkLnR4
dDogRGl0dG8uCisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDA2LWN1ZS1p
ZGVudGlmaWVycy5odG1sOiBEaXR0by4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay13ZWJ2
dHQtdGMwMDctY3VlLW5vLWlkLWV4cGVjdGVkLnR4dDogRGl0dG8uCisgICAgICAgICogbWVkaWEv
dHJhY2svdHJhY2std2VidnR0LXRjMDA3LWN1ZS1uby1pZC5odG1sOiBEaXR0by4KKyAgICAgICAg
KiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDgtdGltaW5ncy1uby1ob3Vycy1leHBlY3Rl
ZC50eHQ6IERpdHRvLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwOC10
aW1pbmdzLW5vLWhvdXJzLmh0bWw6IERpdHRvLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNr
LXdlYnZ0dC10YzAwOS10aW1pbmdzLWhvdXItZXhwZWN0ZWQudHh0OiBEaXR0by4KKyAgICAgICAg
KiBtZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDktdGltaW5ncy1ob3VyLmh0bWw6IERpdHRv
LgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAxMS1ibGFuay1saW5lcy1l
eHBlY3RlZC50eHQ6IERpdHRvLgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10
YzAxMS1ibGFuay1saW5lcy5odG1sOiBEaXR0by4KKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFj
ay13ZWJ2dHQtdGMwMjgtdW5zdXBwb3J0ZWQtbWFya3VwLWV4cGVjdGVkLnR4dDogRGl0dG8uCisg
ICAgICAgICogbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI4LXVuc3VwcG9ydGVkLW1hcmt1
cC5odG1sOiBEaXR0by4KKwogMjAxMi0wMS0wOSAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNs
b3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgRXJyb3IgaGFuZGxpbmcgOiBpbiBJU084NjAxIHRp
bWV6b25lCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1jdWUtbXV0YWJsZS10
ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90
cmFjay1jdWUtbXV0YWJsZS10ZXh0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1tdXRhYmxlLXRleHQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIzIEBACitUZXN0IHRoYXQgY3VlIHRleHQgaXMgbXV0YWJs
ZS4KKworCisqKiBUZXN0IGluaXRpYWwgY3VlIGluZm8KK0VYUEVDVEVEICh0ZXN0VHJhY2sudHJh
Y2suYWN0aXZlQ3Vlcy5sZW5ndGggPT0gJzAnKSBPSworRVhQRUNURUQgKHRleHRUcmFja0Rpc3Bs
YXlFbGVtZW50KHZpZGVvLCAnZGlzcGxheScpLmlubmVyVGV4dCA9PSAnJykgT0sKK0VYUEVDVEVE
ICh0ZXN0VHJhY2sudHJhY2suY3Vlc1swXS5zdGFydFRpbWUgPT0gJzEnKSBPSworRVhQRUNURUQg
KHRlc3RUcmFjay50cmFjay5jdWVzWzFdLnN0YXJ0VGltZSA9PSAnMycpIE9LCitFWFBFQ1RFRCAo
dGVzdFRyYWNrLnRyYWNrLmN1ZXNbMF0udGV4dCA9PSAnTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQsJykgT0sKK0VYUEVDVEVEIChmcmFnbWVudC5pc0VxdWFsTm9kZSh0ZXN0VHJhY2sudHJhY2su
Y3Vlc1swXS5nZXRDdWVBc0hUTUwoKSkgPT0gJ3RydWUnKSBPSworCisqKiBDaGFuZ2UgdGhlIHN0
YXJ0IHRpbWUgb2YgY3VlICMxLCBpdCBzaG91bGQgYmVjb21lIHZpc2libGUuCitSVU4odGVzdFRy
YWNrLnRyYWNrLmN1ZXNbMF0uc3RhcnRUaW1lID0gMCkKK0VYUEVDVEVEICh0ZXN0VHJhY2sudHJh
Y2suY3Vlc1swXS5zdGFydFRpbWUgPT0gJzAnKSBPSworRVhQRUNURUQgKHRleHRUcmFja0Rpc3Bs
YXlFbGVtZW50KHZpZGVvLCAnZGlzcGxheScpLmlubmVyVGV4dCA9PSAnTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQsJykgT0sKKworKiogQ2hhbmdlIHRoZSBjdWUgdGV4dCwgZ2V0Q3VlQXNIVE1M
KCkgc2hvdWxkIHJldHVybiBhIG5ldywgY29ycmVjdCBmcmFnbWVudC4KK1JVTih0ZXN0VHJhY2su
dHJhY2suY3Vlc1swXS50ZXh0ID0gJ0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCcpCitFWFBF
Q1RFRCAodGVzdFRyYWNrLnRyYWNrLmN1ZXNbMF0udGV4dCA9PSAnTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQsJykgT0sKK0VYUEVDVEVEIChmcmFnbWVudC5pc0VxdWFsTm9kZSh0ZXN0VHJhY2su
dHJhY2suY3Vlc1swXS5nZXRDdWVBc0hUTUwoKSkgPT0gJ3RydWUnKSBPSworCitFTkQgT0YgVEVT
VAorCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1jdWUtbXV0YWJsZS10ZXh0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stY3VlLW11
dGFibGUtdGV4dC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2sv
dHJhY2stY3VlLW11dGFibGUtdGV4dC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgxIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBodHRw
LWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIg
Lz4KKworICAgICAgICA8c2NyaXB0IHNyYz0uLi9tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0uLi92aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0uLi9tZWRpYS1jb250cm9scy5qcz48L3NjcmlwdD4KKworICAgICAgICA8c2NyaXB0
PiAgICAgICAgICAgIAorCisgICAgICAgIHZhciB0ZXN0VHJhY2s7CisgICAgICAgIHZhciBmcmFn
bWVudDsKKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiPGJyPioqIFRlc3QgaW5pdGlhbCBjdWUgaW5mbyIpOworCisgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoInRlc3RUcmFjay50cmFjay5hY3RpdmVDdWVzLmxlbmd0aCIsIDApOwor
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0ZXh0VHJhY2tEaXNwbGF5RWxlbWVudCh2aWRlbywg
J2Rpc3BsYXknKS5pbm5lclRleHQiLCAiIik7CisKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
dGVzdFRyYWNrLnRyYWNrLmN1ZXNbMF0uc3RhcnRUaW1lIiwgMS4wKTsKKyAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgidGVzdFRyYWNrLnRyYWNrLmN1ZXNbMV0uc3RhcnRUaW1lIiwgMy4wKTsKKwor
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0ZXN0VHJhY2sudHJhY2suY3Vlc1swXS50ZXh0Iiwg
IkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCIpOworICAgICAgICAgICAgZnJhZ21lbnQgPSBk
b2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7CisgICAgICAgICAgICBmcmFnbWVudC5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQsIikpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJmcmFnbWVudC5pc0VxdWFsTm9k
ZSh0ZXN0VHJhY2sudHJhY2suY3Vlc1swXS5nZXRDdWVBc0hUTUwoKSkiLCB0cnVlKTsKKworICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogQ2hhbmdlIHRoZSBzdGFydCB0aW1lIG9mIGN1
ZSAjMSwgaXQgc2hvdWxkIGJlY29tZSB2aXNpYmxlLiIpOworICAgICAgICAgICAgcnVuKCJ0ZXN0
VHJhY2sudHJhY2suY3Vlc1swXS5zdGFydFRpbWUgPSAwIik7CisgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoInRlc3RUcmFjay50cmFjay5jdWVzWzBdLnN0YXJ0VGltZSIsIDApOworICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJ0ZXh0VHJhY2tEaXNwbGF5RWxlbWVudCh2aWRlbywgJ2Rpc3BsYXkn
KS5pbm5lclRleHQiLCAiTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIik7CisKKyAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIENoYW5nZSB0aGUgY3VlIHRleHQsIGdldEN1ZUFzSFRN
TCgpIHNob3VsZCByZXR1cm4gYSBuZXcsIGNvcnJlY3QgZnJhZ21lbnQuIik7CisgICAgICAgICAg
ICBydW4oInRlc3RUcmFjay50cmFjay5jdWVzWzBdLnRleHQgPSAnTG9yZW0gPGI+aXBzdW08L2I+
IDx1PmRvbG9yPC91PiA8aS5zaXQ+c2l0PC9pPiBhbWV0LCciKTsKKyAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgidGVzdFRyYWNrLnRyYWNrLmN1ZXNbMF0udGV4dCIsICJMb3JlbSA8Yj5pcHN1bTwv
Yj4gPHU+ZG9sb3I8L3U+IDxpLnNpdD5zaXQ8L2k+IGFtZXQsIik7CisKKyAgICAgICAgICAgIGZy
YWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOworICAgICAgICAgICAg
ZnJhZ21lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIkxvcmVtICIpKTsK
KworICAgICAgICAgICAgdmFyIGJvbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiIik7Cisg
ICAgICAgICAgICBib2xkLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJpcHN1
bSIpKTsKKyAgICAgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKGJvbGQpOworCisgICAgICAg
ICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpKTsK
KworICAgICAgICAgICAgdmFyIHVuZGVybGluZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInUi
KTsKKyAgICAgICAgICAgIHVuZGVybGluZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZSgiZG9sb3IiKSk7CisgICAgICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZCh1bmRlcmxp
bmUpOworCisgICAgICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZSgiICIpKTsKKworICAgICAgICAgICAgdmFyIGl0YWxpY3MgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpIik7CisgICAgICAgICAgICBpdGFsaWNzLmNsYXNzTmFtZSA9ICJzaXQiOwor
ICAgICAgICAgICAgaXRhbGljcy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgi
c2l0IikpOworICAgICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoaXRhbGljcyk7CisKKyAg
ICAgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIg
YW1ldCwiKSk7CisKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZnJhZ21lbnQuaXNFcXVhbE5v
ZGUodGVzdFRyYWNrLnRyYWNrLmN1ZXNbMF0uZ2V0Q3VlQXNIVE1MKCkpIiwgdHJ1ZSk7CisKKyAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAg
ICAgIH0KKworICAgICAgICBmdW5jdGlvbiBsb2FkZWQoKQorICAgICAgICB7CisgICAgICAgICAg
ICBmaW5kTWVkaWFFbGVtZW50KCk7CisgICAgICAgICAgICB0ZXN0VHJhY2sgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCd0cmFjaycpOworICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlh
RmlsZSgndmlkZW8nLCAnLi4vY29udGVudC9jb3VudGluZycpOworICAgICAgICB9CisgICAgICAg
IAorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJsb2Fk
ZWQoKSI+CisgICAgICAgIDx2aWRlbyBjb250cm9scyA+CisgICAgICAgICAgICA8dHJhY2sgc3Jj
PSJjYXB0aW9ucy13ZWJ2dHQvY2FwdGlvbnMtZ2Fwcy52dHQiIGtpbmQ9ImNhcHRpb25zIiBkZWZh
dWx0IG9ubG9hZD0idGVzdCgpIj4KKyAgICAgICAgPC92aWRlbz4KKyAgICAgICAgPHA+VGVzdCB0
aGF0IGN1ZSB0ZXh0IGlzIG11dGFibGUuPC9wPgorICAgIDwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1ub3RoaW5nLXRvLXJlbmRlci1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stY3Vl
LW5vdGhpbmctdG8tcmVuZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTA0NDYyKQorKysgTGF5
b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stY3VlLW5vdGhpbmctdG8tcmVuZGVyLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4LDcgQEAgRVhQRUNURUQgKHRleHRUcmFja0Rp
c3BsYXlFbGVtZW50KHZpZGVvLAogUlVOKHZpZGVvLmN1cnJlbnRUaW1lID0gMS41KQogRVZFTlQo
c2Vla2VkKQogRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRUaW1lLnRvRml4ZWQoMSkgPT0gJzEuNScp
IE9LCi1FWFBFQ1RFRCAodGVzdFRyYWNrLnRyYWNrLmFjdGl2ZUN1ZXNbMF0uZ2V0Q3VlQXNTb3Vy
Y2UoKSA9PSAnTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsJykgT0sKK0VYUEVDVEVEICh0ZXN0
VHJhY2sudHJhY2suYWN0aXZlQ3Vlc1swXS50ZXh0ID09ICdMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldCwnKSBPSwogRVhQRUNURUQgKHRleHRUcmFja0Rpc3BsYXlFbGVtZW50KHZpZGVvLCAnZGlz
cGxheScpLmlubmVyVGV4dCA9PSAnTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsJykgT0sKIAog
UlVOKHZpZGVvLmN1cnJlbnRUaW1lID0gMi41KQpAQCAtMTksNyArMTksNyBAQCBFWFBFQ1RFRCAo
dGV4dFRyYWNrRGlzcGxheUVsZW1lbnQodmlkZW8sCiBSVU4odmlkZW8uY3VycmVudFRpbWUgPSAz
LjMpCiBFVkVOVChzZWVrZWQpCiBFWFBFQ1RFRCAodmlkZW8uY3VycmVudFRpbWUudG9GaXhlZCgx
KSA9PSAnMy4zJykgT0sKLUVYUEVDVEVEICh0ZXN0VHJhY2sudHJhY2suYWN0aXZlQ3Vlc1swXS5n
ZXRDdWVBc1NvdXJjZSgpID09ICdjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCcpIE9LCitF
WFBFQ1RFRCAodGVzdFRyYWNrLnRyYWNrLmFjdGl2ZUN1ZXNbMF0udGV4dCA9PSAnY29uc2VjdGV0
dWVyIGFkaXBpc2NpbmcgZWxpdCwnKSBPSwogRVhQRUNURUQgKHRleHRUcmFja0Rpc3BsYXlFbGVt
ZW50KHZpZGVvLCAnZGlzcGxheScpLmlubmVyVGV4dCA9PSAnY29uc2VjdGV0dWVyIGFkaXBpc2Np
bmcgZWxpdCwnKSBPSwogCiBSVU4odmlkZW8uY3VycmVudFRpbWUgPSAwLjYpCkBAIC0zMCw3ICsz
MCw3IEBAIEVYUEVDVEVEICh0ZXh0VHJhY2tEaXNwbGF5RWxlbWVudCh2aWRlbywKIFJVTih2aWRl
by5jdXJyZW50VGltZSA9IDUuOSkKIEVWRU5UKHNlZWtlZCkKIEVYUEVDVEVEICh2aWRlby5jdXJy
ZW50VGltZS50b0ZpeGVkKDEpID09ICc1LjknKSBPSwotRVhQRUNURUQgKHRlc3RUcmFjay50cmFj
ay5hY3RpdmVDdWVzWzBdLmdldEN1ZUFzU291cmNlKCkgPT0gJ3NlZCBkaWFtIG5vbnVtbXkgbmli
aCBldWlzbW9kIHRpbmNpZHVudCcpIE9LCitFWFBFQ1RFRCAodGVzdFRyYWNrLnRyYWNrLmFjdGl2
ZUN1ZXNbMF0udGV4dCA9PSAnc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50
JykgT0sKIEVYUEVDVEVEICh0ZXh0VHJhY2tEaXNwbGF5RWxlbWVudCh2aWRlbywgJ2Rpc3BsYXkn
KS5pbm5lclRleHQgPT0gJ3NlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCcp
IE9LCiAKIFJVTih2aWRlby5jdXJyZW50VGltZSA9IDQuNCkKQEAgLTQxLDcgKzQxLDcgQEAgRVhQ
RUNURUQgKHRleHRUcmFja0Rpc3BsYXlFbGVtZW50KHZpZGVvLAogUlVOKHZpZGVvLmN1cnJlbnRU
aW1lID0gNy45KQogRVZFTlQoc2Vla2VkKQogRVhQRUNURUQgKHZpZGVvLmN1cnJlbnRUaW1lLnRv
Rml4ZWQoMSkgPT0gJzcuOScpIE9LCi1FWFBFQ1RFRCAodGVzdFRyYWNrLnRyYWNrLmFjdGl2ZUN1
ZXNbMF0uZ2V0Q3VlQXNTb3VyY2UoKSA9PSAndXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVh
bSBlcmF0IHZvbHV0cGF0LicpIE9LCitFWFBFQ1RFRCAodGVzdFRyYWNrLnRyYWNrLmFjdGl2ZUN1
ZXNbMF0udGV4dCA9PSAndXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0
cGF0LicpIE9LCiBFWFBFQ1RFRCAodGV4dFRyYWNrRGlzcGxheUVsZW1lbnQodmlkZW8sICdkaXNw
bGF5JykuaW5uZXJUZXh0ID09ICd1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQg
dm9sdXRwYXQuJykgT0sKIAogRU5EIE9GIFRFU1QKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3Ry
YWNrL3RyYWNrLWN1ZS1ub3RoaW5nLXRvLXJlbmRlci5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1ub3RoaW5nLXRvLXJlbmRlci5odG1sCShyZXZp
c2lvbiAxMDQ0NjIpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1jdWUtbm90aGlu
Zy10by1yZW5kZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogCiAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmN1cnJlbnRUaW1lLnRvRml4ZWQoMSkiLCB0aW1l
LnRvRml4ZWQoMSkpOwogICAgICAgICAgICAgaWYgKGN1ZVRleHQubGVuZ3RoKQotICAgICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgidGVzdFRyYWNrLnRyYWNrLmFjdGl2ZUN1ZXNbMF0uZ2V0Q3Vl
QXNTb3VyY2UoKSIsIGN1ZVRleHQpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidGVz
dFRyYWNrLnRyYWNrLmFjdGl2ZUN1ZXNbMF0udGV4dCIsIGN1ZVRleHQpOwogICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJ0ZXh0VHJhY2tEaXNwbGF5RWxlbWVudCh2aWRlbywgJ2Rpc3BsYXknKS5p
bm5lclRleHQiLCBjdWVUZXh0KTsKIAogICAgICAgICAgICAgaWYgKHNlZWtlZENvdW50ID49IGlu
Zm8ubGVuZ3RoKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1jdWUtcmVu
ZGVyaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay90cmFjay1jdWUtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTA0NDYyKQorKysg
TGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stY3VlLXJlbmRlcmluZy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTMsMjggKzMsMjggQEAgRVZFTlQoY2FucGxheXRocm91Z2gpCiBF
VkVOVChzZWVrZWQpCiBFWFBFQ1RFRCAodmlkZW8uY3VycmVudFRpbWUgPT0gJzAuNScpIE9LCiBF
WFBFQ1RFRCAodGVzdFRyYWNrLnRyYWNrLmFjdGl2ZUN1ZXMubGVuZ3RoID09ICcxJykgT0sKLUVY
UEVDVEVEICh0ZXN0VHJhY2sudHJhY2suYWN0aXZlQ3Vlc1swXS5nZXRDdWVBc1NvdXJjZSgpID09
ICdMb3JlbScpIE9LCitFWFBFQ1RFRCAodGVzdFRyYWNrLnRyYWNrLmFjdGl2ZUN1ZXNbMF0udGV4
dCA9PSAnTG9yZW0nKSBPSwogRVhQRUNURUQgKHRleHRUcmFja0Rpc3BsYXlFbGVtZW50KHZpZGVv
LCAnZGlzcGxheScpLmlubmVyVGV4dCA9PSAnTG9yZW0nKSBPSwogCiBSVU4odmlkZW8uY3VycmVu
dFRpbWUgPSAxLjUpCiBFVkVOVChzZWVrZWQpCiBFWFBFQ1RFRCAodmlkZW8uY3VycmVudFRpbWUg
PT0gJzEuNScpIE9LCiBFWFBFQ1RFRCAodGVzdFRyYWNrLnRyYWNrLmFjdGl2ZUN1ZXMubGVuZ3Ro
ID09ICcxJykgT0sKLUVYUEVDVEVEICh0ZXN0VHJhY2sudHJhY2suYWN0aXZlQ3Vlc1swXS5nZXRD
dWVBc1NvdXJjZSgpID09ICdpcHN1bScpIE9LCitFWFBFQ1RFRCAodGVzdFRyYWNrLnRyYWNrLmFj
dGl2ZUN1ZXNbMF0udGV4dCA9PSAnaXBzdW0nKSBPSwogRVhQRUNURUQgKHRleHRUcmFja0Rpc3Bs
YXlFbGVtZW50KHZpZGVvLCAnZGlzcGxheScpLmlubmVyVGV4dCA9PSAnaXBzdW0nKSBPSwogCiBS
VU4odmlkZW8uY3VycmVudFRpbWUgPSAyLjUpCiBFVkVOVChzZWVrZWQpCiBFWFBFQ1RFRCAodmlk
ZW8uY3VycmVudFRpbWUgPT0gJzIuNScpIE9LCiBFWFBFQ1RFRCAodGVzdFRyYWNrLnRyYWNrLmFj
dGl2ZUN1ZXMubGVuZ3RoID09ICcxJykgT0sKLUVYUEVDVEVEICh0ZXN0VHJhY2sudHJhY2suYWN0
aXZlQ3Vlc1swXS5nZXRDdWVBc1NvdXJjZSgpID09ICdkb2xvcicpIE9LCitFWFBFQ1RFRCAodGVz
dFRyYWNrLnRyYWNrLmFjdGl2ZUN1ZXNbMF0udGV4dCA9PSAnZG9sb3InKSBPSwogRVhQRUNURUQg
KHRleHRUcmFja0Rpc3BsYXlFbGVtZW50KHZpZGVvLCAnZGlzcGxheScpLmlubmVyVGV4dCA9PSAn
ZG9sb3InKSBPSwogCiBSVU4odmlkZW8uY3VycmVudFRpbWUgPSAzLjUpCiBFVkVOVChzZWVrZWQp
CiBFWFBFQ1RFRCAodmlkZW8uY3VycmVudFRpbWUgPT0gJzMuNScpIE9LCiBFWFBFQ1RFRCAodGVz
dFRyYWNrLnRyYWNrLmFjdGl2ZUN1ZXMubGVuZ3RoID09ICcxJykgT0sKLUVYUEVDVEVEICh0ZXN0
VHJhY2sudHJhY2suYWN0aXZlQ3Vlc1swXS5nZXRDdWVBc1NvdXJjZSgpID09ICdzaXQnKSBPSwor
RVhQRUNURUQgKHRlc3RUcmFjay50cmFjay5hY3RpdmVDdWVzWzBdLnRleHQgPT0gJ3NpdCcpIE9L
CiBFWFBFQ1RFRCAodGV4dFRyYWNrRGlzcGxheUVsZW1lbnQodmlkZW8sICdkaXNwbGF5JykuaW5u
ZXJUZXh0ID09ICdzaXQnKSBPSwogCiBUZXN0IHRoZSBjdWUgZGlzcGxheSBjb2xvcnMgYW5kIGZv
bnQuCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1jdWUtcmVuZGVyaW5nLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stY3VlLXJlbmRl
cmluZy5odG1sCShyZXZpc2lvbiAxMDQ0NjIpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90
cmFjay1jdWUtcmVuZGVyaW5nLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcgQEAK
IAogICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby5jdXJyZW50VGltZSIsIHNlZWtlZENv
dW50ICsgLjUpOwogICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0ZXN0VHJhY2sudHJhY2suYWN0
aXZlQ3Vlcy5sZW5ndGgiLCAxKTsKLSAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidGVzdFRyYWNr
LnRyYWNrLmFjdGl2ZUN1ZXNbMF0uZ2V0Q3VlQXNTb3VyY2UoKSIsIGluZm9bc2Vla2VkQ291bnRd
KTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidGVzdFRyYWNrLnRyYWNrLmFjdGl2ZUN1ZXNb
MF0udGV4dCIsIGluZm9bc2Vla2VkQ291bnRdKTsKICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
dGV4dFRyYWNrRGlzcGxheUVsZW1lbnQodmlkZW8sICdkaXNwbGF5JykuaW5uZXJUZXh0IiwgaW5m
b1tzZWVrZWRDb3VudF0pOwogCiAgICAgICAgICAgICBpZiAoKytzZWVrZWRDb3VudCA9PSBpbmZv
Lmxlbmd0aCkKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAw
MS11dGY4LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay90cmFjay13ZWJ2dHQtdGMwMDEtdXRmOC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEwNDQ2MikK
KysrIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwMS11dGY4LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNiwxMSArNiwxMSBAQCBFWFBFQ1RFRCAoY3Vlcy5s
ZW5ndGggPT0gJzInKSBPSwogRVhQRUNURUQgKGN1ZXNbMF0uaWQgPT0gJzEnKSBPSwogRVhQRUNU
RUQgKGN1ZXNbMF0uc3RhcnRUaW1lID09ICcwJykgT0sKIEVYUEVDVEVEIChjdWVzWzBdLmVuZFRp
bWUgPT0gJzMwLjUnKSBPSwotRVhQRUNURUQgKGN1ZXNbMF0uZ2V0Q3VlQXNTb3VyY2UoKSA9PSAn
5pmv5rCX5Yik5patJykgT0sKK0VYUEVDVEVEIChjdWVzWzBdLnRleHQgPT0gJ+aZr+awl+WIpOaW
rScpIE9LCiBFWFBFQ1RFRCAoY3Vlc1sxXS5pZCA9PSAnMicpIE9LCiBFWFBFQ1RFRCAoY3Vlc1sx
XS5zdGFydFRpbWUgPT0gJzMxJykgT0sKIEVYUEVDVEVEIChjdWVzWzFdLmVuZFRpbWUgPT0gJzEy
MDAuNScpIE9LCi1FWFBFQ1RFRCAoY3Vlc1sxXS5nZXRDdWVBc1NvdXJjZSgpID09ICfpm7vlipvk
uI3otrMnKSBPSworRVhQRUNURUQgKGN1ZXNbMV0udGV4dCA9PSAn6Zu75Yqb5LiN6LazJykgT0sK
IAogKioqIFRlc3RpbmcgdGV4dCB0cmFjayAxCiBFWFBFQ1RFRCAoY3Vlcy5sZW5ndGggPT0gJzIn
KSBPSwpJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDAxLXV0
ZjguaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay13ZWJ2
dHQtdGMwMDEtdXRmOC5odG1sCShyZXZpc2lvbiAxMDQ0NjIpCisrKyBMYXlvdXRUZXN0cy9tZWRp
YS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDEtdXRmOC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0z
OSw3ICszOSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzIDogWzMwLjUs
IDEyMDAuNV0sCiAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5IDogImdldEN1ZUFz
U291cmNlKCkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5IDogInRleHQi
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcyA6IFsi5pmv5rCX5Yik5patIiwg
Iumbu+WKm+S4jei2syJdLAogICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAg
ICAgICAgICAgXSwKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10
YzAwMi1ib20tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3Ry
YWNrL3RyYWNrLXdlYnZ0dC10YzAwMi1ib20tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMDQ0NjIp
CisrKyBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDItYm9tLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNiwxMCArNiwxMCBAQCBFWFBFQ1RFRCAoY3Vlcy5s
ZW5ndGggPT0gJzInKSBPSwogRVhQRUNURUQgKGN1ZXNbMF0uaWQgPT0gJzEnKSBPSwogRVhQRUNU
RUQgKGN1ZXNbMF0uc3RhcnRUaW1lID09ICcwJykgT0sKIEVYUEVDVEVEIChjdWVzWzBdLmVuZFRp
bWUgPT0gJzMwLjUnKSBPSwotRVhQRUNURUQgKGN1ZXNbMF0uZ2V0Q3VlQXNTb3VyY2UoKSA9PSAn
QmVhciBpcyBDb21pbmchISEhIScpIE9LCitFWFBFQ1RFRCAoY3Vlc1swXS50ZXh0ID09ICdCZWFy
IGlzIENvbWluZyEhISEhJykgT0sKIEVYUEVDVEVEIChjdWVzWzFdLmlkID09ICcyJykgT0sKIEVY
UEVDVEVEIChjdWVzWzFdLnN0YXJ0VGltZSA9PSAnMzEnKSBPSwogRVhQRUNURUQgKGN1ZXNbMV0u
ZW5kVGltZSA9PSAnMTIwMC41JykgT0sKLUVYUEVDVEVEIChjdWVzWzFdLmdldEN1ZUFzU291cmNl
KCkgPT0gJ0kgc2FpZCBCZWFyIGlzIGNvbWluZyEhISEnKSBPSworRVhQRUNURUQgKGN1ZXNbMV0u
dGV4dCA9PSAnSSBzYWlkIEJlYXIgaXMgY29taW5nISEhIScpIE9LCiBFTkQgT0YgVEVTVAogCklu
ZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDItYm9tLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDAy
LWJvbS5odG1sCShyZXZpc2lvbiAxMDQ0NjIpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90
cmFjay13ZWJ2dHQtdGMwMDItYm9tLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcg
QEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgOiBbMzAuNSwgMTIwMC41XSwK
ICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkgOiAiZ2V0Q3VlQXNTb3VyY2UoKSIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkgOiAidGV4dCIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdmFsdWVzIDogWyJCZWFyIGlzIENvbWluZyEhISEhIiwgIkkg
c2FpZCBCZWFyIGlzIGNvbWluZyEhISEiXSwKICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAg
ICAgICAgICAgICAgICAgICAgIF0sCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFj
ay13ZWJ2dHQtdGMwMDMtbmV3bGluZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwMy1uZXdsaW5lcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDEwNDQ2MikKKysrIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdl
YnZ0dC10YzAwMy1uZXdsaW5lcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTYsMTMg
KzYsMTMgQEAgRVhQRUNURUQgKGN1ZXMubGVuZ3RoID09ICcxJykgT0sKIEVYUEVDVEVEIChjdWVz
WzBdLmlkID09ICcxJykgT0sKIEVYUEVDVEVEIChjdWVzWzBdLnN0YXJ0VGltZSA9PSAnMCcpIE9L
CiBFWFBFQ1RFRCAoY3Vlc1swXS5lbmRUaW1lID09ICczMC41JykgT0sKLUVYUEVDVEVEIChjdWVz
WzBdLmdldEN1ZUFzU291cmNlKCkgPT0gJ0JlYXIgaXMgQ29taW5nISEhISEnKSBPSworRVhQRUNU
RUQgKGN1ZXNbMF0udGV4dCA9PSAnQmVhciBpcyBDb21pbmchISEhIScpIE9LCiAKICoqKiBUZXN0
aW5nIHRleHQgdHJhY2sgMQogRVhQRUNURUQgKGN1ZXMubGVuZ3RoID09ICcxJykgT0sKIEVYUEVD
VEVEIChjdWVzWzBdLmlkID09ICcxJykgT0sKIEVYUEVDVEVEIChjdWVzWzBdLnN0YXJ0VGltZSA9
PSAnMCcpIE9LCiBFWFBFQ1RFRCAoY3Vlc1swXS5lbmRUaW1lID09ICczMC41JykgT0sKLUVYUEVD
VEVEIChjdWVzWzBdLmdldEN1ZUFzU291cmNlKCkgPT0gJ0JlYXIgaXMgQ29taW5nISEhISEnKSBP
SworRVhQRUNURUQgKGN1ZXNbMF0udGV4dCA9PSAnQmVhciBpcyBDb21pbmchISEhIScpIE9LCiBF
TkQgT0YgVEVTVAogCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay13ZWJ2dHQt
dGMwMDMtbmV3bGluZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay90cmFjay13ZWJ2dHQtdGMwMDMtbmV3bGluZXMuaHRtbAkocmV2aXNpb24gMTA0NDYyKQorKysg
TGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDAzLW5ld2xpbmVzLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2YWx1ZXMgOiBbMzAuNV0sCiAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5
IDogImdldEN1ZUFzU291cmNlKCkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3Bl
cnR5IDogInRleHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcyA6IFsiQmVh
ciBpcyBDb21pbmchISEhISJdLAogICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAg
ICAgICAgICAgICAgXSwKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0
dC10YzAwNC1tYWdpYy1oZWFkZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwNC1tYWdpYy1oZWFkZXItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAxMDQ0NjIpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay13
ZWJ2dHQtdGMwMDQtbWFnaWMtaGVhZGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
NiwyMiArNiwyMiBAQCBFWFBFQ1RFRCAoY3Vlcy5sZW5ndGggPT0gJzInKSBPSwogRVhQRUNURUQg
KGN1ZXNbMF0uaWQgPT0gJzEnKSBPSwogRVhQRUNURUQgKGN1ZXNbMF0uc3RhcnRUaW1lID09ICcw
JykgT0sKIEVYUEVDVEVEIChjdWVzWzBdLmVuZFRpbWUgPT0gJzMwLjUnKSBPSwotRVhQRUNURUQg
KGN1ZXNbMF0uZ2V0Q3VlQXNTb3VyY2UoKSA9PSAnQmVhciBpcyBDb21pbmchISEhIScpIE9LCitF
WFBFQ1RFRCAoY3Vlc1swXS50ZXh0ID09ICdCZWFyIGlzIENvbWluZyEhISEhJykgT0sKIEVYUEVD
VEVEIChjdWVzWzFdLmlkID09ICcyJykgT0sKIEVYUEVDVEVEIChjdWVzWzFdLnN0YXJ0VGltZSA9
PSAnMzEnKSBPSwogRVhQRUNURUQgKGN1ZXNbMV0uZW5kVGltZSA9PSAnMTIwMC41JykgT0sKLUVY
UEVDVEVEIChjdWVzWzFdLmdldEN1ZUFzU291cmNlKCkgPT0gJ0kgc2FpZCBCZWFyIGlzIGNvbWlu
ZyEhISEnKSBPSworRVhQRUNURUQgKGN1ZXNbMV0udGV4dCA9PSAnSSBzYWlkIEJlYXIgaXMgY29t
aW5nISEhIScpIE9LCiAKICoqKiBUZXN0aW5nIHRleHQgdHJhY2sgMQogRVhQRUNURUQgKGN1ZXMu
bGVuZ3RoID09ICcyJykgT0sKIEVYUEVDVEVEIChjdWVzWzBdLmlkID09ICcxJykgT0sKIEVYUEVD
VEVEIChjdWVzWzBdLnN0YXJ0VGltZSA9PSAnMCcpIE9LCiBFWFBFQ1RFRCAoY3Vlc1swXS5lbmRU
aW1lID09ICczMC41JykgT0sKLUVYUEVDVEVEIChjdWVzWzBdLmdldEN1ZUFzU291cmNlKCkgPT0g
J0JlYXIgaXMgQ29taW5nISEhISEnKSBPSworRVhQRUNURUQgKGN1ZXNbMF0udGV4dCA9PSAnQmVh
ciBpcyBDb21pbmchISEhIScpIE9LCiBFWFBFQ1RFRCAoY3Vlc1sxXS5pZCA9PSAnMicpIE9LCiBF
WFBFQ1RFRCAoY3Vlc1sxXS5zdGFydFRpbWUgPT0gJzMxJykgT0sKIEVYUEVDVEVEIChjdWVzWzFd
LmVuZFRpbWUgPT0gJzEyMDAuNScpIE9LCi1FWFBFQ1RFRCAoY3Vlc1sxXS5nZXRDdWVBc1NvdXJj
ZSgpID09ICdJIHNhaWQgQmVhciBpcyBjb21pbmchISEhJykgT0sKK0VYUEVDVEVEIChjdWVzWzFd
LnRleHQgPT0gJ0kgc2FpZCBCZWFyIGlzIGNvbWluZyEhISEnKSBPSwogCiAqKiogVGVzdGluZyB0
ZXh0IHRyYWNrIDIKIEVYUEVDVEVEIChjdWVzLmxlbmd0aCA9PSAnMCcpIE9LCkluZGV4OiBMYXlv
dXRUZXN0cy9tZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDQtbWFnaWMtaGVhZGVyLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDA0
LW1hZ2ljLWhlYWRlci5odG1sCShyZXZpc2lvbiAxMDQ0NjIpCisrKyBMYXlvdXRUZXN0cy9tZWRp
YS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDQtbWFnaWMtaGVhZGVyLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTQwLDcgKzQwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMg
OiBbMzAuNSwgMTIwMC41XSwKICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkgOiAi
Z2V0Q3VlQXNTb3VyY2UoKSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkg
OiAidGV4dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzIDogWyJCZWFyIGlz
IENvbWluZyEhISEhIiwgIkkgc2FpZCBCZWFyIGlzIGNvbWluZyEhISEiXSwKICAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIF0sCkluZGV4OiBMYXlvdXRUZXN0
cy9tZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDUtaGVhZGVyLWNvbW1lbnQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10
YzAwNS1oZWFkZXItY29tbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEwNDQ2MikKKysrIExh
eW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwNS1oZWFkZXItY29tbWVudC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTYsMjEgKzYsMjEgQEAgRVhQRUNURUQgKGN1
ZXMubGVuZ3RoID09ICcyJykgT0sKIEVYUEVDVEVEIChjdWVzWzBdLmlkID09ICcxJykgT0sKIEVY
UEVDVEVEIChjdWVzWzBdLnN0YXJ0VGltZSA9PSAnMCcpIE9LCiBFWFBFQ1RFRCAoY3Vlc1swXS5l
bmRUaW1lID09ICczMC41JykgT0sKLUVYUEVDVEVEIChjdWVzWzBdLmdldEN1ZUFzU291cmNlKCkg
PT0gJ0JlYXIgaXMgQ29taW5nISEhISEnKSBPSworRVhQRUNURUQgKGN1ZXNbMF0udGV4dCA9PSAn
QmVhciBpcyBDb21pbmchISEhIScpIE9LCiBFWFBFQ1RFRCAoY3Vlc1sxXS5pZCA9PSAnMicpIE9L
CiBFWFBFQ1RFRCAoY3Vlc1sxXS5zdGFydFRpbWUgPT0gJzMxJykgT0sKIEVYUEVDVEVEIChjdWVz
WzFdLmVuZFRpbWUgPT0gJzEyMDAuNScpIE9LCi1FWFBFQ1RFRCAoY3Vlc1sxXS5nZXRDdWVBc1Nv
dXJjZSgpID09ICdJIHNhaWQgQmVhciBpcyBjb21pbmchISEhJykgT0sKK0VYUEVDVEVEIChjdWVz
WzFdLnRleHQgPT0gJ0kgc2FpZCBCZWFyIGlzIGNvbWluZyEhISEnKSBPSwogCiAqKiogVGVzdGlu
ZyB0ZXh0IHRyYWNrIDEKIEVYUEVDVEVEIChjdWVzLmxlbmd0aCA9PSAnMicpIE9LCiBFWFBFQ1RF
RCAoY3Vlc1swXS5pZCA9PSAnMScpIE9LCiBFWFBFQ1RFRCAoY3Vlc1swXS5zdGFydFRpbWUgPT0g
JzAnKSBPSwogRVhQRUNURUQgKGN1ZXNbMF0uZW5kVGltZSA9PSAnMzAuNScpIE9LCi1FWFBFQ1RF
RCAoY3Vlc1swXS5nZXRDdWVBc1NvdXJjZSgpID09ICdCZWFyIGlzIENvbWluZyEhISEhJykgT0sK
K0VYUEVDVEVEIChjdWVzWzBdLnRleHQgPT0gJ0JlYXIgaXMgQ29taW5nISEhISEnKSBPSwogRVhQ
RUNURUQgKGN1ZXNbMV0uaWQgPT0gJzInKSBPSwogRVhQRUNURUQgKGN1ZXNbMV0uc3RhcnRUaW1l
ID09ICczMScpIE9LCiBFWFBFQ1RFRCAoY3Vlc1sxXS5lbmRUaW1lID09ICcxMjAwLjUnKSBPSwot
RVhQRUNURUQgKGN1ZXNbMV0uZ2V0Q3VlQXNTb3VyY2UoKSA9PSAnSSBzYWlkIEJlYXIgaXMgY29t
aW5nISEhIScpIE9LCitFWFBFQ1RFRCAoY3Vlc1sxXS50ZXh0ID09ICdJIHNhaWQgQmVhciBpcyBj
b21pbmchISEhJykgT0sKIEVORCBPRiBURVNUCiAKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3Ry
YWNrL3RyYWNrLXdlYnZ0dC10YzAwNS1oZWFkZXItY29tbWVudC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwNS1oZWFkZXItY29tbWVu
dC5odG1sCShyZXZpc2lvbiAxMDQ0NjIpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFj
ay13ZWJ2dHQtdGMwMDUtaGVhZGVyLWNvbW1lbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzgs
NyArMzgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcyA6IFszMC41LCAx
MjAwLjVdLAogICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eSA6ICJnZXRDdWVBc1Nv
dXJjZSgpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eSA6ICJ0ZXh0IiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgOiBbIkJlYXIgaXMgQ29taW5nISEh
ISEiLCAiSSBzYWlkIEJlYXIgaXMgY29taW5nISEhISJdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKICAgICAgICAgICAgICAgICAgICAgXSwKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3Ry
YWNrL3RyYWNrLXdlYnZ0dC10YzAwNi1jdWUtaWRlbnRpZmllcnMtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwNi1jdWUt
aWRlbnRpZmllcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMDQ0NjIpCisrKyBMYXlvdXRUZXN0
cy9tZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDYtY3VlLWlkZW50aWZpZXJzLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtNiwxOSArNiwxOSBAQCBFWFBFQ1RFRCAoY3Vlcy5sZW5n
dGggPT0gJzQnKSBPSwogRVhQRUNURUQgKGN1ZXNbMF0uaWQgPT0gJ3JhbmRvbV9pZCcpIE9LCiBF
WFBFQ1RFRCAoY3Vlc1swXS5zdGFydFRpbWUgPT0gJzAnKSBPSwogRVhQRUNURUQgKGN1ZXNbMF0u
ZW5kVGltZSA9PSAnMzAuNScpIE9LCi1FWFBFQ1RFRCAoY3Vlc1swXS5nZXRDdWVBc1NvdXJjZSgp
ID09ICdCZWFyIGlzIENvbWluZyEhISEhJykgT0sKK0VYUEVDVEVEIChjdWVzWzBdLnRleHQgPT0g
J0JlYXIgaXMgQ29taW5nISEhISEnKSBPSwogRVhQRUNURUQgKGN1ZXNbMV0uaWQgPT0gJ2Fub3Ro
ZXIgcmFuZG9tIGlkZW50aWZpZXInKSBPSwogRVhQRUNURUQgKGN1ZXNbMV0uc3RhcnRUaW1lID09
ICczMScpIE9LCiBFWFBFQ1RFRCAoY3Vlc1sxXS5lbmRUaW1lID09ICc2MC41JykgT0sKLUVYUEVD
VEVEIChjdWVzWzFdLmdldEN1ZUFzU291cmNlKCkgPT0gJ0kgc2FpZCBCZWFyIGlzIGNvbWluZyEh
ISEnKSBPSworRVhQRUNURUQgKGN1ZXNbMV0udGV4dCA9PSAnSSBzYWlkIEJlYXIgaXMgY29taW5n
ISEhIScpIE9LCiBFWFBFQ1RFRCAoY3Vlc1syXS5pZCA9PSAnaWRlbnRpZmllci0tdG9vJykgT0sK
IEVYUEVDVEVEIChjdWVzWzJdLnN0YXJ0VGltZSA9PSAnNjEnKSBPSwogRVhQRUNURUQgKGN1ZXNb
Ml0uZW5kVGltZSA9PSAnMTIwLjUnKSBPSwotRVhQRUNURUQgKGN1ZXNbMl0uZ2V0Q3VlQXNTb3Vy
Y2UoKSA9PSAnSSBzYWlkIEJlYXIgaXMgY29taW5nIG5vdyEhISEnKSBPSworRVhQRUNURUQgKGN1
ZXNbMl0udGV4dCA9PSAnSSBzYWlkIEJlYXIgaXMgY29taW5nIG5vdyEhISEnKSBPSwogRVhQRUNU
RUQgKGN1ZXNbM10uaWQgPT0gJ2lkZW50aWZpZXItLXRvbycpIE9LCiBFWFBFQ1RFRCAoY3Vlc1sz
XS5zdGFydFRpbWUgPT0gJzEyMScpIE9LCiBFWFBFQ1RFRCAoY3Vlc1szXS5lbmRUaW1lID09ICcx
ODAuNScpIE9LCi1FWFBFQ1RFRCAoY3Vlc1szXS5nZXRDdWVBc1NvdXJjZSgpID09ICdEdXBsaWNh
dGUgaWRlbnRpZmllcicpIE9LCitFWFBFQ1RFRCAoY3Vlc1szXS50ZXh0ID09ICdEdXBsaWNhdGUg
aWRlbnRpZmllcicpIE9LCiAKICoqKiBUZXN0aW5nIHRleHQgdHJhY2sgMQogRVhQRUNURUQgKGN1
ZXMubGVuZ3RoID09ICcwJykgT0sKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNr
LXdlYnZ0dC10YzAwNi1jdWUtaWRlbnRpZmllcnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9tZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDYtY3VlLWlkZW50aWZpZXJzLmh0bWwJ
KHJldmlzaW9uIDEwNDQ2MikKKysrIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0
dC10YzAwNi1jdWUtaWRlbnRpZmllcnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAs
NyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcyA6IFszMC41LCA2MC41LCAx
MjAuNSwgMTgwLjVdLAogICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eSA6ICJnZXRD
dWVBc1NvdXJjZSgpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eSA6ICJ0
ZXh0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgOiBbIkJlYXIgaXMgQ29t
aW5nISEhISEiLCAiSSBzYWlkIEJlYXIgaXMgY29taW5nISEhISIsICJJIHNhaWQgQmVhciBpcyBj
b21pbmcgbm93ISEhISIsICJEdXBsaWNhdGUgaWRlbnRpZmllciJdLAogICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgXSwKSW5kZXg6IExheW91dFRlc3RzL21l
ZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwNy1jdWUtbm8taWQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwNy1jdWUt
bm8taWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMDQ0NjIpCisrKyBMYXlvdXRUZXN0cy9tZWRp
YS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDctY3VlLW5vLWlkLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNiwxNSArNiwxNSBAQCBFWFBFQ1RFRCAoY3Vlcy5sZW5ndGggPT0gJzMnKSBP
SwogRVhQRUNURUQgKGN1ZXNbMF0uaWQgPT0gJycpIE9LCiBFWFBFQ1RFRCAoY3Vlc1swXS5zdGFy
dFRpbWUgPT0gJzAnKSBPSwogRVhQRUNURUQgKGN1ZXNbMF0uZW5kVGltZSA9PSAnMzAuNScpIE9L
Ci1FWFBFQ1RFRCAoY3Vlc1swXS5nZXRDdWVBc1NvdXJjZSgpID09ICdCZWFyIGlzIENvbWluZyEh
ISEhJykgT0sKK0VYUEVDVEVEIChjdWVzWzBdLnRleHQgPT0gJ0JlYXIgaXMgQ29taW5nISEhISEn
KSBPSwogRVhQRUNURUQgKGN1ZXNbMV0uaWQgPT0gJycpIE9LCiBFWFBFQ1RFRCAoY3Vlc1sxXS5z
dGFydFRpbWUgPT0gJzMxJykgT0sKIEVYUEVDVEVEIChjdWVzWzFdLmVuZFRpbWUgPT0gJzYwLjUn
KSBPSwotRVhQRUNURUQgKGN1ZXNbMV0uZ2V0Q3VlQXNTb3VyY2UoKSA9PSAnSSBzYWlkIEJlYXIg
aXMgY29taW5nISEhIScpIE9LCitFWFBFQ1RFRCAoY3Vlc1sxXS50ZXh0ID09ICdJIHNhaWQgQmVh
ciBpcyBjb21pbmchISEhJykgT0sKIEVYUEVDVEVEIChjdWVzWzJdLmlkID09ICcnKSBPSwogRVhQ
RUNURUQgKGN1ZXNbMl0uc3RhcnRUaW1lID09ICc2MScpIE9LCiBFWFBFQ1RFRCAoY3Vlc1syXS5l
bmRUaW1lID09ICcxMjAwLjUnKSBPSwotRVhQRUNURUQgKGN1ZXNbMl0uZ2V0Q3VlQXNTb3VyY2Uo
KSA9PSAnSSBzYWlkIEJlYXIgaXMgY29taW5nIG5vdyEhISEnKSBPSworRVhQRUNURUQgKGN1ZXNb
Ml0udGV4dCA9PSAnSSBzYWlkIEJlYXIgaXMgY29taW5nIG5vdyEhISEnKSBPSwogCiAqKiogVGVz
dGluZyB0ZXh0IHRyYWNrIDEKIEVYUEVDVEVEIChjdWVzLmxlbmd0aCA9PSAnMCcpIE9LCkluZGV4
OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDctY3VlLW5vLWlkLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRj
MDA3LWN1ZS1uby1pZC5odG1sCShyZXZpc2lvbiAxMDQ0NjIpCisrKyBMYXlvdXRUZXN0cy9tZWRp
YS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDctY3VlLW5vLWlkLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTQwLDcgKzQwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgOiBb
MzAuNSwgNjAuNSwgMTIwMC41XSwKICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAg
ICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkg
OiAiZ2V0Q3VlQXNTb3VyY2UoKSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVy
dHkgOiAidGV4dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzIDogWyJCZWFy
IGlzIENvbWluZyEhISEhIiwgIkkgc2FpZCBCZWFyIGlzIGNvbWluZyEhISEiLCAiSSBzYWlkIEJl
YXIgaXMgY29taW5nIG5vdyEhISEiXSwKICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAg
ICAgICAgICAgICAgICAgIF0sCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay13
ZWJ2dHQtdGMwMDgtdGltaW5ncy1uby1ob3Vycy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDA4LXRpbWluZ3Mtbm8taG91
cnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMDQ0NjIpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90
cmFjay90cmFjay13ZWJ2dHQtdGMwMDgtdGltaW5ncy1uby1ob3Vycy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTYsMTkgKzYsMTkgQEAgRVhQRUNURUQgKGN1ZXMubGVuZ3RoID09ICc0
JykgT0sKIEVYUEVDVEVEIChjdWVzWzBdLmlkID09ICcxJykgT0sKIEVYUEVDVEVEIChjdWVzWzBd
LnN0YXJ0VGltZSA9PSAnMCcpIE9LCiBFWFBFQ1RFRCAoY3Vlc1swXS5lbmRUaW1lID09ICczMC41
JykgT0sKLUVYUEVDVEVEIChjdWVzWzBdLmdldEN1ZUFzU291cmNlKCkgPT0gJ0JlYXIgaXMgQ29t
aW5nISEhISEnKSBPSworRVhQRUNURUQgKGN1ZXNbMF0udGV4dCA9PSAnQmVhciBpcyBDb21pbmch
ISEhIScpIE9LCiBFWFBFQ1RFRCAoY3Vlc1sxXS5pZCA9PSAnMicpIE9LCiBFWFBFQ1RFRCAoY3Vl
c1sxXS5zdGFydFRpbWUgPT0gJzMxJykgT0sKIEVYUEVDVEVEIChjdWVzWzFdLmVuZFRpbWUgPT0g
JzYwLjUnKSBPSwotRVhQRUNURUQgKGN1ZXNbMV0uZ2V0Q3VlQXNTb3VyY2UoKSA9PSAnSSBzYWlk
IEJlYXIgaXMgY29taW5nISEhIScpIE9LCitFWFBFQ1RFRCAoY3Vlc1sxXS50ZXh0ID09ICdJIHNh
aWQgQmVhciBpcyBjb21pbmchISEhJykgT0sKIEVYUEVDVEVEIChjdWVzWzJdLmlkID09ICczJykg
T0sKIEVYUEVDVEVEIChjdWVzWzJdLnN0YXJ0VGltZSA9PSAnNjEnKSBPSwogRVhQRUNURUQgKGN1
ZXNbMl0uZW5kVGltZSA9PSAnMTIwLjUnKSBPSwotRVhQRUNURUQgKGN1ZXNbMl0uZ2V0Q3VlQXNT
b3VyY2UoKSA9PSAnSSBzYWlkIEJlYXIgaXMgY29taW5nIG5vdyEhISEnKSBPSworRVhQRUNURUQg
KGN1ZXNbMl0udGV4dCA9PSAnSSBzYWlkIEJlYXIgaXMgY29taW5nIG5vdyEhISEnKSBPSwogRVhQ
RUNURUQgKGN1ZXNbM10uaWQgPT0gJzQnKSBPSwogRVhQRUNURUQgKGN1ZXNbM10uc3RhcnRUaW1l
ID09ICcxMjEnKSBPSwogRVhQRUNURUQgKGN1ZXNbM10uZW5kVGltZSA9PSAnMTgwLjUnKSBPSwot
RVhQRUNURUQgKGN1ZXNbM10uZ2V0Q3VlQXNTb3VyY2UoKSA9PSAndGFiIHNlcGFyYXRvcnMnKSBP
SworRVhQRUNURUQgKGN1ZXNbM10udGV4dCA9PSAndGFiIHNlcGFyYXRvcnMnKSBPSwogCiAqKiog
VGVzdGluZyB0ZXh0IHRyYWNrIDEKIEVYUEVDVEVEIChjdWVzLmxlbmd0aCA9PSAnMCcpIE9LCklu
ZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDgtdGltaW5ncy1u
by1ob3Vycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNr
LXdlYnZ0dC10YzAwOC10aW1pbmdzLW5vLWhvdXJzLmh0bWwJKHJldmlzaW9uIDEwNDQ2MikKKysr
IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAwOC10aW1pbmdzLW5vLWhv
dXJzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2YWx1ZXMgOiBbMzAuNSwgNjAuNSwgMTIwLjUsIDE4MC41XSwKICAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkgOiAiZ2V0Q3VlQXNTb3VyY2UoKSIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkgOiAidGV4dCIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmFsdWVzIDogWyJCZWFyIGlzIENvbWluZyEhISEhIiwgIkkgc2FpZCBC
ZWFyIGlzIGNvbWluZyEhISEiLCAiSSBzYWlkIEJlYXIgaXMgY29taW5nIG5vdyEhISEiLCAidGFi
IHNlcGFyYXRvcnMiXSwKICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAg
ICAgICAgIF0sCkluZGV4OiBMYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMw
MDktdGltaW5ncy1ob3VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDktdGltaW5ncy1ob3VyLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMTA0NDYyKQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2std2VidnR0
LXRjMDA5LXRpbWluZ3MtaG91ci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTYsMTUg
KzYsMTUgQEAgRVhQRUNURUQgKGN1ZXMubGVuZ3RoID09ICczJykgT0sKIEVYUEVDVEVEIChjdWVz
WzBdLmlkID09ICcxJykgT0sKIEVYUEVDVEVEIChjdWVzWzBdLnN0YXJ0VGltZSA9PSAnMCcpIE9L
CiBFWFBFQ1RFRCAoY3Vlc1swXS5lbmRUaW1lID09ICczMC41JykgT0sKLUVYUEVDVEVEIChjdWVz
WzBdLmdldEN1ZUFzU291cmNlKCkgPT0gJ0JlYXIgaXMgQ29taW5nISEhISEnKSBPSworRVhQRUNU
RUQgKGN1ZXNbMF0udGV4dCA9PSAnQmVhciBpcyBDb21pbmchISEhIScpIE9LCiBFWFBFQ1RFRCAo
Y3Vlc1sxXS5pZCA9PSAnMicpIE9LCiBFWFBFQ1RFRCAoY3Vlc1sxXS5zdGFydFRpbWUgPT0gJzMx
JykgT0sKIEVYUEVDVEVEIChjdWVzWzFdLmVuZFRpbWUgPT0gJzYwLjUnKSBPSwotRVhQRUNURUQg
KGN1ZXNbMV0uZ2V0Q3VlQXNTb3VyY2UoKSA9PSAnSSBzYWlkIEJlYXIgaXMgY29taW5nISEhIScp
IE9LCitFWFBFQ1RFRCAoY3Vlc1sxXS50ZXh0ID09ICdJIHNhaWQgQmVhciBpcyBjb21pbmchISEh
JykgT0sKIEVYUEVDVEVEIChjdWVzWzJdLmlkID09ICczJykgT0sKIEVYUEVDVEVEIChjdWVzWzJd
LnN0YXJ0VGltZSA9PSAnNjEnKSBPSwogRVhQRUNURUQgKGN1ZXNbMl0uZW5kVGltZSA9PSAnMzYx
MjAwLjUnKSBPSwotRVhQRUNURUQgKGN1ZXNbMl0uZ2V0Q3VlQXNTb3VyY2UoKSA9PSAnSSBzYWlk
IEJlYXIgaXMgY29taW5nIG5vdyEhISEnKSBPSworRVhQRUNURUQgKGN1ZXNbMl0udGV4dCA9PSAn
SSBzYWlkIEJlYXIgaXMgY29taW5nIG5vdyEhISEnKSBPSwogCiAqKiogVGVzdGluZyB0ZXh0IHRy
YWNrIDEKIEVYUEVDVEVEIChjdWVzLmxlbmd0aCA9PSAnMCcpIE9LCkluZGV4OiBMYXlvdXRUZXN0
cy9tZWRpYS90cmFjay90cmFjay13ZWJ2dHQtdGMwMDktdGltaW5ncy1ob3VyLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDA5LXRpbWlu
Z3MtaG91ci5odG1sCShyZXZpc2lvbiAxMDQ0NjIpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay90cmFjay13ZWJ2dHQtdGMwMDktdGltaW5ncy1ob3VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTM5LDcgKzM5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgOiBbMzAu
NSwgNjAuNSwgMzYxMjAwLjVdLAogICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAg
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eSA6
ICJnZXRDdWVBc1NvdXJjZSgpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0
eSA6ICJ0ZXh0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgOiBbIkJlYXIg
aXMgQ29taW5nISEhISEiLCAiSSBzYWlkIEJlYXIgaXMgY29taW5nISEhISIsICJJIHNhaWQgQmVh
ciBpcyBjb21pbmcgbm93ISEhISJdLAogICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAg
ICAgICAgICAgICAgICAgXSwKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdl
YnZ0dC10YzAxMS1ibGFuay1saW5lcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDExLWJsYW5rLWxpbmVzLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMTA0NDYyKQorKysgTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2st
d2VidnR0LXRjMDExLWJsYW5rLWxpbmVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
NiwxNSArNiwxNSBAQCBFWFBFQ1RFRCAoY3Vlcy5sZW5ndGggPT0gJzMnKSBPSwogRVhQRUNURUQg
KGN1ZXNbMF0uaWQgPT0gJzEnKSBPSwogRVhQRUNURUQgKGN1ZXNbMF0uc3RhcnRUaW1lID09ICcw
JykgT0sKIEVYUEVDVEVEIChjdWVzWzBdLmVuZFRpbWUgPT0gJzMwLjUnKSBPSwotRVhQRUNURUQg
KGN1ZXNbMF0uZ2V0Q3VlQXNTb3VyY2UoKSA9PSAnQmVhciBpcyBDb21pbmchISEhIScpIE9LCitF
WFBFQ1RFRCAoY3Vlc1swXS50ZXh0ID09ICdCZWFyIGlzIENvbWluZyEhISEhJykgT0sKIEVYUEVD
VEVEIChjdWVzWzFdLmlkID09ICcyJykgT0sKIEVYUEVDVEVEIChjdWVzWzFdLnN0YXJ0VGltZSA9
PSAnMzEnKSBPSwogRVhQRUNURUQgKGN1ZXNbMV0uZW5kVGltZSA9PSAnNjAuNScpIE9LCi1FWFBF
Q1RFRCAoY3Vlc1sxXS5nZXRDdWVBc1NvdXJjZSgpID09ICdJIHNhaWQgQmVhciBpcyBjb21pbmch
ISEhJykgT0sKK0VYUEVDVEVEIChjdWVzWzFdLnRleHQgPT0gJ0kgc2FpZCBCZWFyIGlzIGNvbWlu
ZyEhISEnKSBPSwogRVhQRUNURUQgKGN1ZXNbMl0uaWQgPT0gJzMnKSBPSwogRVhQRUNURUQgKGN1
ZXNbMl0uc3RhcnRUaW1lID09ICc2MScpIE9LCiBFWFBFQ1RFRCAoY3Vlc1syXS5lbmRUaW1lID09
ICczNjEyMDAuNScpIE9LCi1FWFBFQ1RFRCAoY3Vlc1syXS5nZXRDdWVBc1NvdXJjZSgpID09ICdJ
IHNhaWQgQmVhciBpcyBjb21pbmcgbm93ISEhIScpIE9LCitFWFBFQ1RFRCAoY3Vlc1syXS50ZXh0
ID09ICdJIHNhaWQgQmVhciBpcyBjb21pbmcgbm93ISEhIScpIE9LCiAKICoqKiBUZXN0aW5nIHRl
eHQgdHJhY2sgMQogRVhQRUNURUQgKGN1ZXMubGVuZ3RoID09ICcxJykgT0sKSW5kZXg6IExheW91
dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAxMS1ibGFuay1saW5lcy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAxMS1i
bGFuay1saW5lcy5odG1sCShyZXZpc2lvbiAxMDQ0NjIpCisrKyBMYXlvdXRUZXN0cy9tZWRpYS90
cmFjay90cmFjay13ZWJ2dHQtdGMwMTEtYmxhbmstbGluZXMuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMzksNyArMzksNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcyA6IFsz
MC41LCA2MC41LCAzNjEyMDAuNV0sCiAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5
IDogImdldEN1ZUFzU291cmNlKCkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3Bl
cnR5IDogInRleHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcyA6IFsiQmVh
ciBpcyBDb21pbmchISEhISIsICJJIHNhaWQgQmVhciBpcyBjb21pbmchISEhIiwgIkkgc2FpZCBC
ZWFyIGlzIGNvbWluZyBub3chISEhIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAg
ICAgICAgICAgICAgICAgICBdLApJbmRleDogTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2st
d2VidnR0LXRjMDI4LXVuc3VwcG9ydGVkLW1hcmt1cC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2std2VidnR0LXRjMDI4LXVuc3VwcG9ydGVk
LW1hcmt1cC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEwNDQ2MikKKysrIExheW91dFRlc3RzL21l
ZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyOC11bnN1cHBvcnRlZC1tYXJrdXAtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDE5ICs0LDE5IEBAIFRlc3RzIHRoYXQgdW5zdXBwb3J0
ZWQgbWFya3VwIGlzIHByb3BlcmwKICoqKiBUZXN0aW5nIHRleHQgdHJhY2sgMAogRVhQRUNURUQg
KGN1ZXMubGVuZ3RoID09ICczJykgT0sKIEVYUEVDVEVEIChjdWVzWzBdLmdldEN1ZUFzSFRNTCgp
LnRleHRDb250ZW50ID09ICdCZWFyIGlzIENvbWluZyEhISEhIEFuZCB3aGF0IGtpbmQgb2YgYSBi
ZWFyIGl0IGlzIC0ganVzdCBoYXZlIGxvb2suJykgT0sKLUVYUEVDVEVEIChjdWVzWzBdLmdldEN1
ZUFzU291cmNlKCkgPT0gJworRVhQRUNURUQgKGN1ZXNbMF0udGV4dCA9PSAnCiBCZWFyIGlzIENv
bWluZyEhISEhCiAKIEFuZCB3aGF0IGtpbmQgb2YgYSBiZWFyIGl0IGlzIC0ganVzdCBoYXZlIGxv
b2suCiAKICcpIE9LCiBFWFBFQ1RFRCAoY3Vlc1sxXS5nZXRDdWVBc0hUTUwoKS50ZXh0Q29udGVu
dCA9PSAnIEkgc2FpZCBCZWFyIGlzIGNvbWluZyEhISEgSSBzYWlkIEJlYXIgaXMgc3RpbGwgY29t
aW5nISEhISAnKSBPSwotRVhQRUNURUQgKGN1ZXNbMV0uZ2V0Q3VlQXNTb3VyY2UoKSA9PSAnCitF
WFBFQ1RFRCAoY3Vlc1sxXS50ZXh0ID09ICcKIEkgc2FpZCBCZWFyIGlzIGNvbWluZyEhISEKIEkg
c2FpZCBCZWFyIGlzIHN0aWxsIGNvbWluZyEhISEKICcpIE9LCiBFWFBFQ1RFRCAoY3Vlc1syXS5n
ZXRDdWVBc0hUTUwoKS50ZXh0Q29udGVudCA9PSAnIEkgc2FpZCBCZWFyIGlzIGNvbWluZyBub3ch
ISEhICcpIE9LCi1FWFBFQ1RFRCAoY3Vlc1syXS5nZXRDdWVBc1NvdXJjZSgpID09ICcKK0VYUEVD
VEVEIChjdWVzWzJdLnRleHQgPT0gJwogSSBzYWlkIEJlYXIgaXMgY29taW5nIG5vdyEhISEKIAog
JykgT0sKSW5kZXg6IExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyOC11
bnN1cHBvcnRlZC1tYXJrdXAuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tZWRpYS90
cmFjay90cmFjay13ZWJ2dHQtdGMwMjgtdW5zdXBwb3J0ZWQtbWFya3VwLmh0bWwJKHJldmlzaW9u
IDEwNDQ2MikKKysrIExheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC10YzAyOC11
bnN1cHBvcnRlZC1tYXJrdXAuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIsNyBAQAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXG4gIEkgc2FpZCBCZWFyIGlz
IGNvbWluZyBub3chISEhXG4gIFxuICBcbiJdLAogICAgICAgICAgICAgICAgICAgICAgICAgfSwK
ICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
cm9wZXJ0eSA6ICJnZXRDdWVBc1NvdXJjZSgpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwcm9wZXJ0eSA6ICJ0ZXh0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMg
OiBbIjxoMT5CZWFyIGlzIENvbWluZyEhISEhPC9oMT5cbjxwPkFuZCB3aGF0IGtpbmQgb2YgYSBi
ZWFyIGl0IGlzIC0ganVzdCBoYXZlIDxhIGhyZWY9XCJ3ZWJwYWdlLmh0bWxcIj5sb29rPC9hPi48
L3A+IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjx1bD5cbiAgPGxp
Pkkgc2FpZCBCZWFyIGlzIGNvbWluZyEhISE8L2xpPlxuICA8bGk+SSBzYWlkIEJlYXIgaXMgc3Rp
bGwgY29taW5nISEhITwvbGk+XG48L3VsPiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICI8b2w+XG4gIDxsaT5JIHNhaWQgQmVhciBpcyBjb21pbmcgbm93ISEhITwvbGk+
XG4gIDxsaT48aW1nIHNyYz1cImJlYXIucG5nXCIgYWx0PVwibWlnaHR5IGJlYXJcIj48L2xpPlxu
ICA8bGk+PHZpZGVvIHNyYz1cImJlYXJfYWQud2VibVwiIGNvbnRyb2xzPjwvdmlkZW8+PC9saT5c
bjwvb2w+Il0sCg==
</data>
<flag name="review"
          id="122398"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>