<?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>117616</bug_id>
          
          <creation_ts>2013-06-13 16:20:20 -0700</creation_ts>
          <short_desc>Web Inspector: JS PrettyPrinting in do/while loops, &quot;while&quot; should be on the same line as &quot;}&quot; if there was a closing brace</short_desc>
          <delta_ts>2016-03-29 17:31:38 -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>Web Inspector</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>dburkart</cc>
    
    <cc>joepeck</cc>
    
    <cc>matthew_hanson</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>900320</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-06-13 16:20:20 -0700</bug_when>
    <thetext>TEST:

  do{&quot;x&quot;}while(0);

CURRENTLY:

  do {
    &quot;x&quot;
  }
  while (0);

EXPECTED:

  do {
    &quot;x&quot;
  } while (0);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966642</commentid>
    <comment_count>1</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-01-10 15:37:21 -0800</bug_when>
    <thetext>Moving to the right component.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966651</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-01-10 15:41:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/15796884&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178792</commentid>
    <comment_count>3</comment_count>
      <attachid>275127</attachid>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2016-03-29 13:47:41 -0700</bug_when>
    <thetext>Created attachment 275127
Patch

Fixes do/while formatting in the WebInspector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178824</commentid>
    <comment_count>4</comment_count>
      <attachid>275127</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-03-29 15:05:18 -0700</bug_when>
    <thetext>Comment on attachment 275127
Patch

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

Nice! Very cool. I have one question that still needs clarification.

&gt; LayoutTests/inspector/codemirror/resources/prettyprinting/javascript-tests/do-while-within-if.js:2
&gt; +if (true) { do {var x;} while (0);}
&gt;  \ No newline at end of file

We should add these newlines to the tests (and an extra newline to the expected results).

&gt; Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js:58
&gt; +            else if (content === &quot;while&quot; &amp;&amp; lastContent === &quot;}&quot;) {
&gt; +                return state._jsPrettyPrint.lastContentBeforeBlock === &quot;do&quot;;
&gt; +            }

Nit: No need for else, the previous if always returns. WebKit style is that single line conditional blocks do not get braces.

    if (content === &quot;while&quot; &amp;&amp; lastContent === &quot;}&quot;) // do/while
        return state._jsPrettyPrint.lastContentBeforeBlock === &quot;do&quot;;

&gt; Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js:149
&gt; +            else if (content === &quot;while&quot; &amp;&amp; lastContent === &quot;}&quot;) {
&gt; +                return state._jsPrettyPrint.lastContentBeforeBlock === &quot;do&quot;;
&gt; +            }

Ditto.

&gt; Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js:211
&gt; +                lastContentBeforeBlock: undefined, 

This should have a comment. Something like, &quot;// Used to detect if this was a do/while&quot;

&gt; Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js:311
&gt; +            var savedState = state._jsPrettyPrint.openBraceStartMarkers.pop();

I&apos;d like to better understand this. The pop() seems bad, that sounds like we probably messed up earlier. I would expect openBraceStartMarkers to always be empty if we don&apos;t have an indent. Perhaps the mistake here is in the Dedent all the way block.

Which test case tests this particular block?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178834</commentid>
    <comment_count>5</comment_count>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2016-03-29 15:39:50 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 275127 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=275127&amp;action=review
&gt; 
&gt; Nice! Very cool. I have one question that still needs clarification.
&gt; 
&gt; &gt; LayoutTests/inspector/codemirror/resources/prettyprinting/javascript-tests/do-while-within-if.js:2
&gt; &gt; +if (true) { do {var x;} while (0);}
&gt; &gt;  \ No newline at end of file
&gt; 
&gt; We should add these newlines to the tests (and an extra newline to the
&gt; expected results).

Sure.

&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js:58
&gt; &gt; +            else if (content === &quot;while&quot; &amp;&amp; lastContent === &quot;}&quot;) {
&gt; &gt; +                return state._jsPrettyPrint.lastContentBeforeBlock === &quot;do&quot;;
&gt; &gt; +            }
&gt; 
&gt; Nit: No need for else, the previous if always returns. WebKit style is that
&gt; single line conditional blocks do not get braces.
&gt; 
&gt;     if (content === &quot;while&quot; &amp;&amp; lastContent === &quot;}&quot;) // do/while
&gt;         return state._jsPrettyPrint.lastContentBeforeBlock === &quot;do&quot;;

OK.

&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js:149
&gt; &gt; +            else if (content === &quot;while&quot; &amp;&amp; lastContent === &quot;}&quot;) {
&gt; &gt; +                return state._jsPrettyPrint.lastContentBeforeBlock === &quot;do&quot;;
&gt; &gt; +            }
&gt; 
&gt; Ditto.

OK.
&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js:211
&gt; &gt; +                lastContentBeforeBlock: undefined, 
&gt; 
&gt; This should have a comment. Something like, &quot;// Used to detect if this was a
&gt; do/while&quot;

Got it.

&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js:311
&gt; &gt; +            var savedState = state._jsPrettyPrint.openBraceStartMarkers.pop();
&gt; 
&gt; I&apos;d like to better understand this. The pop() seems bad, that sounds like we
&gt; probably messed up earlier. I would expect openBraceStartMarkers to always
&gt; be empty if we don&apos;t have an indent. Perhaps the mistake here is in the
&gt; Dedent all the way block.

That&apos;s a good point, while working on this, it was definitely the case that something
was left on the stack. Looking at it some more, it&apos;s possible that we never initialize
the openBraceTrackingCount properly. Then, if we increment from the initial value of -1
to 0, we would skip the code path where we would call pop().

I&apos;ll look at this some more.

&gt; 
&gt; Which test case tests this particular block?

The basic do/while case was leaving something on the stack.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178875</commentid>
    <comment_count>6</comment_count>
      <attachid>275156</attachid>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2016-03-29 17:12:37 -0700</bug_when>
    <thetext>Created attachment 275156
patch

Fixes issues brought up in Joe&apos;s review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178880</commentid>
    <comment_count>7</comment_count>
      <attachid>275156</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-03-29 17:26:20 -0700</bug_when>
    <thetext>Comment on attachment 275156
patch

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

Okay! This makes more sense to me. r=me, but address the style comments.

&gt; Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js:56
&gt; +            else if (content === &quot;while&quot; &amp;&amp; lastContent === &quot;}&quot;)

Style: The `else` is not needed here.

&gt; Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js:146
&gt; +            else if (content === &quot;while&quot; &amp;&amp; lastContent === &quot;}&quot;)

Style: The `else` is not needed here.

&gt; Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js:208
&gt; +                lastContentBeforeBlock: undefined, // Used to detect if this was a do/while

Style: Should end in a period. Sorry, I had left that out before!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178881</commentid>
    <comment_count>8</comment_count>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2016-03-29 17:31:38 -0700</bug_when>
    <thetext>Committed r198815.
http://trac.webkit.org/changeset/198815</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275127</attachid>
            <date>2016-03-29 13:47:41 -0700</date>
            <delta_ts>2016-03-29 17:12:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Web-Inspector-JS-PrettyPrinting-in-do-while-loops-wh.patch</filename>
            <type>text/plain</type>
            <size>19538</size>
            <attacher name="Dana Burkart">dburkart</attacher>
            
              <data encoding="base64">RnJvbSBhZTE4NGUzZjBjZjgyNDQwMGQxOWMzNzJhYjQwMDA2NWNjNzQ0Njk1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5hIEJ1cmthcnQgPGRidXJrYXJ0QGFwcGxlLmNvbT4KRGF0
ZTogVHVlLCAyOSBNYXIgMjAxNiAxMzozMTo1NSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIFdlYiBJ
bnNwZWN0b3I6IEpTIFByZXR0eVByaW50aW5nIGluIGRvL3doaWxlIGxvb3BzLCAid2hpbGUiCiBz
aG91bGQgYmUgb24gdGhlIHNhbWUgbGluZSBhcyAifSIgaWYgdGhlcmUgd2FzIGEgY2xvc2luZyBi
cmFjZQogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzYxNiA8cmRh
cjovL3Byb2JsZW0vMTU3OTY4ODQ+CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClNvdXJj
ZS9XZWJJbnNwZWN0b3JVSToKClRoaXMgcGF0Y2ggZml4ZXMgdGhlIGZvcm1hdHRpbmcgb2YgZG8g
LyB3aGlsZSBsb29wcyBpbiB0aGUgV2ViSW5zcGVjdG9yIENvZGVGb3JtYXR0ZXIuCgpCZWZvcmU6
CiAgICBkbyB7CiAgICAgICJ4IgogICAgfQogICAgd2hpbGUgKDApOwoKQWZ0ZXI6CiAgICBkbyB7
CiAgICAgICJ4IgogICAgfSB3aGlsZSAoMCk7CgoqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29kZU1p
cnJvckZvcm1hdHRlcnMuanM6CihzaG91bGRIYXZlU3BhY2VCZWZvcmVUb2tlbik6CklmIHdlIGVu
Y291bnRlciBhIHdoaWxlIHRva2VuIGFuZCB0aGUgbGFzdCB0b2tlbiB3YXMgYSBjbG9zaW5nIGJy
YWNlLCB3ZSAqc2hvdWxkKiBhZGQgYSBzcGFjZSBpZiB0aGF0IGNsb3NpbmcKYnJhY2Ugd2FzIGNs
b3NpbmcgYSBkbyBibG9jay4KCihyZW1vdmVMYXN0TmV3bGluZSk6CklmIHdlIGVuY291bnRlciBh
IHdoaWxlIHRva2VuIGFuZCB0aGUgbGFzdCB0b2tlbiB3YXMgYSBjbG9zaW5nIGJyYWNlLCB3ZSAq
c2hvdWxkIG5vdCogYWRkIGEgbmV3bGluZSBpZiB0aGF0IGNsb3NpbmcKYnJhY2UgY2xvc2VzIGEg
ZG8gYmxvY2suCgoobW9kaWZ5U3RhdGVGb3JUb2tlblByZSk6CldlIHNob3VsZCBrZWVwIHRyYWNr
IG9mIHRoZSBsYXN0IHRva2VuIHRoYXQgd2UgZW5jb3VudGVyZWQgYmVmb3JlIGVudGVyaW5nIGlu
dG8gYSBibG9jay4gV2UgZG8gdGhpcyBieSBzZXR0aW5nCmEgbGFzdENvbnRlbnRCZWZvcmVCbG9j
ayBwcm9wZXJ0eSBvbiBvcGVuQnJhY2VTdGFydE1hcmtlciAvIHN0YXRlIG9iamVjdHMuCgpJbiBh
ZGRpdGlvbiwgd2UgbmVlZCB0byBlbnN1cmUgdGhhdCB3ZSBwb3AgdGhlIGxhc3Qgb3BlbkJyYWNl
U3RhcnRNYXJrZXIgZnJvbSB0aGUgc3RhY2sgb2Ygc2F2ZWQgc3RhdGVzIHdoZW4gd2UKZW5jb3Vu
dGVyIGEgY2xvc2luZyBicmFjZSBhdCB0aGUgdG9wIGxldmVsIChyZWFkOiBpbmRlbnRhdGlvbiBs
ZXZlbCBvZiAwKSBvZiB0aGUgcHJvZ3JhbS4gV2l0aG91dCBkb2luZyB0aGlzLCB3ZQpjYW5ub3Qg
cmVsaWFibHkgZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IG91ciB3aGlsZSB0b2tlbiBuZWVkcyB0
byBiZSBpbmxpbmUgb3Igbm90LgoKTGF5b3V0VGVzdHM6CgoqIGluc3BlY3Rvci9jb2RlbWlycm9y
L3ByZXR0eXByaW50aW5nLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0OgoqIGluc3BlY3Rvci9jb2Rl
bWlycm9yL3ByZXR0eXByaW50aW5nLWphdmFzY3JpcHQuaHRtbDoKKiBpbnNwZWN0b3IvY29kZW1p
cnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS1s
b29wLWV4cGVjdGVkLmpzOiBBZGRlZC4KKiBpbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMv
cHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS1sb29wLmpzOiBBZGRlZC4K
KiBpbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlw
dC10ZXN0cy9kby13aGlsZS13aXRoaW4taWYtZXhwZWN0ZWQuanM6IEFkZGVkLgoqIGluc3BlY3Rv
ci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2Rv
LXdoaWxlLXdpdGhpbi1pZi5qczogQWRkZWQuCiogaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3Vy
Y2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvaWYtZm9sbG93ZWQtYnktd2hpbGUt
ZXhwZWN0ZWQuanM6IEFkZGVkLgoqIGluc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0
dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2lmLWZvbGxvd2VkLWJ5LXdoaWxlLmpzOiBBZGRl
ZC4KKiBpbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNj
cmlwdC10ZXN0cy9pZi13aGlsZS13aXRoaW4tZG8td2hpbGUtZXhwZWN0ZWQuanM6IEFkZGVkLgoq
IGluc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0
LXRlc3RzL2lmLXdoaWxlLXdpdGhpbi1kby13aGlsZS5qczogQWRkZWQuCiogaW5zcGVjdG9yL2Nv
ZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvd2hpbGUt
d2l0aGluLWRvLXdoaWxlLWV4cGVjdGVkLmpzOiBBZGRlZC4KKiBpbnNwZWN0b3IvY29kZW1pcnJv
ci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy93aGlsZS13aXRoaW4t
ZG8td2hpbGUuanM6IEFkZGVkLgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgMjEgKysrKysrKysrKysrCiAuLi4vcHJldHR5cHJpbnRpbmct
amF2YXNjcmlwdC1leHBlY3RlZC50eHQgICAgICAgICB8IDE1ICsrKysrKysrKwogLi4uL2NvZGVt
aXJyb3IvcHJldHR5cHJpbnRpbmctamF2YXNjcmlwdC5odG1sICAgICAgfCAgNSArKysKIC4uLi9q
YXZhc2NyaXB0LXRlc3RzL2RvLXdoaWxlLWxvb3AtZXhwZWN0ZWQuanMgICAgIHwgIDQgKysrCiAu
Li4vamF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS1sb29wLmpzICAgICAgICAgICAgICB8ICAxICsK
IC4uLi9kby13aGlsZS13aXRoaW4taWYtZXhwZWN0ZWQuanMgICAgICAgICAgICAgICAgIHwgIDUg
KysrCiAuLi4vamF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS13aXRoaW4taWYuanMgICAgICAgICB8
ICAxICsKIC4uLi9pZi1mb2xsb3dlZC1ieS13aGlsZS1leHBlY3RlZC5qcyAgICAgICAgICAgICAg
IHwgIDYgKysrKwogLi4uL2phdmFzY3JpcHQtdGVzdHMvaWYtZm9sbG93ZWQtYnktd2hpbGUuanMg
ICAgICAgfCAgMSArCiAuLi4vaWYtd2hpbGUtd2l0aGluLWRvLXdoaWxlLWV4cGVjdGVkLmpzICAg
ICAgICAgICB8IDEyICsrKysrKysKIC4uLi9qYXZhc2NyaXB0LXRlc3RzL2lmLXdoaWxlLXdpdGhp
bi1kby13aGlsZS5qcyAgIHwgIDEgKwogLi4uL3doaWxlLXdpdGhpbi1kby13aGlsZS1leHBlY3Rl
ZC5qcyAgICAgICAgICAgICAgfCAgNiArKysrCiAuLi4vamF2YXNjcmlwdC10ZXN0cy93aGlsZS13
aXRoaW4tZG8td2hpbGUuanMgICAgICB8ICAxICsKIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgIHwgMzggKysrKysrKysrKysrKysrKysrKysrKwogLi4u
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ29kZU1pcnJvckZvcm1hdHRlcnMuanMgICAgfCAyMCArKysr
KysrKysrKy0KIDE1IGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u
KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3Iv
cmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvZG8td2hpbGUtbG9vcC1l
eHBlY3RlZC5qcwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2luc3BlY3Rvci9jb2Rl
bWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2RvLXdoaWxl
LWxvb3AuanMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1p
cnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS13
aXRoaW4taWYtZXhwZWN0ZWQuanMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0
cy9kby13aGlsZS13aXRoaW4taWYuanMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10
ZXN0cy9pZi1mb2xsb3dlZC1ieS13aGlsZS1leHBlY3RlZC5qcwogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGlu
Zy9qYXZhc2NyaXB0LXRlc3RzL2lmLWZvbGxvd2VkLWJ5LXdoaWxlLmpzCiBjcmVhdGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXBy
aW50aW5nL2phdmFzY3JpcHQtdGVzdHMvaWYtd2hpbGUtd2l0aGluLWRvLXdoaWxlLWV4cGVjdGVk
LmpzCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3Iv
cmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvaWYtd2hpbGUtd2l0aGlu
LWRvLXdoaWxlLmpzCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
ZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvd2hpbGUt
d2l0aGluLWRvLXdoaWxlLWV4cGVjdGVkLmpzCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3Jp
cHQtdGVzdHMvd2hpbGUtd2l0aGluLWRvLXdoaWxlLmpzCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGExZGM3MTQuLjU1YmEx
MWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNi0wMy0yOSAgRGFuYSBCdXJrYXJ0IGFuZCBN
YXR0aGV3IEhhbnNvbiAgPGRidXJrYXJ0QGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBKUyBQcmV0dHlQcmludGluZyBpbiBkby93aGlsZSBsb29wcywgIndoaWxlIiBzaG91bGQg
YmUgb24gdGhlIHNhbWUgbGluZSBhcyAifSIgaWYgdGhlcmUgd2FzIGEgY2xvc2luZyBicmFjZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjE2Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNTc5Njg4ND4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9jb2RlbWlycm9yL3ByZXR0eXBy
aW50aW5nLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9jb2Rl
bWlycm9yL3ByZXR0eXByaW50aW5nLWphdmFzY3JpcHQuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9k
by13aGlsZS1sb29wLWV4cGVjdGVkLmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvY29k
ZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9kby13aGls
ZS1sb29wLmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJj
ZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS13aXRoaW4taWYtZXhw
ZWN0ZWQuanM6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNl
cy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2RvLXdoaWxlLXdpdGhpbi1pZi5qczog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXBy
aW50aW5nL2phdmFzY3JpcHQtdGVzdHMvaWYtZm9sbG93ZWQtYnktd2hpbGUtZXhwZWN0ZWQuanM6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlw
cmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2lmLWZvbGxvd2VkLWJ5LXdoaWxlLmpzOiBBZGRlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcv
amF2YXNjcmlwdC10ZXN0cy9pZi13aGlsZS13aXRoaW4tZG8td2hpbGUtZXhwZWN0ZWQuanM6IEFk
ZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmlu
dGluZy9qYXZhc2NyaXB0LXRlc3RzL2lmLXdoaWxlLXdpdGhpbi1kby13aGlsZS5qczogQWRkZWQu
CisgICAgICAgICogaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5n
L2phdmFzY3JpcHQtdGVzdHMvd2hpbGUtd2l0aGluLWRvLXdoaWxlLWV4cGVjdGVkLmpzOiBBZGRl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRp
bmcvamF2YXNjcmlwdC10ZXN0cy93aGlsZS13aXRoaW4tZG8td2hpbGUuanM6IEFkZGVkLgorCiAy
MDE2LTAzLTI5ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgICJD
YW4gbm90IiA9PiAiY2Fubm90IiBpbiBTdHJpbmcucHJvdG90eXBlIGVycm9yIG1lc3NhZ2VzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9wcmV0dHlwcmludGlu
Zy1qYXZhc2NyaXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWly
cm9yL3ByZXR0eXByaW50aW5nLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0CmluZGV4IDAzYmNmMzcu
LmI2NmRjZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3By
ZXR0eXByaW50aW5nLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jb2RlbWlycm9yL3ByZXR0eXByaW50aW5nLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0
CkBAIC0xNCwzICsxNCwxOCBAQCBQQVNTCiAtLSBSdW5uaW5nIHRlc3QgY2FzZTogQ29kZU1pcnJv
ci5QcmV0dHlQcmludGluZy5KYXZhU2NyaXB0LnVuYXJ5LWJpbmFyeS1vcGVyYXRvcnMuanMKIFBB
U1MKIAorLS0gUnVubmluZyB0ZXN0IGNhc2U6IENvZGVNaXJyb3IuUHJldHR5UHJpbnRpbmcuSmF2
YVNjcmlwdC5kby13aGlsZS1sb29wLmpzCitQQVNTCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBD
b2RlTWlycm9yLlByZXR0eVByaW50aW5nLkphdmFTY3JpcHQuaWYtZm9sbG93ZWQtYnktd2hpbGUu
anMKK1BBU1MKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IENvZGVNaXJyb3IuUHJldHR5UHJpbnRp
bmcuSmF2YVNjcmlwdC53aGlsZS13aXRoaW4tZG8td2hpbGUuanMKK1BBU1MKKworLS0gUnVubmlu
ZyB0ZXN0IGNhc2U6IENvZGVNaXJyb3IuUHJldHR5UHJpbnRpbmcuSmF2YVNjcmlwdC5pZi13aGls
ZS13aXRoaW4tZG8td2hpbGUuanMKK1BBU1MKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IENvZGVN
aXJyb3IuUHJldHR5UHJpbnRpbmcuSmF2YVNjcmlwdC5kby13aGlsZS13aXRoaW4taWYuanMKK1BB
U1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcHJldHR5
cHJpbnRpbmctamF2YXNjcmlwdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJy
b3IvcHJldHR5cHJpbnRpbmctamF2YXNjcmlwdC5odG1sCmluZGV4IGJiZjFhNGQuLmY5MmVhMGUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3ByZXR0eXByaW50
aW5nLWphdmFzY3JpcHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJv
ci9wcmV0dHlwcmludGluZy1qYXZhc2NyaXB0Lmh0bWwKQEAgLTEzLDYgKzEzLDExIEBAIGZ1bmN0
aW9uIHRlc3QoKQogICAgICAgICAicmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQt
dGVzdHMvc2luZ2xlLXN0YXRlbWVudC1ibG9ja3MuanMiLAogICAgICAgICAicmVzb3VyY2VzL3By
ZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvc3dpdGNoLWNhc2UtZGVmYXVsdC5qcyIsCiAg
ICAgICAgICJyZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy91bmFyeS1i
aW5hcnktb3BlcmF0b3JzLmpzIiwKKyAgICAgICAgInJlc291cmNlcy9wcmV0dHlwcmludGluZy9q
YXZhc2NyaXB0LXRlc3RzL2RvLXdoaWxlLWxvb3AuanMiLAorICAgICAgICAicmVzb3VyY2VzL3By
ZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvaWYtZm9sbG93ZWQtYnktd2hpbGUuanMiLAor
ICAgICAgICAicmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvd2hpbGUt
d2l0aGluLWRvLXdoaWxlLmpzIiwKKyAgICAgICAgInJlc291cmNlcy9wcmV0dHlwcmludGluZy9q
YXZhc2NyaXB0LXRlc3RzL2lmLXdoaWxlLXdpdGhpbi1kby13aGlsZS5qcyIsCisgICAgICAgICJy
ZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS13aXRoaW4t
aWYuanMiLAogICAgIF0pOwogCiAgICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJl
dHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS1sb29wLWV4cGVjdGVkLmpzIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5n
L2phdmFzY3JpcHQtdGVzdHMvZG8td2hpbGUtbG9vcC1leHBlY3RlZC5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODVhMjBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFz
Y3JpcHQtdGVzdHMvZG8td2hpbGUtbG9vcC1leHBlY3RlZC5qcwpAQCAtMCwwICsxLDQgQEAKK2Rv
IHsKKyAgICAieCIKK30gd2hpbGUgKDApOworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0
cy9kby13aGlsZS1sb29wLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVz
b3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvZG8td2hpbGUtbG9vcC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWIzZWJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXBy
aW50aW5nL2phdmFzY3JpcHQtdGVzdHMvZG8td2hpbGUtbG9vcC5qcwpAQCAtMCwwICsxIEBACitk
b3sieCJ9d2hpbGUoMCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1p
cnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS13
aXRoaW4taWYtZXhwZWN0ZWQuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9y
ZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS13aXRoaW4t
aWYtZXhwZWN0ZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGZjMjQ3
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jl
c291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2RvLXdoaWxlLXdpdGhpbi1p
Zi1leHBlY3RlZC5qcwpAQCAtMCwwICsxLDUgQEAKK2lmICh0cnVlKSB7CisgICAgZG8geworICAg
ICAgICB2YXIgeDsKKyAgICB9IHdoaWxlICgwKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0
LXRlc3RzL2RvLXdoaWxlLXdpdGhpbi1pZi5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2Rl
bWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2RvLXdoaWxl
LXdpdGhpbi1pZi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDZlZDgw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVz
b3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvZG8td2hpbGUtd2l0aGluLWlm
LmpzCkBAIC0wLDAgKzEgQEAKK2lmICh0cnVlKSB7IGRvIHt2YXIgeDt9IHdoaWxlICgwKTt9Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMv
aWYtZm9sbG93ZWQtYnktd2hpbGUtZXhwZWN0ZWQuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9pZi1m
b2xsb3dlZC1ieS13aGlsZS1leHBlY3RlZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5mN2Q2MmVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvaWYt
Zm9sbG93ZWQtYnktd2hpbGUtZXhwZWN0ZWQuanMKQEAgLTAsMCArMSw2IEBACitpZiAoeCA9PSAy
KSB7CisgICAgdmFyIHkKK30KK3doaWxlICgwKSB7CisgICAgeSA9IDMKK30KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGlu
Zy9qYXZhc2NyaXB0LXRlc3RzL2lmLWZvbGxvd2VkLWJ5LXdoaWxlLmpzIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQt
dGVzdHMvaWYtZm9sbG93ZWQtYnktd2hpbGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uNjcwOTI0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2lm
LWZvbGxvd2VkLWJ5LXdoaWxlLmpzCkBAIC0wLDAgKzEgQEAKK2lmKHg9PTIpe3ZhciB5fXdoaWxl
KDApe3k9M30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNj
cmlwdC10ZXN0cy9pZi13aGlsZS13aXRoaW4tZG8td2hpbGUtZXhwZWN0ZWQuanMgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNj
cmlwdC10ZXN0cy9pZi13aGlsZS13aXRoaW4tZG8td2hpbGUtZXhwZWN0ZWQuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDdjN2NiYQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9q
YXZhc2NyaXB0LXRlc3RzL2lmLXdoaWxlLXdpdGhpbi1kby13aGlsZS1leHBlY3RlZC5qcwpAQCAt
MCwwICsxLDEyIEBACitkbyB7CisgICAgaWYgKHRydWUpIHsKKyAgICAgICAgdmFyIHg7CisgICAg
fQorICAgIHdoaWxlICgwKSB7CisgICAgICAgIHggPSAxOworICAgIH0KKyAgICBpZiAodHJ1ZSkK
KyAgICAgICAgdmFyIHk7CisgICAgd2hpbGUgKDApCisgICAgICAgIHkgPSAxOworfSB3aGlsZSAo
MCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJj
ZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9pZi13aGlsZS13aXRoaW4tZG8td2hp
bGUuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5
cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9pZi13aGlsZS13aXRoaW4tZG8td2hpbGUuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdmNDFjNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmlu
dGluZy9qYXZhc2NyaXB0LXRlc3RzL2lmLXdoaWxlLXdpdGhpbi1kby13aGlsZS5qcwpAQCAtMCww
ICsxIEBACitkbyB7aWYgKHRydWUpIHt2YXIgeDt9d2hpbGUgKDApIHt4ID0gMTt9aWYgKHRydWUp
dmFyIHk7d2hpbGUgKDApeSA9IDE7fXdoaWxlICgwKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJj
ZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy93aGlsZS13aXRoaW4tZG8td2hpbGUt
ZXhwZWN0ZWQuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMv
cHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy93aGlsZS13aXRoaW4tZG8td2hpbGUtZXhw
ZWN0ZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzRiMDIyMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNl
cy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL3doaWxlLXdpdGhpbi1kby13aGlsZS1l
eHBlY3RlZC5qcwpAQCAtMCwwICsxLDYgQEAKK2RvIHsKKyAgICB2YXIgY291bnRlciA9IDA7Cisg
ICAgd2hpbGUgKGNvdW50ZXIgPCAzKSB7CisgICAgICAgIGNvdW50ZXIgKz0gMTsKKyAgICB9Cit9
IHdoaWxlICgwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9y
L3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL3doaWxlLXdpdGhpbi1k
by13aGlsZS5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9w
cmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL3doaWxlLXdpdGhpbi1kby13aGlsZS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OGJhMmEzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXBy
aW50aW5nL2phdmFzY3JpcHQtdGVzdHMvd2hpbGUtd2l0aGluLWRvLXdoaWxlLmpzCkBAIC0wLDAg
KzEgQEAKK2Rve3ZhciBjb3VudGVyPTA7d2hpbGUoY291bnRlcjwzKXtjb3VudGVyKz0xO319d2hp
bGUoMCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cK
aW5kZXggMmE0MmMxMi4uMTFiOGEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNDEgQEAKKzIwMTYtMDMtMjkgIERhbmEgQnVya2FydCBhbmQgTWF0dGhldyBIYW5zb24gIDxk
YnVya2FydEBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogSlMgUHJldHR5UHJp
bnRpbmcgaW4gZG8vd2hpbGUgbG9vcHMsICJ3aGlsZSIgc2hvdWxkIGJlIG9uIHRoZSBzYW1lIGxp
bmUgYXMgIn0iIGlmIHRoZXJlIHdhcyBhIGNsb3NpbmcgYnJhY2UKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzYxNgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMTU3OTY4ODQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyB0aGUgZm9ybWF0dGluZyBvZiBkbyAvIHdoaWxlIGxv
b3BzIGluIHRoZSBXZWJJbnNwZWN0b3IgQ29kZUZvcm1hdHRlci4KKworICAgICAgICBCZWZvcmU6
CisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICJ4IgorICAgICAgICAgICAgfQorICAg
ICAgICAgICAgd2hpbGUgKDApOworCisgICAgICAgIEFmdGVyOgorICAgICAgICAgICAgZG8gewor
ICAgICAgICAgICAgICAieCIKKyAgICAgICAgICAgIH0gd2hpbGUgKDApOworCisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9Db2RlTWlycm9yRm9ybWF0dGVycy5qczoKKyAgICAgICAgKHNo
b3VsZEhhdmVTcGFjZUJlZm9yZVRva2VuKToKKyAgICAgICAgSWYgd2UgZW5jb3VudGVyIGEgd2hp
bGUgdG9rZW4gYW5kIHRoZSBsYXN0IHRva2VuIHdhcyBhIGNsb3NpbmcgYnJhY2UsIHdlICpzaG91
bGQqIGFkZCBhIHNwYWNlIGlmIHRoYXQgY2xvc2luZworICAgICAgICBicmFjZSB3YXMgY2xvc2lu
ZyBhIGRvIGJsb2NrLgorCisgICAgICAgIChyZW1vdmVMYXN0TmV3bGluZSk6CisgICAgICAgIElm
IHdlIGVuY291bnRlciBhIHdoaWxlIHRva2VuIGFuZCB0aGUgbGFzdCB0b2tlbiB3YXMgYSBjbG9z
aW5nIGJyYWNlLCB3ZSAqc2hvdWxkIG5vdCogYWRkIGEgbmV3bGluZSBpZiB0aGF0IGNsb3NpbmcK
KyAgICAgICAgYnJhY2UgY2xvc2VzIGEgZG8gYmxvY2suCisKKyAgICAgICAgKG1vZGlmeVN0YXRl
Rm9yVG9rZW5QcmUpOgorICAgICAgICBXZSBzaG91bGQga2VlcCB0cmFjayBvZiB0aGUgbGFzdCB0
b2tlbiB0aGF0IHdlIGVuY291bnRlcmVkIGJlZm9yZSBlbnRlcmluZyBpbnRvIGEgYmxvY2suIFdl
IGRvIHRoaXMgYnkgc2V0dGluZworICAgICAgICBhIGxhc3RDb250ZW50QmVmb3JlQmxvY2sgcHJv
cGVydHkgb24gb3BlbkJyYWNlU3RhcnRNYXJrZXIgLyBzdGF0ZSBvYmplY3RzLgorCisgICAgICAg
IEluIGFkZGl0aW9uLCB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0IHdlIHBvcCB0aGUgbGFzdCBvcGVu
QnJhY2VTdGFydE1hcmtlciBmcm9tIHRoZSBzdGFjayBvZiBzYXZlZCBzdGF0ZXMgd2hlbiB3ZQor
ICAgICAgICBlbmNvdW50ZXIgYSBjbG9zaW5nIGJyYWNlIGF0IHRoZSB0b3AgbGV2ZWwgKHJlYWQ6
IGluZGVudGF0aW9uIGxldmVsIG9mIDApIG9mIHRoZSBwcm9ncmFtLiBXaXRob3V0IGRvaW5nIHRo
aXMsIHdlCisgICAgICAgIGNhbm5vdCByZWxpYWJseSBkZXRlcm1pbmUgd2hldGhlciBvciBub3Qg
b3VyIHdoaWxlIHRva2VuIG5lZWRzIHRvIGJlIGlubGluZSBvciBub3QuCisKIDIwMTYtMDMtMjkg
IEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBSRUdSRVNTSU9OOiDijJhFIGFuZCDijJhHIHRleHQgc2VhcmNoaW5nIGRvZXMgbm90
IHdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NvZGVNaXJyb3JGb3JtYXR0ZXJzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ29kZU1pcnJvckZvcm1hdHRlcnMuanMKaW5kZXggYTNlNDhmNy4uMzY0
YTI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvQ29kZU1pcnJvckZvcm1hdHRlcnMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ29kZU1pcnJvckZvcm1hdHRlcnMuanMKQEAgLTUzLDYgKzUzLDkg
QEAgQ29kZU1pcnJvci5leHRlbmRNb2RlKCJqYXZhc2NyaXB0IiwgewogICAgICAgICBpZiAoL1xi
a2V5d29yZFxiLy50ZXN0KHRva2VuKSkgeyAvLyBNb3N0IGtleXdvcmRzIHJlcXVpcmUgc3BhY2Vz
IGJlZm9yZSB0aGVtLCB1bmxlc3MgYSAnfScgY2FuIGNvbWUgYmVmb3JlIGl0LgogICAgICAgICAg
ICAgaWYgKGNvbnRlbnQgPT09ICJlbHNlIiB8fCBjb250ZW50ID09PSAiY2F0Y2giIHx8IGNvbnRl
bnQgPT09ICJmaW5hbGx5IikKICAgICAgICAgICAgICAgICByZXR1cm4gbGFzdENvbnRlbnQgPT09
ICJ9IjsKKyAgICAgICAgICAgIGVsc2UgaWYgKGNvbnRlbnQgPT09ICJ3aGlsZSIgJiYgbGFzdENv
bnRlbnQgPT09ICJ9IikgeworICAgICAgICAgICAgICAgIHJldHVybiBzdGF0ZS5fanNQcmV0dHlQ
cmludC5sYXN0Q29udGVudEJlZm9yZUJsb2NrID09PSAiZG8iOworICAgICAgICAgICAgfQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKQEAgLTE0MSw2ICsxNDQsMTAgQEAg
Q29kZU1pcnJvci5leHRlbmRNb2RlKCJqYXZhc2NyaXB0IiwgewogICAgICAgICBpZiAoL1xia2V5
d29yZFxiLy50ZXN0KHRva2VuKSkgewogICAgICAgICAgICAgaWYgKGNvbnRlbnQgPT09ICJlbHNl
IiB8fCBjb250ZW50ID09PSAiY2F0Y2giIHx8IGNvbnRlbnQgPT09ICJmaW5hbGx5IikgLy8gIn0g
ZWxzZSIsICJ9IGNhdGNoIiwgIn0gZmluYWxseSIKICAgICAgICAgICAgICAgICByZXR1cm4gbGFz
dENvbnRlbnQgPT09ICJ9IjsKKyAgICAgICAgICAgIGVsc2UgaWYgKGNvbnRlbnQgPT09ICJ3aGls
ZSIgJiYgbGFzdENvbnRlbnQgPT09ICJ9IikgeworICAgICAgICAgICAgICAgIHJldHVybiBzdGF0
ZS5fanNQcmV0dHlQcmludC5sYXN0Q29udGVudEJlZm9yZUJsb2NrID09PSAiZG8iOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICB9CiAKQEAgLTIwMSw2ICsyMDgsNyBAQCBDb2RlTWlycm9yLmV4dGVuZE1vZGUoImphdmFz
Y3JpcHQiLCB7CiAgICAgICAgICAgICAgICAgb3BlbkJyYWNlU3RhcnRNYXJrZXJzOiBbXSwgIC8v
IEtlZXAgdHJhY2sgb2Ygbm9uLXNpbmdsZSBzdGF0ZW1lbnQgYmxvY2tzLgogICAgICAgICAgICAg
ICAgIG9wZW5CcmFjZVRyYWNraW5nQ291bnQ6IC0xLCAvLyBLZWVwIHRyYWNrIG9mICJ7IiBhbmQg
In0iIGluIG5vbi1zaW5nbGUgc3RhdGVtZW50IGJsb2Nrcy4KICAgICAgICAgICAgICAgICB1bmFy
eU9wZXJhdG9ySGFkTGVhZGluZ0V4cHI6IGZhbHNlLCAvLyBUcnkgdG8gZGV0ZWN0IGlmIGEgdW5h
cnkgb3BlcmF0b3IgaGFkIGEgbGVhZGluZyBleHByZXNzaW9uIGFuZCB0aGVyZWZvcmUgbWF5IGJl
IGJpbmFyeS4KKyAgICAgICAgICAgICAgICBsYXN0Q29udGVudEJlZm9yZUJsb2NrOiB1bmRlZmlu
ZWQsIAogICAgICAgICAgICAgfTsKICAgICAgICAgfQogCkBAIC0yMjQsNyArMjMyLDcgQEAgQ29k
ZU1pcnJvci5leHRlbmRNb2RlKCJqYXZhc2NyaXB0IiwgewogICAgICAgICBpZiAoIWlzQ29tbWVu
dCAmJiBzdGF0ZS5sZXhpY2FsLnByZXYgJiYgc3RhdGUubGV4aWNhbC5wcmV2LnR5cGUgPT09ICJm
b3JtIiAmJiAhc3RhdGUubGV4aWNhbC5wcmV2Ll9qc1ByZXR0eVByaW50TWFya2VyICYmIChsYXN0
Q29udGVudCA9PT0gIikiIHx8IGxhc3RDb250ZW50ID09PSAiZWxzZSIgfHwgbGFzdENvbnRlbnQg
PT09ICJkbyIpICYmIChzdGF0ZS5sZXhpY2FsLnR5cGUgIT09ICIpIikpIHsKICAgICAgICAgICAg
IGlmIChjb250ZW50ID09PSAieyIpIHsKICAgICAgICAgICAgICAgICAvLyBTYXZlIHRoZSBzdGF0
ZSBhdCB0aGUgb3BlbmluZyBicmFjZSBzbyB3ZSBjYW4gcmV0dXJuIHRvIGl0IHdoZW4gd2Ugc2Vl
ICJ9Ii4KLSAgICAgICAgICAgICAgICB2YXIgc2F2ZWRTdGF0ZSA9IHtpbmRlbnRDb3VudDogc3Rh
dGUuX2pzUHJldHR5UHJpbnQuaW5kZW50Q291bnQsIG9wZW5CcmFjZVRyYWNraW5nQ291bnQ6IHN0
YXRlLl9qc1ByZXR0eVByaW50Lm9wZW5CcmFjZVRyYWNraW5nQ291bnR9OworICAgICAgICAgICAg
ICAgIHZhciBzYXZlZFN0YXRlID0ge2luZGVudENvdW50OiBzdGF0ZS5fanNQcmV0dHlQcmludC5p
bmRlbnRDb3VudCwgb3BlbkJyYWNlVHJhY2tpbmdDb3VudDogc3RhdGUuX2pzUHJldHR5UHJpbnQu
b3BlbkJyYWNlVHJhY2tpbmdDb3VudCwgbGFzdENvbnRlbnRCZWZvcmVCbG9jazogbGFzdENvbnRl
bnR9OwogICAgICAgICAgICAgICAgIHN0YXRlLl9qc1ByZXR0eVByaW50Lm9wZW5CcmFjZVN0YXJ0
TWFya2Vycy5wdXNoKHNhdmVkU3RhdGUpOwogICAgICAgICAgICAgICAgIHN0YXRlLl9qc1ByZXR0
eVByaW50Lm9wZW5CcmFjZVRyYWNraW5nQ291bnQgPSAxOwogICAgICAgICAgICAgfSBlbHNlIGlm
IChzdGF0ZS5sZXhpY2FsLnR5cGUgIT09ICJ9IikgewpAQCAtMjc3LDYgKzI4NSw3IEBAIENvZGVN
aXJyb3IuZXh0ZW5kTW9kZSgiamF2YXNjcmlwdCIsIHsKICAgICAgICAgICAgICAgICBzdGF0ZS5f
anNQcmV0dHlQcmludC5zaG91bGREZWRlbnQgPSB0cnVlOwogICAgICAgICAgICAgICAgIHN0YXRl
Ll9qc1ByZXR0eVByaW50LmRlZGVudFNpemUgPSBzdGF0ZS5fanNQcmV0dHlQcmludC5pbmRlbnRD
b3VudCAtIHNhdmVkU3RhdGUuaW5kZW50Q291bnQ7CiAgICAgICAgICAgICAgICAgc3RhdGUuX2pz
UHJldHR5UHJpbnQub3BlbkJyYWNlVHJhY2tpbmdDb3VudCA9IHNhdmVkU3RhdGUub3BlbkJyYWNl
VHJhY2tpbmdDb3VudDsKKyAgICAgICAgICAgICAgICBzdGF0ZS5fanNQcmV0dHlQcmludC5sYXN0
Q29udGVudEJlZm9yZUJsb2NrID0gc2F2ZWRTdGF0ZS5sYXN0Q29udGVudEJlZm9yZUJsb2NrOwog
ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAvLyBEZWRlbnQgYWxsIHRoZSB3
YXkuCiAgICAgICAgICAgICAgICAgdmFyIHNob3VsZERlZGVudCA9IHRydWU7CkBAIC0yOTQsNiAr
MzAzLDE1IEBAIENvZGVNaXJyb3IuZXh0ZW5kTW9kZSgiamF2YXNjcmlwdCIsIHsKICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIC8v
IC0gTGVhdmluZzoKKyAgICAgICAgLy8gICAtIFByZWNvbmRpdGlvbnMKKyAgICAgICAgLy8gICAg
ICAtIE5vbmUgb2YgdGhlIGFib3ZlIGNvbmRpdGlvbnMgYXJlIG1ldCwgYW5kIHdlIHN0aWxsIGhh
dmUgb3BlbkJyYWNlU3RhcnRNYXJrZXJzCisgICAgICAgIGVsc2UgaWYgKGNvbnRlbnQgPT09ICJ9
IiAmJiBzdGF0ZS5fanNQcmV0dHlQcmludC5vcGVuQnJhY2VTdGFydE1hcmtlcnMubGVuZ3RoKSB7
CisgICAgICAgICAgICB2YXIgc2F2ZWRTdGF0ZSA9IHN0YXRlLl9qc1ByZXR0eVByaW50Lm9wZW5C
cmFjZVN0YXJ0TWFya2Vycy5wb3AoKTsKKyAgICAgICAgICAgIHN0YXRlLl9qc1ByZXR0eVByaW50
Lm9wZW5CcmFjZVRyYWNraW5nQ291bnQgPSBzYXZlZFN0YXRlLm9wZW5CcmFjZVRyYWNraW5nQ291
bnQ7CisgICAgICAgICAgICBzdGF0ZS5fanNQcmV0dHlQcmludC5sYXN0Q29udGVudEJlZm9yZUJs
b2NrID0gc2F2ZWRTdGF0ZS5sYXN0Q29udGVudEJlZm9yZUJsb2NrOworICAgICAgICB9CiAKICAg
ICAgICAgLy8gU2lnbmFsIGZvciB3aGVuIHdlIHdpbGwgYmUgZW50ZXJpbmcgYW4gaWYuCiAgICAg
ICAgIGlmICh0b2tlbiAmJiBzdGF0ZS5sZXhpY2FsLnR5cGUgPT09ICJmb3JtIiAmJiBzdGF0ZS5s
ZXhpY2FsLnByZXYgJiYgc3RhdGUubGV4aWNhbC5wcmV2ICE9PSAiZm9ybSIgJiYgL1xia2V5d29y
ZFxiLy50ZXN0KHRva2VuKSkKLS0gCjIuNi40IChBcHBsZSBHaXQtNjMpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275156</attachid>
            <date>2016-03-29 17:12:37 -0700</date>
            <delta_ts>2016-03-29 17:26:20 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Web-Inspector-JS-PrettyPrinting-in-do-while-loops-wh.patch</filename>
            <type>text/plain</type>
            <size>19075</size>
            <attacher name="Dana Burkart">dburkart</attacher>
            
              <data encoding="base64">RnJvbSBlYzI1MWU1Y2E1NGI3YTAyZDkwZWIwMGE2MWU5OGMyMTBjNDZkNGRjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5hIEJ1cmthcnQgPGRidXJrYXJ0QGFwcGxlLmNvbT4KRGF0
ZTogVHVlLCAyOSBNYXIgMjAxNiAxMzozMTo1NSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIFdlYiBJ
bnNwZWN0b3I6IEpTIFByZXR0eVByaW50aW5nIGluIGRvL3doaWxlIGxvb3BzLCAid2hpbGUiCiBz
aG91bGQgYmUgb24gdGhlIHNhbWUgbGluZSBhcyAifSIgaWYgdGhlcmUgd2FzIGEgY2xvc2luZyBi
cmFjZQogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzYxNiA8cmRh
cjovL3Byb2JsZW0vMTU3OTY4ODQ+CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClNvdXJj
ZS9XZWJJbnNwZWN0b3JVSToKClRoaXMgcGF0Y2ggZml4ZXMgdGhlIGZvcm1hdHRpbmcgb2YgZG8g
LyB3aGlsZSBsb29wcyBpbiB0aGUgV2ViSW5zcGVjdG9yIENvZGVGb3JtYXR0ZXIuCgpCZWZvcmU6
CiAgICBkbyB7CiAgICAgICJ4IgogICAgfQogICAgd2hpbGUgKDApOwoKQWZ0ZXI6CiAgICBkbyB7
CiAgICAgICJ4IgogICAgfSB3aGlsZSAoMCk7CgoqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29kZU1p
cnJvckZvcm1hdHRlcnMuanM6CihzaG91bGRIYXZlU3BhY2VCZWZvcmVUb2tlbik6CklmIHdlIGVu
Y291bnRlciBhIHdoaWxlIHRva2VuIGFuZCB0aGUgbGFzdCB0b2tlbiB3YXMgYSBjbG9zaW5nIGJy
YWNlLCB3ZSAqc2hvdWxkKiBhZGQgYSBzcGFjZSBpZiB0aGF0IGNsb3NpbmcKYnJhY2Ugd2FzIGNs
b3NpbmcgYSBkbyBibG9jay4KCihyZW1vdmVMYXN0TmV3bGluZSk6CklmIHdlIGVuY291bnRlciBh
IHdoaWxlIHRva2VuIGFuZCB0aGUgbGFzdCB0b2tlbiB3YXMgYSBjbG9zaW5nIGJyYWNlLCB3ZSAq
c2hvdWxkIG5vdCogYWRkIGEgbmV3bGluZSBpZiB0aGF0IGNsb3NpbmcKYnJhY2UgY2xvc2VzIGEg
ZG8gYmxvY2suCgoobW9kaWZ5U3RhdGVGb3JUb2tlblByZSk6CldlIHNob3VsZCBrZWVwIHRyYWNr
IG9mIHRoZSBsYXN0IHRva2VuIHRoYXQgd2UgZW5jb3VudGVyZWQgYmVmb3JlIGVudGVyaW5nIGlu
dG8gYSBibG9jay4gV2UgZG8gdGhpcyBieSBzZXR0aW5nCmEgbGFzdENvbnRlbnRCZWZvcmVCbG9j
ayBwcm9wZXJ0eSBvbiBvcGVuQnJhY2VTdGFydE1hcmtlciAvIHN0YXRlIG9iamVjdHMuCgpJbiBh
ZGRpdGlvbiwgdGhpcyBmaXhlcyBhIGJ1ZyB3aGVyZSB3ZSBkbyBub3QgcG9wIGEgc3RhdGUgb2Jq
ZWN0IG9mZiBvZiBvcGVuQnJhY2VTdGFydE1hcmtlcnMgaWYgb3VyIGluZGVudENvdW50CmlzIDAu
IFdpdGhvdXQgZG9pbmcgdGhpcywgd2UgY2Fubm90IHJlbGlhYmx5IGRldGVybWluZSB3aGV0aGVy
IG9yIG5vdCBvdXIgd2hpbGUgdG9rZW4gbmVlZHMgdG8gYmUgaW5saW5lIG9yIG5vdC4KCkxheW91
dFRlc3RzOgoKKiBpbnNwZWN0b3IvY29kZW1pcnJvci9wcmV0dHlwcmludGluZy1qYXZhc2NyaXB0
LWV4cGVjdGVkLnR4dDoKKiBpbnNwZWN0b3IvY29kZW1pcnJvci9wcmV0dHlwcmludGluZy1qYXZh
c2NyaXB0Lmh0bWw6CiogaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50
aW5nL2phdmFzY3JpcHQtdGVzdHMvZG8td2hpbGUtbG9vcC1leHBlY3RlZC5qczogQWRkZWQuCiog
aW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQt
dGVzdHMvZG8td2hpbGUtbG9vcC5qczogQWRkZWQuCiogaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVz
b3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvZG8td2hpbGUtd2l0aGluLWlm
LWV4cGVjdGVkLmpzOiBBZGRlZC4KKiBpbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJl
dHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS13aXRoaW4taWYuanM6IEFkZGVk
LgoqIGluc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2Ny
aXB0LXRlc3RzL2lmLWZvbGxvd2VkLWJ5LXdoaWxlLWV4cGVjdGVkLmpzOiBBZGRlZC4KKiBpbnNw
ZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0
cy9pZi1mb2xsb3dlZC1ieS13aGlsZS5qczogQWRkZWQuCiogaW5zcGVjdG9yL2NvZGVtaXJyb3Iv
cmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvaWYtd2hpbGUtd2l0aGlu
LWRvLXdoaWxlLWV4cGVjdGVkLmpzOiBBZGRlZC4KKiBpbnNwZWN0b3IvY29kZW1pcnJvci9yZXNv
dXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9pZi13aGlsZS13aXRoaW4tZG8t
d2hpbGUuanM6IEFkZGVkLgoqIGluc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlw
cmludGluZy9qYXZhc2NyaXB0LXRlc3RzL3doaWxlLXdpdGhpbi1kby13aGlsZS1leHBlY3RlZC5q
czogQWRkZWQuCiogaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5n
L2phdmFzY3JpcHQtdGVzdHMvd2hpbGUtd2l0aGluLWRvLXdoaWxlLmpzOiBBZGRlZC4KLS0tCiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIxICsr
KysrKysrKysrKwogLi4uL3ByZXR0eXByaW50aW5nLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0ICAg
ICAgICAgfCAxNSArKysrKysrKysKIC4uLi9jb2RlbWlycm9yL3ByZXR0eXByaW50aW5nLWphdmFz
Y3JpcHQuaHRtbCAgICAgIHwgIDUgKysrCiAuLi4vamF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS1s
b29wLWV4cGVjdGVkLmpzICAgICB8ICA0ICsrKwogLi4uL2phdmFzY3JpcHQtdGVzdHMvZG8td2hp
bGUtbG9vcC5qcyAgICAgICAgICAgICAgfCAgMSArCiAuLi4vZG8td2hpbGUtd2l0aGluLWlmLWV4
cGVjdGVkLmpzICAgICAgICAgICAgICAgICB8ICA2ICsrKysKIC4uLi9qYXZhc2NyaXB0LXRlc3Rz
L2RvLXdoaWxlLXdpdGhpbi1pZi5qcyAgICAgICAgIHwgIDEgKwogLi4uL2lmLWZvbGxvd2VkLWJ5
LXdoaWxlLWV4cGVjdGVkLmpzICAgICAgICAgICAgICAgfCAgNyArKysrCiAuLi4vamF2YXNjcmlw
dC10ZXN0cy9pZi1mb2xsb3dlZC1ieS13aGlsZS5qcyAgICAgICB8ICAxICsKIC4uLi9pZi13aGls
ZS13aXRoaW4tZG8td2hpbGUtZXhwZWN0ZWQuanMgICAgICAgICAgIHwgMTMgKysrKysrKysKIC4u
Li9qYXZhc2NyaXB0LXRlc3RzL2lmLXdoaWxlLXdpdGhpbi1kby13aGlsZS5qcyAgIHwgIDEgKwog
Li4uL3doaWxlLXdpdGhpbi1kby13aGlsZS1leHBlY3RlZC5qcyAgICAgICAgICAgICAgfCAgNyAr
KysrCiAuLi4vamF2YXNjcmlwdC10ZXN0cy93aGlsZS13aXRoaW4tZG8td2hpbGUuanMgICAgICB8
ICAxICsKIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
IHwgMzcgKysrKysrKysrKysrKysrKysrKysrKwogLi4uL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29k
ZU1pcnJvckZvcm1hdHRlcnMuanMgICAgfCAxMSArKysrKy0tCiAxNSBmaWxlcyBjaGFuZ2VkLCAx
MjggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2
YXNjcmlwdC10ZXN0cy9kby13aGlsZS1sb29wLWV4cGVjdGVkLmpzCiBjcmVhdGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50
aW5nL2phdmFzY3JpcHQtdGVzdHMvZG8td2hpbGUtbG9vcC5qcwogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGlu
Zy9qYXZhc2NyaXB0LXRlc3RzL2RvLXdoaWxlLXdpdGhpbi1pZi1leHBlY3RlZC5qcwogY3JlYXRl
IG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9w
cmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2RvLXdoaWxlLXdpdGhpbi1pZi5qcwogY3Jl
YXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNl
cy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2lmLWZvbGxvd2VkLWJ5LXdoaWxlLWV4
cGVjdGVkLmpzCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVt
aXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvaWYtZm9sbG93
ZWQtYnktd2hpbGUuanMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9pZi13
aGlsZS13aXRoaW4tZG8td2hpbGUtZXhwZWN0ZWQuanMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2
YXNjcmlwdC10ZXN0cy9pZi13aGlsZS13aXRoaW4tZG8td2hpbGUuanMKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJp
bnRpbmcvamF2YXNjcmlwdC10ZXN0cy93aGlsZS13aXRoaW4tZG8td2hpbGUtZXhwZWN0ZWQuanMK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNv
dXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy93aGlsZS13aXRoaW4tZG8td2hp
bGUuanMKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNTEyNDRiNi4uMWIxYzU5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisy
MDE2LTAzLTI5ICBEYW5hIEJ1cmthcnQgYW5kIE1hdHRoZXcgSGFuc29uICA8ZGJ1cmthcnRAYXBw
bGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEpTIFByZXR0eVByaW50aW5nIGluIGRv
L3doaWxlIGxvb3BzLCAid2hpbGUiIHNob3VsZCBiZSBvbiB0aGUgc2FtZSBsaW5lIGFzICJ9IiBp
ZiB0aGVyZSB3YXMgYSBjbG9zaW5nIGJyYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTc2MTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE1Nzk2
ODg0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aW5zcGVjdG9yL2NvZGVtaXJyb3IvcHJldHR5cHJpbnRpbmctamF2YXNjcmlwdC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2NvZGVtaXJyb3IvcHJldHR5cHJpbnRpbmctamF2YXNj
cmlwdC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0
dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2RvLXdoaWxlLWxvb3AtZXhwZWN0ZWQuanM6IEFk
ZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmlu
dGluZy9qYXZhc2NyaXB0LXRlc3RzL2RvLXdoaWxlLWxvb3AuanM6IEFkZGVkLgorICAgICAgICAq
IGluc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0
LXRlc3RzL2RvLXdoaWxlLXdpdGhpbi1pZi1leHBlY3RlZC5qczogQWRkZWQuCisgICAgICAgICog
aW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQt
dGVzdHMvZG8td2hpbGUtd2l0aGluLWlmLmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
Y29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9pZi1m
b2xsb3dlZC1ieS13aGlsZS1leHBlY3RlZC5qczogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9y
L2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvaWYt
Zm9sbG93ZWQtYnktd2hpbGUuanM6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9jb2RlbWly
cm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2lmLXdoaWxlLXdp
dGhpbi1kby13aGlsZS1leHBlY3RlZC5qczogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Nv
ZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvaWYtd2hp
bGUtd2l0aGluLWRvLXdoaWxlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvY29kZW1p
cnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy93aGlsZS13aXRo
aW4tZG8td2hpbGUtZXhwZWN0ZWQuanM6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9jb2Rl
bWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL3doaWxlLXdp
dGhpbi1kby13aGlsZS5qczogQWRkZWQuCisKIDIwMTYtMDMtMjkgIEtlaXRoIE1pbGxlciAgPGtl
aXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgW0VTNl0gQWRkIHN1cHBvcnQgZm9yIFN5
bWJvbC5pc0NvbmNhdFNwcmVhZGFibGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29kZW1pcnJvci9wcmV0dHlwcmludGluZy1qYXZhc2NyaXB0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3ByZXR0eXByaW50aW5nLWphdmFzY3JpcHQt
ZXhwZWN0ZWQudHh0CmluZGV4IDAzYmNmMzcuLmI2NmRjZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3ByZXR0eXByaW50aW5nLWphdmFzY3JpcHQtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3ByZXR0eXByaW50
aW5nLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0xNCwzICsxNCwxOCBAQCBQQVNTCiAtLSBS
dW5uaW5nIHRlc3QgY2FzZTogQ29kZU1pcnJvci5QcmV0dHlQcmludGluZy5KYXZhU2NyaXB0LnVu
YXJ5LWJpbmFyeS1vcGVyYXRvcnMuanMKIFBBU1MKIAorLS0gUnVubmluZyB0ZXN0IGNhc2U6IENv
ZGVNaXJyb3IuUHJldHR5UHJpbnRpbmcuSmF2YVNjcmlwdC5kby13aGlsZS1sb29wLmpzCitQQVNT
CisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDb2RlTWlycm9yLlByZXR0eVByaW50aW5nLkphdmFT
Y3JpcHQuaWYtZm9sbG93ZWQtYnktd2hpbGUuanMKK1BBU1MKKworLS0gUnVubmluZyB0ZXN0IGNh
c2U6IENvZGVNaXJyb3IuUHJldHR5UHJpbnRpbmcuSmF2YVNjcmlwdC53aGlsZS13aXRoaW4tZG8t
d2hpbGUuanMKK1BBU1MKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IENvZGVNaXJyb3IuUHJldHR5
UHJpbnRpbmcuSmF2YVNjcmlwdC5pZi13aGlsZS13aXRoaW4tZG8td2hpbGUuanMKK1BBU1MKKwor
LS0gUnVubmluZyB0ZXN0IGNhc2U6IENvZGVNaXJyb3IuUHJldHR5UHJpbnRpbmcuSmF2YVNjcmlw
dC5kby13aGlsZS13aXRoaW4taWYuanMKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NvZGVtaXJyb3IvcHJldHR5cHJpbnRpbmctamF2YXNjcmlwdC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcHJldHR5cHJpbnRpbmctamF2YXNjcmlwdC5o
dG1sCmluZGV4IGJiZjFhNGQuLmY5MmVhMGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb2RlbWlycm9yL3ByZXR0eXByaW50aW5nLWphdmFzY3JpcHQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9wcmV0dHlwcmludGluZy1qYXZhc2NyaXB0Lmh0
bWwKQEAgLTEzLDYgKzEzLDExIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAicmVzb3VyY2Vz
L3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvc2luZ2xlLXN0YXRlbWVudC1ibG9ja3Mu
anMiLAogICAgICAgICAicmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMv
c3dpdGNoLWNhc2UtZGVmYXVsdC5qcyIsCiAgICAgICAgICJyZXNvdXJjZXMvcHJldHR5cHJpbnRp
bmcvamF2YXNjcmlwdC10ZXN0cy91bmFyeS1iaW5hcnktb3BlcmF0b3JzLmpzIiwKKyAgICAgICAg
InJlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2RvLXdoaWxlLWxvb3Au
anMiLAorICAgICAgICAicmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMv
aWYtZm9sbG93ZWQtYnktd2hpbGUuanMiLAorICAgICAgICAicmVzb3VyY2VzL3ByZXR0eXByaW50
aW5nL2phdmFzY3JpcHQtdGVzdHMvd2hpbGUtd2l0aGluLWRvLXdoaWxlLmpzIiwKKyAgICAgICAg
InJlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2lmLXdoaWxlLXdpdGhp
bi1kby13aGlsZS5qcyIsCisgICAgICAgICJyZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNj
cmlwdC10ZXN0cy9kby13aGlsZS13aXRoaW4taWYuanMiLAogICAgIF0pOwogCiAgICAgc3VpdGUu
cnVuVGVzdENhc2VzQW5kRmluaXNoKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9k
by13aGlsZS1sb29wLWV4cGVjdGVkLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJy
b3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvZG8td2hpbGUtbG9v
cC1leHBlY3RlZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODVhMjBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVz
b3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvZG8td2hpbGUtbG9vcC1leHBl
Y3RlZC5qcwpAQCAtMCwwICsxLDQgQEAKK2RvIHsKKyAgICAieCIKK30gd2hpbGUgKDApOworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJl
dHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS1sb29wLmpzIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3Jp
cHQtdGVzdHMvZG8td2hpbGUtbG9vcC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5hZWIzZWJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
ZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvZG8td2hp
bGUtbG9vcC5qcwpAQCAtMCwwICsxIEBACitkb3sieCJ9d2hpbGUoMCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcv
amF2YXNjcmlwdC10ZXN0cy9kby13aGlsZS13aXRoaW4taWYtZXhwZWN0ZWQuanMgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNj
cmlwdC10ZXN0cy9kby13aGlsZS13aXRoaW4taWYtZXhwZWN0ZWQuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uOTMzZDViYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2Ny
aXB0LXRlc3RzL2RvLXdoaWxlLXdpdGhpbi1pZi1leHBlY3RlZC5qcwpAQCAtMCwwICsxLDYgQEAK
K2lmICh0cnVlKSB7CisgICAgZG8geworICAgICAgICB2YXIgeDsKKyAgICB9IHdoaWxlICgwKTsK
K30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3Vy
Y2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvZG8td2hpbGUtd2l0aGluLWlmLmpz
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50
aW5nL2phdmFzY3JpcHQtdGVzdHMvZG8td2hpbGUtd2l0aGluLWlmLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyODdlOWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNj
cmlwdC10ZXN0cy9kby13aGlsZS13aXRoaW4taWYuanMKQEAgLTAsMCArMSBAQAoraWYgKHRydWUp
IHsgZG8ge3ZhciB4O30gd2hpbGUgKDApO30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3Rz
L2lmLWZvbGxvd2VkLWJ5LXdoaWxlLWV4cGVjdGVkLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvaWYt
Zm9sbG93ZWQtYnktd2hpbGUtZXhwZWN0ZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uMmI1OTkyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2lm
LWZvbGxvd2VkLWJ5LXdoaWxlLWV4cGVjdGVkLmpzCkBAIC0wLDAgKzEsNyBAQAoraWYgKHggPT0g
MikgeworICAgIHZhciB5Cit9Cit3aGlsZSAoMCkgeworICAgIHkgPSAzCit9CisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmlu
dGluZy9qYXZhc2NyaXB0LXRlc3RzL2lmLWZvbGxvd2VkLWJ5LXdoaWxlLmpzIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3Jp
cHQtdGVzdHMvaWYtZm9sbG93ZWQtYnktd2hpbGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uOTkwZjkzZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY29kZW1pcnJvci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0
cy9pZi1mb2xsb3dlZC1ieS13aGlsZS5qcwpAQCAtMCwwICsxIEBACitpZih4PT0yKXt2YXIgeX13
aGlsZSgwKXt5PTN9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJv
ci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9pZi13aGlsZS13aXRo
aW4tZG8td2hpbGUtZXhwZWN0ZWQuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJv
ci9yZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy9pZi13aGlsZS13aXRo
aW4tZG8td2hpbGUtZXhwZWN0ZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uODFiZmJhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2Rl
bWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL2lmLXdoaWxl
LXdpdGhpbi1kby13aGlsZS1leHBlY3RlZC5qcwpAQCAtMCwwICsxLDEzIEBACitkbyB7CisgICAg
aWYgKHRydWUpIHsKKyAgICAgICAgdmFyIHg7CisgICAgfQorICAgIHdoaWxlICgwKSB7CisgICAg
ICAgIHggPSAxOworICAgIH0KKyAgICBpZiAodHJ1ZSkKKyAgICAgICAgdmFyIHk7CisgICAgd2hp
bGUgKDApCisgICAgICAgIHkgPSAxOworfSB3aGlsZSAoMCk7CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZh
c2NyaXB0LXRlc3RzL2lmLXdoaWxlLXdpdGhpbi1kby13aGlsZS5qcyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jb2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRl
c3RzL2lmLXdoaWxlLXdpdGhpbi1kby13aGlsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4yMDYzNDlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2NvZGVtaXJyb3IvcmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMv
aWYtd2hpbGUtd2l0aGluLWRvLXdoaWxlLmpzCkBAIC0wLDAgKzEgQEAKK2RvIHtpZiAodHJ1ZSkg
e3ZhciB4O313aGlsZSAoMCkge3ggPSAxO31pZiAodHJ1ZSl2YXIgeTt3aGlsZSAoMCl5ID0gMTt9
d2hpbGUgKDApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3Iv
cmVzb3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvd2hpbGUtd2l0aGluLWRv
LXdoaWxlLWV4cGVjdGVkLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVz
b3VyY2VzL3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvd2hpbGUtd2l0aGluLWRvLXdo
aWxlLWV4cGVjdGVkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZWIy
M2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29kZW1pcnJvci9y
ZXNvdXJjZXMvcHJldHR5cHJpbnRpbmcvamF2YXNjcmlwdC10ZXN0cy93aGlsZS13aXRoaW4tZG8t
d2hpbGUtZXhwZWN0ZWQuanMKQEAgLTAsMCArMSw3IEBACitkbyB7CisgICAgdmFyIGNvdW50ZXIg
PSAwOworICAgIHdoaWxlIChjb3VudGVyIDwgMykgeworICAgICAgICBjb3VudGVyICs9IDE7Cisg
ICAgfQorfSB3aGlsZSAoMCk7CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
b2RlbWlycm9yL3Jlc291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL3doaWxl
LXdpdGhpbi1kby13aGlsZS5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb2RlbWlycm9yL3Jl
c291cmNlcy9wcmV0dHlwcmludGluZy9qYXZhc2NyaXB0LXRlc3RzL3doaWxlLXdpdGhpbi1kby13
aGlsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMGU2NTEzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvZGVtaXJyb3IvcmVzb3VyY2Vz
L3ByZXR0eXByaW50aW5nL2phdmFzY3JpcHQtdGVzdHMvd2hpbGUtd2l0aGluLWRvLXdoaWxlLmpz
CkBAIC0wLDAgKzEgQEAKK2Rve3ZhciBjb3VudGVyPTA7d2hpbGUoY291bnRlcjwzKXtjb3VudGVy
Kz0xO319d2hpbGUoMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAyYTQyYzEyLi41NDhi
NDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxNi0wMy0y
OSAgRGFuYSBCdXJrYXJ0IGFuZCBNYXR0aGV3IEhhbnNvbiAgPGRidXJrYXJ0QGFwcGxlLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiBKUyBQcmV0dHlQcmludGluZyBpbiBkby93aGlsZSBs
b29wcywgIndoaWxlIiBzaG91bGQgYmUgb24gdGhlIHNhbWUgbGluZSBhcyAifSIgaWYgdGhlcmUg
d2FzIGEgY2xvc2luZyBicmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTE3NjE2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNTc5Njg4ND4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNo
IGZpeGVzIHRoZSBmb3JtYXR0aW5nIG9mIGRvIC8gd2hpbGUgbG9vcHMgaW4gdGhlIFdlYkluc3Bl
Y3RvciBDb2RlRm9ybWF0dGVyLgorCisgICAgICAgIEJlZm9yZToKKyAgICAgICAgICAgIGRvIHsK
KyAgICAgICAgICAgICAgIngiCisgICAgICAgICAgICB9CisgICAgICAgICAgICB3aGlsZSAoMCk7
CisKKyAgICAgICAgQWZ0ZXI6CisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICJ4Igor
ICAgICAgICAgICAgfSB3aGlsZSAoMCk7CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L0NvZGVNaXJyb3JGb3JtYXR0ZXJzLmpzOgorICAgICAgICAoc2hvdWxkSGF2ZVNwYWNlQmVmb3Jl
VG9rZW4pOgorICAgICAgICBJZiB3ZSBlbmNvdW50ZXIgYSB3aGlsZSB0b2tlbiBhbmQgdGhlIGxh
c3QgdG9rZW4gd2FzIGEgY2xvc2luZyBicmFjZSwgd2UgKnNob3VsZCogYWRkIGEgc3BhY2UgaWYg
dGhhdCBjbG9zaW5nCisgICAgICAgIGJyYWNlIHdhcyBjbG9zaW5nIGEgZG8gYmxvY2suCisKKyAg
ICAgICAgKHJlbW92ZUxhc3ROZXdsaW5lKToKKyAgICAgICAgSWYgd2UgZW5jb3VudGVyIGEgd2hp
bGUgdG9rZW4gYW5kIHRoZSBsYXN0IHRva2VuIHdhcyBhIGNsb3NpbmcgYnJhY2UsIHdlICpzaG91
bGQgbm90KiBhZGQgYSBuZXdsaW5lIGlmIHRoYXQgY2xvc2luZworICAgICAgICBicmFjZSBjbG9z
ZXMgYSBkbyBibG9jay4KKworICAgICAgICAobW9kaWZ5U3RhdGVGb3JUb2tlblByZSk6CisgICAg
ICAgIFdlIHNob3VsZCBrZWVwIHRyYWNrIG9mIHRoZSBsYXN0IHRva2VuIHRoYXQgd2UgZW5jb3Vu
dGVyZWQgYmVmb3JlIGVudGVyaW5nIGludG8gYSBibG9jay4gV2UgZG8gdGhpcyBieSBzZXR0aW5n
CisgICAgICAgIGEgbGFzdENvbnRlbnRCZWZvcmVCbG9jayBwcm9wZXJ0eSBvbiBvcGVuQnJhY2VT
dGFydE1hcmtlciAvIHN0YXRlIG9iamVjdHMuCisKKyAgICAgICAgSW4gYWRkaXRpb24sIHRoaXMg
Zml4ZXMgYSBidWcgd2hlcmUgd2UgZG8gbm90IHBvcCBhIHN0YXRlIG9iamVjdCBvZmYgb2Ygb3Bl
bkJyYWNlU3RhcnRNYXJrZXJzIGlmIG91ciBpbmRlbnRDb3VudAorICAgICAgICBpcyAwLiBXaXRo
b3V0IGRvaW5nIHRoaXMsIHdlIGNhbm5vdCByZWxpYWJseSBkZXRlcm1pbmUgd2hldGhlciBvciBu
b3Qgb3VyIHdoaWxlIHRva2VuIG5lZWRzIHRvIGJlIGlubGluZSBvciBub3QuCisKIDIwMTYtMDMt
MjkgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBSRUdSRVNTSU9OOiDijJhFIGFuZCDijJhHIHRleHQgc2VhcmNoaW5nIGRvZXMg
bm90IHdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0NvZGVNaXJyb3JGb3JtYXR0ZXJzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ29kZU1pcnJvckZvcm1hdHRlcnMuanMKaW5kZXggYTNlNDhmNy4u
ZGQ3OGIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ29kZU1pcnJvckZvcm1hdHRlcnMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ29kZU1pcnJvckZvcm1hdHRlcnMuanMKQEAgLTUzLDYgKzUz
LDggQEAgQ29kZU1pcnJvci5leHRlbmRNb2RlKCJqYXZhc2NyaXB0IiwgewogICAgICAgICBpZiAo
L1xia2V5d29yZFxiLy50ZXN0KHRva2VuKSkgeyAvLyBNb3N0IGtleXdvcmRzIHJlcXVpcmUgc3Bh
Y2VzIGJlZm9yZSB0aGVtLCB1bmxlc3MgYSAnfScgY2FuIGNvbWUgYmVmb3JlIGl0LgogICAgICAg
ICAgICAgaWYgKGNvbnRlbnQgPT09ICJlbHNlIiB8fCBjb250ZW50ID09PSAiY2F0Y2giIHx8IGNv
bnRlbnQgPT09ICJmaW5hbGx5IikKICAgICAgICAgICAgICAgICByZXR1cm4gbGFzdENvbnRlbnQg
PT09ICJ9IjsKKyAgICAgICAgICAgIGVsc2UgaWYgKGNvbnRlbnQgPT09ICJ3aGlsZSIgJiYgbGFz
dENvbnRlbnQgPT09ICJ9IikKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGUuX2pzUHJldHR5
UHJpbnQubGFzdENvbnRlbnRCZWZvcmVCbG9jayA9PT0gImRvIjsKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgfQogCkBAIC0xNDEsNiArMTQzLDggQEAgQ29kZU1pcnJvci5leHRl
bmRNb2RlKCJqYXZhc2NyaXB0IiwgewogICAgICAgICBpZiAoL1xia2V5d29yZFxiLy50ZXN0KHRv
a2VuKSkgewogICAgICAgICAgICAgaWYgKGNvbnRlbnQgPT09ICJlbHNlIiB8fCBjb250ZW50ID09
PSAiY2F0Y2giIHx8IGNvbnRlbnQgPT09ICJmaW5hbGx5IikgLy8gIn0gZWxzZSIsICJ9IGNhdGNo
IiwgIn0gZmluYWxseSIKICAgICAgICAgICAgICAgICByZXR1cm4gbGFzdENvbnRlbnQgPT09ICJ9
IjsKKyAgICAgICAgICAgIGVsc2UgaWYgKGNvbnRlbnQgPT09ICJ3aGlsZSIgJiYgbGFzdENvbnRl
bnQgPT09ICJ9IikKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGUuX2pzUHJldHR5UHJpbnQu
bGFzdENvbnRlbnRCZWZvcmVCbG9jayA9PT0gImRvIjsKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgfQogCkBAIC0yMDEsNiArMjA1LDcgQEAgQ29kZU1pcnJvci5leHRlbmRNb2Rl
KCJqYXZhc2NyaXB0IiwgewogICAgICAgICAgICAgICAgIG9wZW5CcmFjZVN0YXJ0TWFya2Vyczog
W10sICAvLyBLZWVwIHRyYWNrIG9mIG5vbi1zaW5nbGUgc3RhdGVtZW50IGJsb2Nrcy4KICAgICAg
ICAgICAgICAgICBvcGVuQnJhY2VUcmFja2luZ0NvdW50OiAtMSwgLy8gS2VlcCB0cmFjayBvZiAi
eyIgYW5kICJ9IiBpbiBub24tc2luZ2xlIHN0YXRlbWVudCBibG9ja3MuCiAgICAgICAgICAgICAg
ICAgdW5hcnlPcGVyYXRvckhhZExlYWRpbmdFeHByOiBmYWxzZSwgLy8gVHJ5IHRvIGRldGVjdCBp
ZiBhIHVuYXJ5IG9wZXJhdG9yIGhhZCBhIGxlYWRpbmcgZXhwcmVzc2lvbiBhbmQgdGhlcmVmb3Jl
IG1heSBiZSBiaW5hcnkuCisgICAgICAgICAgICAgICAgbGFzdENvbnRlbnRCZWZvcmVCbG9jazog
dW5kZWZpbmVkLCAvLyBVc2VkIHRvIGRldGVjdCBpZiB0aGlzIHdhcyBhIGRvL3doaWxlCiAgICAg
ICAgICAgICB9OwogICAgICAgICB9CiAKQEAgLTIyNCw3ICsyMjksNyBAQCBDb2RlTWlycm9yLmV4
dGVuZE1vZGUoImphdmFzY3JpcHQiLCB7CiAgICAgICAgIGlmICghaXNDb21tZW50ICYmIHN0YXRl
LmxleGljYWwucHJldiAmJiBzdGF0ZS5sZXhpY2FsLnByZXYudHlwZSA9PT0gImZvcm0iICYmICFz
dGF0ZS5sZXhpY2FsLnByZXYuX2pzUHJldHR5UHJpbnRNYXJrZXIgJiYgKGxhc3RDb250ZW50ID09
PSAiKSIgfHwgbGFzdENvbnRlbnQgPT09ICJlbHNlIiB8fCBsYXN0Q29udGVudCA9PT0gImRvIikg
JiYgKHN0YXRlLmxleGljYWwudHlwZSAhPT0gIikiKSkgewogICAgICAgICAgICAgaWYgKGNvbnRl
bnQgPT09ICJ7IikgewogICAgICAgICAgICAgICAgIC8vIFNhdmUgdGhlIHN0YXRlIGF0IHRoZSBv
cGVuaW5nIGJyYWNlIHNvIHdlIGNhbiByZXR1cm4gdG8gaXQgd2hlbiB3ZSBzZWUgIn0iLgotICAg
ICAgICAgICAgICAgIHZhciBzYXZlZFN0YXRlID0ge2luZGVudENvdW50OiBzdGF0ZS5fanNQcmV0
dHlQcmludC5pbmRlbnRDb3VudCwgb3BlbkJyYWNlVHJhY2tpbmdDb3VudDogc3RhdGUuX2pzUHJl
dHR5UHJpbnQub3BlbkJyYWNlVHJhY2tpbmdDb3VudH07CisgICAgICAgICAgICAgICAgdmFyIHNh
dmVkU3RhdGUgPSB7aW5kZW50Q291bnQ6IHN0YXRlLl9qc1ByZXR0eVByaW50LmluZGVudENvdW50
LCBvcGVuQnJhY2VUcmFja2luZ0NvdW50OiBzdGF0ZS5fanNQcmV0dHlQcmludC5vcGVuQnJhY2VU
cmFja2luZ0NvdW50LCBsYXN0Q29udGVudEJlZm9yZUJsb2NrOiBsYXN0Q29udGVudH07CiAgICAg
ICAgICAgICAgICAgc3RhdGUuX2pzUHJldHR5UHJpbnQub3BlbkJyYWNlU3RhcnRNYXJrZXJzLnB1
c2goc2F2ZWRTdGF0ZSk7CiAgICAgICAgICAgICAgICAgc3RhdGUuX2pzUHJldHR5UHJpbnQub3Bl
bkJyYWNlVHJhY2tpbmdDb3VudCA9IDE7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLmxl
eGljYWwudHlwZSAhPT0gIn0iKSB7CkBAIC0yNDEsNyArMjQ2LDYgQEAgQ29kZU1pcnJvci5leHRl
bmRNb2RlKCJqYXZhc2NyaXB0IiwgewogCiAgICAgICAgIC8vIC0gTGVhdmluZzoKICAgICAgICAg
Ly8gICAtIFByZWNvbmRpdGlvbnM6Ci0gICAgICAgIC8vICAgICAtIHdlIG11c3QgYmUgaW5kZW50
ZWQKICAgICAgICAgLy8gICAgIC0gaWdub3JlICI7Iiwgd2FpdCBmb3IgdGhlIG5leHQgdG9rZW4g
aW5zdGVhZC4KICAgICAgICAgLy8gICAtIENhc2VzOgogICAgICAgICAvLyAgICAgMS4gImVsc2Ui
CkBAIC0yNTAsNyArMjU0LDcgQEAgQ29kZU1pcnJvci5leHRlbmRNb2RlKCJqYXZhc2NyaXB0Iiwg
ewogICAgICAgICAvLyAgICAgICAtIGRlZGVudCB0byB0aGUgbGFzdCAieyIKICAgICAgICAgLy8g
ICAgIDMuIFRva2VuIHdpdGhvdXQgYSBtYXJrZXIgb24gdGhlIHN0YWNrCiAgICAgICAgIC8vICAg
ICAgIC0gZGVkZW50IGFsbCB0aGUgd2F5Ci0gICAgICAgIGVsc2UgaWYgKHN0YXRlLl9qc1ByZXR0
eVByaW50LmluZGVudENvdW50KSB7CisgICAgICAgIGVsc2UgewogICAgICAgICAgICAgY29uc29s
ZS5hc3NlcnQoIXN0YXRlLl9qc1ByZXR0eVByaW50LnNob3VsZERlZGVudCk7CiAgICAgICAgICAg
ICBjb25zb2xlLmFzc2VydCghc3RhdGUuX2pzUHJldHR5UHJpbnQuZGVkZW50U2l6ZSk7CiAKQEAg
LTI3Nyw2ICsyODEsNyBAQCBDb2RlTWlycm9yLmV4dGVuZE1vZGUoImphdmFzY3JpcHQiLCB7CiAg
ICAgICAgICAgICAgICAgc3RhdGUuX2pzUHJldHR5UHJpbnQuc2hvdWxkRGVkZW50ID0gdHJ1ZTsK
ICAgICAgICAgICAgICAgICBzdGF0ZS5fanNQcmV0dHlQcmludC5kZWRlbnRTaXplID0gc3RhdGUu
X2pzUHJldHR5UHJpbnQuaW5kZW50Q291bnQgLSBzYXZlZFN0YXRlLmluZGVudENvdW50OwogICAg
ICAgICAgICAgICAgIHN0YXRlLl9qc1ByZXR0eVByaW50Lm9wZW5CcmFjZVRyYWNraW5nQ291bnQg
PSBzYXZlZFN0YXRlLm9wZW5CcmFjZVRyYWNraW5nQ291bnQ7CisgICAgICAgICAgICAgICAgc3Rh
dGUuX2pzUHJldHR5UHJpbnQubGFzdENvbnRlbnRCZWZvcmVCbG9jayA9IHNhdmVkU3RhdGUubGFz
dENvbnRlbnRCZWZvcmVCbG9jazsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgLy8gRGVkZW50IGFsbCB0aGUgd2F5LgogICAgICAgICAgICAgICAgIHZhciBzaG91bGREZWRl
bnQgPSB0cnVlOwotLSAKMi42LjQgKEFwcGxlIEdpdC02MykKCg==
</data>
<flag name="review"
          id="299526"
          type_id="1"
          status="+"
          setter="joepeck"
    />
          </attachment>
      

    </bug>

</bugzilla>