<?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>185144</bug_id>
          
          <creation_ts>2018-04-30 15:08:25 -0700</creation_ts>
          <short_desc>Add tests for selection in content editable</short_desc>
          <delta_ts>2018-04-30 17:36:14 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Megan Gardner">megan_gardner</reporter>
          <assigned_to name="Megan Gardner">megan_gardner</assigned_to>
          <cc>bdakin</cc>
    
    <cc>thorton</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1419128</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-04-30 15:08:25 -0700</bug_when>
    <thetext>Add tests for selection in content editable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419138</commentid>
    <comment_count>1</comment_count>
      <attachid>339153</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-04-30 15:17:17 -0700</bug_when>
    <thetext>Created attachment 339153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419140</commentid>
    <comment_count>2</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-04-30 15:19:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/39387743&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419191</commentid>
    <comment_count>3</comment_count>
      <attachid>339153</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-04-30 17:31:43 -0700</bug_when>
    <thetext>Comment on attachment 339153
Patch

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

&gt; LayoutTests/fast/events/touch/ios/double-tap-on-editable-content-for-selection-then-drag-down-to-change-selected-text.html:15
&gt; +                return;

Nit - we usually insert a message here by doing something like `description(&quot;This test is best run under WebKitTestRunner.&quot;)`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419192</commentid>
    <comment_count>4</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-04-30 17:36:14 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/231188/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339153</attachid>
            <date>2018-04-30 15:17:17 -0700</date>
            <delta_ts>2018-04-30 17:31:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185144-20180430151716.patch</filename>
            <type>text/plain</type>
            <size>57820</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDIzMTE3MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE4LTA0LTMwICBNZWdhbiBHYXJkbmVyICA8
bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBzZWxlY3Rp
b24gaW4gY29udGVudCBlZGl0YWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg1MTQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisgICAgICAgIAorICAgICAgICBUZXN0cyB0aGF0IHNob3VsZCBjb3ZlciBzZWxlY3Rpb24g
aW4gY29udGVudCBlZGl0YWJsZSwgYm90aCB3aXRoIGFuZCB3aXRob3V0IGEga2V5Ym9hcmQgcHJl
c2VudC4gQWxzbyBmaXhpbmcgdHdvIHRlc3RzIHRoYXQgaGFkIGVycm9ycy4KKworICAgICAgICAq
IGZhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9y
LXNlbGVjdGlvbi10aGVuLWRyYWctZG93bi10by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFw
LW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi10aGVuLWRyYWctZG93bi10by1jaGFu
Z2Utc2VsZWN0ZWQtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3Vj
aC9pb3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24tdGhlbi1k
cmFnLWxlZnQtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250
ZW50LWZvci1zZWxlY3Rpb24tdGhlbi1kcmFnLWxlZnQtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2RvdWJsZS10YXAt
b24tZWRpdGFibGUtY29udGVudC1mb3Itc2VsZWN0aW9uLXRoZW4tZHJhZy11cC10by1jaGFuZ2Ut
c2VsZWN0ZWQtdGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi10
aGVuLWRyYWctdXAtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3Mtb24tZWRpdGFibGUtY29udGVudC10
aGVuLWRyYWctZG93bi10by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLW9uLWVkaXRhYmxl
LWNvbnRlbnQtdGhlbi1kcmFnLWRvd24tdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3Mtb24tZWRpdGFi
bGUtY29udGVudC10aGVuLWRyYWctbGVmdC10by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25nLXByZXNz
LW9uLWVkaXRhYmxlLWNvbnRlbnQtdGhlbi1kcmFnLWxlZnQtdG8tY2hhbmdlLXNlbGVjdGVkLXRl
eHQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJl
c3Mtb24tZWRpdGFibGUtY29udGVudC10aGVuLWRyYWctcmlnaHQtdG8tY2hhbmdlLXNlbGVjdGVk
LXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9p
b3MvbG9uZy1wcmVzcy1vbi1lZGl0YWJsZS1jb250ZW50LXRoZW4tZHJhZy1yaWdodC10by1jaGFu
Z2Utc2VsZWN0ZWQtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3Vj
aC9pb3MvbG9uZy1wcmVzcy1vbi1lZGl0YWJsZS1jb250ZW50LXRoZW4tZHJhZy11cC10by1jaGFu
Z2Utc2VsZWN0ZWQtdGV4dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZl
bnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLW9uLWVkaXRhYmxlLWNvbnRlbnQtdGhlbi1kcmFnLXVw
LXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZl
bnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLXRoZW4tZHJhZy1yaWdodC10by1jaGFuZ2Utc2VsZWN0
ZWQtdGV4dC5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25nLXByZXNz
LXRoZW4tZHJhZy11cC10by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC5odG1sOgorCiAyMDE4LTA0LTMw
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtFeHRy
YSB6b29tIG1vZGVdIFJlc3BlY3QgdGhlIGV4aXN0aW5nIHNocmluay10by1maXQgYXR0cmlidXRl
IGluc3RlYWQgb2YgdXNpbmcgbWluLWRldmljZS13aWR0aApJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvdG91Y2gvaW9zL2RvdWJsZS10YXAtb24tZWRpdGFibGUtY29udGVudC1mb3Itc2Vs
ZWN0aW9uLXRoZW4tZHJhZy1kb3duLXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91Ymxl
LXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24tdGhlbi1kcmFnLWRvd24tdG8t
Y2hhbmdlLXNlbGVjdGVkLXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRl
bnQtZm9yLXNlbGVjdGlvbi10aGVuLWRyYWctZG93bi10by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACitQQVNTOiBIYXMgQ2Fy
ZXQgU2VsZWN0aW9uCitQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbgorUEFTUzogQ29ycmVjdCBTZWxl
Y3Rpb24KK1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uCitQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbgor
UEFTUzogQ29ycmVjdCBTZWxlY3Rpb24KK1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uCisKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxl
LWNvbnRlbnQtZm9yLXNlbGVjdGlvbi10aGVuLWRyYWctZG93bi10by1jaGFuZ2Utc2VsZWN0ZWQt
dGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lv
cy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi10aGVuLWRyYWct
ZG93bi10by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRl
bnQtZm9yLXNlbGVjdGlvbi10aGVuLWRyYWctZG93bi10by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMyIEBACis8IURPQ1RZUEUgaHRtbD4KKwor
PGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2Jh
c2ljLWdlc3R1cmVzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
ICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKyAgICAK
KyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAg
IGlmICghdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCkKKyAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIAorICAgICAgICAgICAgdmFyIG91dHB1dCA9ICcnOworICAgICAgICAgICAgdmFyIGVk
aXRhYmxlVGFyZ2V0UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0YWJsZScpLmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIGZpcnN0VGFyZ2V0UmVjdCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaXJzdFNlbGVjdGlvbicpLmdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIHNlY29uZFRhcmdldFJlY3QgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnc2Vjb25kU2VsZWN0aW9uJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7
CisgICAgICAgICAgICB2YXIgdGhpcmRUYXJnZXRSZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3RoaXJkU2VsZWN0aW9uJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAg
ICB2YXIgbm9uZWRpdGFibGVUb0VkaXRhYmxlT2Zmc2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2VkaXRhYmxlJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkueSAtIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdub25lZGl0YWJsZScpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnk7CisgICAg
ICAgIAorICAgICAgICAgICAgdmFyIHRhcFBvaW50WCA9IGVkaXRhYmxlVGFyZ2V0UmVjdC54ICsg
ZWRpdGFibGVUYXJnZXRSZWN0LndpZHRoIC8gMjsKKyAgICAgICAgICAgIHZhciB0YXBQb2ludFkg
PSBlZGl0YWJsZVRhcmdldFJlY3QueSArIGVkaXRhYmxlVGFyZ2V0UmVjdC5oZWlnaHQgLyAyOwor
ICAgICAgICAgICAgdmFyIGRvdWJsZVRhcFBvaW50WCA9IGZpcnN0VGFyZ2V0UmVjdC54ICsgZmly
c3RUYXJnZXRSZWN0LndpZHRoIC8gMjsKKyAgICAgICAgICAgIHZhciBkb3VibGVUYXBQb2ludFkg
PSBmaXJzdFRhcmdldFJlY3QueSArIGZpcnN0VGFyZ2V0UmVjdC5oZWlnaHQgLyAyICsgbm9uZWRp
dGFibGVUb0VkaXRhYmxlT2Zmc2V0OworICAgICAgICAgICAgdmFyIGRyYWdZID0gZmlyc3RUYXJn
ZXRSZWN0LnkgKyBmaXJzdFRhcmdldFJlY3QuaGVpZ2h0ICsgbm9uZWRpdGFibGVUb0VkaXRhYmxl
T2Zmc2V0OworICAgICAgICAgICAgdmFyIGRyYWdYID0gZmlyc3RUYXJnZXRSZWN0LnggKyBmaXJz
dFRhcmdldFJlY3Qud2lkdGg7CisgICAgICAgICAgICB2YXIgZHJhZ1kyID0gc2Vjb25kVGFyZ2V0
UmVjdC55ICsgc2Vjb25kVGFyZ2V0UmVjdC5oZWlnaHQgKyBub25lZGl0YWJsZVRvRWRpdGFibGVP
ZmZzZXQ7CisgICAgICAgICAgICB2YXIgZHJhZ1kzID0gdGhpcmRUYXJnZXRSZWN0LnkgKyB0aGly
ZFRhcmdldFJlY3QuaGVpZ2h0ICsgbm9uZWRpdGFibGVUb0VkaXRhYmxlT2Zmc2V0OworICAgICAg
ICAgICAgdmFyIGRyYWdZNCA9IGZpcnN0VGFyZ2V0UmVjdC55IC0gZmlyc3RUYXJnZXRSZWN0Lmhl
aWdodCArIG5vbmVkaXRhYmxlVG9FZGl0YWJsZU9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAg
ICBhd2FpdCB0YXBBdFBvaW50KHRhcFBvaW50WCwgdGFwUG9pbnRZKTsKKyAgICAgICAgICAgIGlm
IChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50eXBlID09ICJDYXJldCIpCisgICAgICAgICAgICAg
ICAgb3V0cHV0ICs9ICdQQVNTOiBIYXMgQ2FyZXQgU2VsZWN0aW9uJzsKKyAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBhY3RpdmF0ZSBj
YXJldCBhcyBhIHJlc3VsdCBvZiBhIHRhcC4gSW5jb3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3Vt
ZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxi
cj4nOworCisgICAgICAgICAgICBhd2FpdCBkaWRTaG93S2V5Ym9hcmQoKTsKKworICAgICAgICAg
ICAgYXdhaXQgZG91YmxlVGFwQXRQb2ludChkb3VibGVUYXBQb2ludFgsIGRvdWJsZVRhcFBvaW50
WSk7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9
PSAic2VkIikKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6IENvcnJlY3QgU2VsZWN0
aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6
IGZhaWxlZCB0byBzZWxlY3QgYSB3b3JkIGFzIGEgcmVzdWx0IG9mIGEgbG9uZyBwcmVzcy4gSW5j
b3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7
CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworCisgICAgICAgICAgICBhd2FpdCB0b3Vj
aEFuZERyYWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYLCBkcmFnWSwgZHJhZ1gsIGRyYWdZMik7Cisg
ICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9PSAic2Vk
IGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1biIpCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9
ICdQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbic7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgb3V0cHV0ICs9ICdGQUlMOiBmYWlsZWQgdG8gc2VsZWN0IGFkZGl0aW9uYWwgbGluZSBh
ZnRlciBhIGRyYWcuIEluY29ycmVjdCBTZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKS50b1N0cmluZygpOworICAgICAgICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKworICAgICAg
ICAgICAgYXdhaXQgdG91Y2hBbmREcmFnRnJvbVBvaW50VG9Qb2ludChkcmFnWCwgZHJhZ1kyLCBk
cmFnWCwgZHJhZ1kzKTsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50
b1N0cmluZygpID09ICJzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUg
ZXQgZG9sb3JlIG1hIikKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6IENvcnJlY3Qg
U2VsZWN0aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0g
J0ZBSUw6IGZhaWxlZCB0byBzZWxlY3QgYWRkaXRpb25hbCBsaW5lIGFmdGVyIGEgZHJhZy4gSW5j
b3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7
CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworCisgICAgICAgICAgICBhd2FpdCB0b3Vj
aEFuZERyYWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYLCBkcmFnWTMsIGRyYWdYLCBkcmFnWTIpOwor
ICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgPT0gInNl
ZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW4iKQorICAgICAgICAgICAgICAgIG91dHB1dCAr
PSAnUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24nOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIGRlc2VsZWN0IGxpbmUgYWZ0ZXIgYSBk
cmFnLiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9T
dHJpbmcoKTsKKyAgICAgICAgICAgIG91dHB1dCArPSAnPGJyPic7CisKKyAgICAgICAgICAgIGF3
YWl0IHRvdWNoQW5kRHJhZ0Zyb21Qb2ludFRvUG9pbnQoZHJhZ1gsIGRyYWdZMiwgZHJhZ1gsIGRy
YWdZKTsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygp
ID09ICJzZWQiKQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnUEFTUzogQ29ycmVjdCBTZWxl
Y3Rpb24nOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnRkFJ
TDogZmFpbGVkIHRvIGRlc2VsZWN0IGxpbmUgYWZ0ZXIgYSBkcmFnLiBJbmNvcnJlY3QgU2VsZWN0
aW9uOiAnICsgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTsKKyAgICAgICAgICAg
IG91dHB1dCArPSAnPGJyPic7CisKKyAgICAgICAgICAgIHZhciByZXN1bHQgPSBhd2FpdCB0b3Vj
aEFuZERyYWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYLCBkcmFnWSwgZHJhZ1gsIGRyYWdZNCk7Cisg
ICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9PSAicyIp
CisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbic7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlMOiBmYWlsZWQg
dG8gcmVkdWNlIHNlbGVjdGlvbiB0byBhIHNpbmdsZSBjaGFyYWN0ZXIgYnkgZHJhZ2dpbmcgdXAu
IEluY29ycmVjdCBTZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmlu
ZygpOworICAgICAgICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKyAgICAgICAgICAgIG91dHB1dCAr
PSByZXN1bHQ7CisKKyAgICAgICAgICAgIHZhciBub25lZGl0YWJsZUVsZW1lbnQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnbm9uZWRpdGFibGUnKTsKKyAgICAgICAgICAgIG5vbmVkaXRhYmxl
RWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG5vbmVkaXRhYmxlRWxlbWVudCk7CisgICAg
ICAgICAgICB2YXIgZWRpdGFibGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vk
aXRhYmxlJyk7CisgICAgICAgICAgICBlZGl0YWJsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVD
aGlsZChlZGl0YWJsZUVsZW1lbnQpOworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3RhcmdldCcpLmlubmVySFRNTCA9IG91dHB1dDsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworICAgICAgICB9CisgICAgCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCdsb2FkJywgcnVuVGVzdCwgZmFsc2UpOworICAgIDwvc2NyaXB0PgorICAgIDxzdHls
ZT4KKyAgICAgICAgI25vbmVkaXRhYmxlIHsKKyAgICAgICAgICAgIGhlaWdodDogMjAwcHg7Cisg
ICAgICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBz
aWx2ZXI7CisgICAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOworICAgICAgICAgICAg
Zm9udC1zaXplOiAxOHB4OworICAgICAgICB9CisgICAgICAgICNlZGl0YWJsZSB7CisgICAgICAg
ICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAg
ICAgYmFja2dyb3VuZC1jb2xvcjogc2lsdmVyOworICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1v
bm9zcGFjZTsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKKyAgICAgICAgfQorICAgICAg
ICAjdGFyZ2V0IHsKKyAgICAgICAgICAgIGhlaWdodDogNTBweDsKKyAgICAgICAgICAgIHdpZHRo
OiAzMDBweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAg
ICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CisgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7
CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8L2hlYWQ+Cis8Ym9k
eT4KKyAgICA8ZGl2IGlkPSJub25lZGl0YWJsZSI+CisgICAgICAgIDxwPkxvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQsIDxzcGFuIGlkPSJmaXJz
dFNlbGVjdGlvbiI+c2VkPC9zcGFuPiBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW48c3BhbiBp
ZD0ic2Vjb25kU2VsZWN0aW9uIj48L3NwYW4+dCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZzxzcGFu
IGlkPSJ0aGlyZFNlbGVjdGlvbiI+PC9zcGFuPm5hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2
ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQg
YWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC48L3A+CisgICAgPC9kaXY+CisgICAgPGRp
diBpZD0iZWRpdGFibGUiIGNvbnRlbnRlZGl0YWJsZT4KKyAgICAgICAgPHA+TG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNt
b2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0
IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28g
bGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuPC9wPgorICAg
IDwvZGl2PiAKKyAgICA8ZGl2IGlkPSJ0YXJnZXQiPgorICAgICAgICBUaGlzIHRlc3QgcmVxdWly
ZXMgVUlTY3JpcHRDb250cm9sbGVyIHRvIHJ1bi4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9u
LWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi10aGVuLWRyYWctbGVmdC10by1jaGFuZ2Ut
c2VsZWN0ZWQtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvdG91Y2gvaW9zL2RvdWJsZS10YXAtb24tZWRpdGFibGUtY29udGVudC1mb3Itc2Vs
ZWN0aW9uLXRoZW4tZHJhZy1sZWZ0LXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91
YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24tdGhlbi1kcmFnLWxlZnQt
dG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsOCBAQAorUEFTUzogSGFzIENhcmV0IFNlbGVjdGlvbgorUEFTUzogQ29ycmVjdCBTZWxl
Y3Rpb24KK1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uCitQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbgor
UEFTUzogQ29ycmVjdCBTZWxlY3Rpb24KK1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uCitQQVNTOiBD
b3JyZWN0IFNlbGVjdGlvbgorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9p
b3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24tdGhlbi1kcmFn
LWxlZnQtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50
LWZvci1zZWxlY3Rpb24tdGhlbi1kcmFnLWxlZnQtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91
YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24tdGhlbi1kcmFnLWxlZnQt
dG8tY2hhbmdlLXNlbGVjdGVkLXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEz
MiBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOworICAgICAgICB9CisgICAgCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3Qo
KQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIucnVuVUlTY3JpcHQpCisg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICAgICAgICAgIHZhciBvdXRwdXQg
PSAnJzsKKyAgICAgICAgICAgIHZhciBlZGl0YWJsZVRhcmdldFJlY3QgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnZWRpdGFibGUnKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAg
ICAgIHZhciBmaXJzdFRhcmdldFJlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmlyc3RT
ZWxlY3Rpb24nKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgIHZhciBzZWNv
bmRUYXJnZXRSZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlY29uZFNlbGVjdGlvbicp
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIHRoaXJkVGFyZ2V0UmVj
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aGlyZFNlbGVjdGlvbicpLmdldEJvdW5kaW5n
Q2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIG5vbmVkaXRhYmxlVG9FZGl0YWJsZU9mZnNl
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0YWJsZScpLmdldEJvdW5kaW5nQ2xpZW50
UmVjdCgpLnkgLSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uZWRpdGFibGUnKS5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKS55OworICAgICAgICAKKyAgICAgICAgICAgIHZhciB0YXBQb2ludFgg
PSBlZGl0YWJsZVRhcmdldFJlY3QueCArIGVkaXRhYmxlVGFyZ2V0UmVjdC53aWR0aCAvIDI7Cisg
ICAgICAgICAgICB2YXIgdGFwUG9pbnRZID0gZWRpdGFibGVUYXJnZXRSZWN0LnkgKyBlZGl0YWJs
ZVRhcmdldFJlY3QuaGVpZ2h0IC8gMjsKKyAgICAgICAgICAgIHZhciBkb3VibGVUYXBQb2ludFgg
PSBmaXJzdFRhcmdldFJlY3QueCArIGZpcnN0VGFyZ2V0UmVjdC53aWR0aCAvIDI7CisgICAgICAg
ICAgICB2YXIgZG91YmxlVGFwUG9pbnRZID0gZmlyc3RUYXJnZXRSZWN0LnkgKyBmaXJzdFRhcmdl
dFJlY3QuaGVpZ2h0IC8gMiArIG5vbmVkaXRhYmxlVG9FZGl0YWJsZU9mZnNldDsKKyAgICAgICAg
ICAgIHZhciBkcmFnWSA9IGZpcnN0VGFyZ2V0UmVjdC55ICsgbm9uZWRpdGFibGVUb0VkaXRhYmxl
T2Zmc2V0OworICAgICAgICAgICAgdmFyIGRyYWdYID0gZmlyc3RUYXJnZXRSZWN0Lng7CisgICAg
ICAgICAgICB2YXIgZHJhZ1gyID0gc2Vjb25kVGFyZ2V0UmVjdC54OworICAgICAgICAgICAgdmFy
IGRyYWdYMyA9IHRoaXJkVGFyZ2V0UmVjdC54OworICAgICAgICAgICAgdmFyIGRyYWdYNCA9IGZp
cnN0VGFyZ2V0UmVjdC54ICsgZmlyc3RUYXJnZXRSZWN0LndpZHRoOworICAgICAgICAKKyAgICAg
ICAgICAgIGF3YWl0IHRhcEF0UG9pbnQodGFwUG9pbnRYLCB0YXBQb2ludFkpOworICAgICAgICAg
ICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnR5cGUgPT0gIkNhcmV0IikKKyAgICAgICAg
ICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6IEhhcyBDYXJldCBTZWxlY3Rpb24nOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIGFjdGl2
YXRlIGNhcmV0IGFzIGEgcmVzdWx0IG9mIGEgdGFwLiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsg
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTsKKyAgICAgICAgICAgIG91dHB1dCAr
PSAnPGJyPic7CisKKyAgICAgICAgICAgIGF3YWl0IGRpZFNob3dLZXlib2FyZCgpOworCisgICAg
ICAgICAgICBhd2FpdCBkb3VibGVUYXBBdFBvaW50KGRvdWJsZVRhcFBvaW50WCwgZG91YmxlVGFw
UG9pbnRZKTsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmlu
ZygpID09ICJtYWduYSIpCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBDb3JyZWN0
IFNlbGVjdGlvbic7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9
ICdGQUlMOiBmYWlsZWQgdG8gc2VsZWN0IGEgd29yZCBhcyBhIHJlc3VsdCBvZiBhIGxvbmcgcHJl
c3MuIEluY29ycmVjdCBTZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0
cmluZygpOworICAgICAgICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKworICAgICAgICAgICAgYXdh
aXQgdG91Y2hBbmREcmFnRnJvbVBvaW50VG9Qb2ludChkcmFnWCwgZHJhZ1ksIGRyYWdYMiwgZHJh
Z1kpOworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkg
PT0gImFsaXF1YSBtYWduYSIpCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBDb3Jy
ZWN0IFNlbGVjdGlvbic7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0
ICs9ICdGQUlMOiBmYWlsZWQgdG8gc2VsZWN0IGFkZGl0aW9uYWwgd29yZCBhZnRlciBhIGRyYWcu
IEluY29ycmVjdCBTZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmlu
ZygpOworICAgICAgICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKworICAgICAgICAgICAgYXdhaXQg
dG91Y2hBbmREcmFnRnJvbVBvaW50VG9Qb2ludChkcmFnWDIsIGRyYWdZLCBkcmFnWDMsIGRyYWdZ
KTsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpID09
ICJkb2xvcmUgYWxpcXVhIG1hZ25hIikKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6
IENvcnJlY3QgU2VsZWN0aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBv
dXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBzZWxlY3QgYWRkaXRpb25hbCB3b3JkIGFmdGVyIGEg
ZHJhZy4gSW5jb3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRv
U3RyaW5nKCk7CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworCisgICAgICAgICAgICBh
d2FpdCB0b3VjaEFuZERyYWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYMywgZHJhZ1ksIGRyYWdYMiwg
ZHJhZ1kpOworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5n
KCkgPT0gImFsaXF1YSBtYWduYSIpCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBD
b3JyZWN0IFNlbGVjdGlvbic7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0
cHV0ICs9ICdGQUlMOiBmYWlsZWQgdG8gZGVzZWxlY3Qgd29yZCBhZnRlciBhIGRyYWcuIEluY29y
cmVjdCBTZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOwor
ICAgICAgICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKworICAgICAgICAgICAgYXdhaXQgdG91Y2hB
bmREcmFnRnJvbVBvaW50VG9Qb2ludChkcmFnWDIsIGRyYWdZLCBkcmFnWCwgZHJhZ1kpOworICAg
ICAgICAgICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgPT0gIm1hZ25h
IikKKyAgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbic7
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlMOiBmYWls
ZWQgdG8gZGVzZWxlY3Qgd29yZCBhZnRlciBhIGRyYWcuIEluY29ycmVjdCBTZWxlY3Rpb246ICcg
KyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOworICAgICAgICAgICAgb3V0cHV0
ICs9ICc8YnI+JzsKKworICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGF3YWl0IHRvdWNoQW5kRHJh
Z0Zyb21Qb2ludFRvUG9pbnQoZHJhZ1gsIGRyYWdZLCBkcmFnWDQsIGRyYWdZKTsKKyAgICAgICAg
ICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpID09ICJhIikKKyAgICAg
ICAgICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uJzsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byByZWR1
Y2Ugc2VsZWN0aW9uIHRvIGEgc2luZ2xlIGNoYXJhY3RlciBieSBkcmFnZ2luZyByaWdodC4gSW5j
b3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7
CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworICAgICAgICAgICAgb3V0cHV0ICs9IHJl
c3VsdDsKKworICAgICAgICAgICAgdmFyIG5vbmVkaXRhYmxlRWxlbWVudCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdub25lZGl0YWJsZScpOworICAgICAgICAgICAgbm9uZWRpdGFibGVFbGVt
ZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobm9uZWRpdGFibGVFbGVtZW50KTsKKyAgICAgICAg
ICAgIHZhciBlZGl0YWJsZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWRpdGFi
bGUnKTsKKyAgICAgICAgICAgIGVkaXRhYmxlRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxk
KGVkaXRhYmxlRWxlbWVudCk7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGFyZ2V0JykuaW5uZXJIVE1MID0gb3V0cHV0OworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgIH0KKyAgICAKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoJ2xvYWQnLCBydW5UZXN0LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+CisgICAgPHN0eWxlPgor
ICAgICAgICAjbm9uZWRpdGFibGUgeworICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAg
ICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZl
cjsKKyAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CisgICAgICAgICAgICBmb250
LXNpemU6IDE4cHg7CisgICAgICAgIH0KKyAgICAgICAgI2VkaXRhYmxlIHsKKyAgICAgICAgICAg
IGhlaWdodDogMjAwcHg7CisgICAgICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgICAgICBi
YWNrZ3JvdW5kLWNvbG9yOiBzaWx2ZXI7CisgICAgICAgICAgICBmb250LWZhbWlseTogbW9ub3Nw
YWNlOworICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OworICAgICAgICB9CisgICAgICAgICN0
YXJnZXQgeworICAgICAgICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAgICAgICAgd2lkdGg6IDMw
MHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2lsdmVyOworICAgICAgICAgICAg
Zm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKKyAg
ICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzwvaGVhZD4KKzxib2R5Pgor
ICAgIDxkaXYgaWQ9Im5vbmVkaXRhYmxlIj4KKyAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVt
cG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IDxzcGFuIGlkPSJ0aGlyZFNlbGVjdGlvbiI+PC9z
cGFuPmRvbG9yZSA8c3BhbiBpZD0ic2Vjb25kU2VsZWN0aW9uIj48L3NwYW4+YWxpcXVhIDxzcGFu
IGlkPSJmaXJzdFNlbGVjdGlvbiI+bWFnbmE8L3NwYW4+LiBVdCBlbmltIGFkIG1pbmltIHZlbmlh
bSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlx
dWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LjwvcD4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlk
PSJlZGl0YWJsZSIgY29udGVudGVkaXRhYmxlPgorICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0
ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIGFsaXF1YSBtYWduYS4gVXQgZW5p
bSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJv
cmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC48L3A+CisgICAgPC9k
aXY+ICAgICAKKyAgICA8ZGl2IGlkPSJ0YXJnZXQiPgorICAgICAgICBUaGlzIHRlc3QgcmVxdWly
ZXMgVUlTY3JpcHRDb250cm9sbGVyIHRvIHJ1bi4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9u
LWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi10aGVuLWRyYWctdXAtdG8tY2hhbmdlLXNl
bGVjdGVkLXRleHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVj
dGlvbi10aGVuLWRyYWctdXAtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUt
dGFwLW9uLWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi10aGVuLWRyYWctdXAtdG8tY2hh
bmdlLXNlbGVjdGVkLXRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
OCBAQAorUEFTUzogSGFzIENhcmV0IFNlbGVjdGlvbgorUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24K
K1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uCitQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbgorUEFTUzog
Q29ycmVjdCBTZWxlY3Rpb24KK1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uCitQQVNTOiBDb3JyZWN0
IFNlbGVjdGlvbgorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvZG91
YmxlLXRhcC1vbi1lZGl0YWJsZS1jb250ZW50LWZvci1zZWxlY3Rpb24tdGhlbi1kcmFnLXVwLXRv
LWNoYW5nZS1zZWxlY3RlZC10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvdG91Y2gvaW9zL2RvdWJsZS10YXAtb24tZWRpdGFibGUtY29udGVudC1mb3Itc2Vs
ZWN0aW9uLXRoZW4tZHJhZy11cC10by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9kb3VibGUtdGFwLW9u
LWVkaXRhYmxlLWNvbnRlbnQtZm9yLXNlbGVjdGlvbi10aGVuLWRyYWctdXAtdG8tY2hhbmdlLXNl
bGVjdGVkLXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzMiBAQAorPCFET0NU
WVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4u
L3Jlc291cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAg
ICAgICB9CisgICAgCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgICAgICB7
CisgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIucnVuVUlTY3JpcHQpCisgICAgICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgICAgICB2YXIgb3V0cHV0ID0gJyc7CisgICAgICAgICAgICB2
YXIgZWRpdGFibGVUYXJnZXRSZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRhYmxl
JykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICB2YXIgZmlyc3RUYXJnZXRS
ZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpcnN0U2VsZWN0aW9uJykuZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICB2YXIgc2Vjb25kVGFyZ2V0UmVjdCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzZWNvbmRTZWxlY3Rpb24nKS5nZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKTsKKyAgICAgICAgICAgIHZhciB0aGlyZFRhcmdldFJlY3QgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndGhpcmRTZWxlY3Rpb24nKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAg
ICAgICAgIHZhciBub25lZGl0YWJsZVRvRWRpdGFibGVPZmZzZXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZWRpdGFibGUnKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS55IC0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ25vbmVkaXRhYmxlJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkueTsK
KyAgICAgICAgCisgICAgICAgICAgICB2YXIgdGFwUG9pbnRYID0gZWRpdGFibGVUYXJnZXRSZWN0
LnggKyBlZGl0YWJsZVRhcmdldFJlY3Qud2lkdGggLyAyOworICAgICAgICAgICAgdmFyIHRhcFBv
aW50WSA9IGVkaXRhYmxlVGFyZ2V0UmVjdC55ICsgZWRpdGFibGVUYXJnZXRSZWN0LmhlaWdodCAv
IDI7CisgICAgICAgICAgICB2YXIgZG91YmxlVGFwUG9pbnRYID0gZmlyc3RUYXJnZXRSZWN0Lngg
KyBmaXJzdFRhcmdldFJlY3Qud2lkdGggLyAyOworICAgICAgICAgICAgdmFyIGRvdWJsZVRhcFBv
aW50WSA9IGZpcnN0VGFyZ2V0UmVjdC55ICsgZmlyc3RUYXJnZXRSZWN0LmhlaWdodCAvIDIgKyBu
b25lZGl0YWJsZVRvRWRpdGFibGVPZmZzZXQ7CisgICAgICAgICAgICB2YXIgZHJhZ1kgPSBmaXJz
dFRhcmdldFJlY3QueSArIG5vbmVkaXRhYmxlVG9FZGl0YWJsZU9mZnNldDsKKyAgICAgICAgICAg
IHZhciBkcmFnWCA9IGZpcnN0VGFyZ2V0UmVjdC54OworICAgICAgICAgICAgdmFyIGRyYWdZMiA9
IHNlY29uZFRhcmdldFJlY3QueSArIG5vbmVkaXRhYmxlVG9FZGl0YWJsZU9mZnNldDsKKyAgICAg
ICAgICAgIHZhciBkcmFnWTMgPSB0aGlyZFRhcmdldFJlY3QueSArIG5vbmVkaXRhYmxlVG9FZGl0
YWJsZU9mZnNldDsKKyAgICAgICAgICAgIHZhciBkcmFnWTQgPSBmaXJzdFRhcmdldFJlY3QueSAr
IGZpcnN0VGFyZ2V0UmVjdC5oZWlnaHQgKyBub25lZGl0YWJsZVRvRWRpdGFibGVPZmZzZXQ7Cisg
ICAgICAgIAorICAgICAgICAgICAgYXdhaXQgdGFwQXRQb2ludCh0YXBQb2ludFgsIHRhcFBvaW50
WSk7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudHlwZSA9PSAiQ2Fy
ZXQiKQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnUEFTUzogSGFzIENhcmV0IFNlbGVjdGlv
bic7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlMOiBm
YWlsZWQgdG8gYWN0aXZhdGUgY2FyZXQgYXMgYSByZXN1bHQgb2YgYSB0YXAuIEluY29ycmVjdCBT
ZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOworICAgICAg
ICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKworICAgICAgICAgICAgYXdhaXQgZGlkU2hvd0tleWJv
YXJkKCk7CisKKyAgICAgICAgICAgIGF3YWl0IGRvdWJsZVRhcEF0UG9pbnQoZG91YmxlVGFwUG9p
bnRYLCBkb3VibGVUYXBQb2ludFkpOworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldFNlbGVj
dGlvbigpLnRvU3RyaW5nKCkgPT0gImF0IikKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ1BB
U1M6IENvcnJlY3QgU2VsZWN0aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICBvdXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBzZWxlY3QgYSB3b3JkIGFzIGEgcmVzdWx0IG9m
IGEgbG9uZyBwcmVzcy4gSW5jb3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNlbGVj
dGlvbigpLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworCisgICAg
ICAgICAgICBhd2FpdCB0b3VjaEFuZERyYWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYLCBkcmFnWSwg
ZHJhZ1gsIGRyYWdZMik7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCku
dG9TdHJpbmcoKSA9PSAibyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IGF0IikKKyAgICAgICAg
ICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uJzsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBzZWxlY3Qg
YWRkaXRpb25hbCBsaW5lIGFmdGVyIGEgZHJhZy4gSW5jb3JyZWN0IFNlbGVjdGlvbjogJyArIGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBvdXRwdXQgKz0g
Jzxicj4nOworCisgICAgICAgICAgICBhd2FpdCB0b3VjaEFuZERyYWdGcm9tUG9pbnRUb1BvaW50
KGRyYWdYLCBkcmFnWTIsIGRyYWdYLCBkcmFnWTMpOworICAgICAgICAgICAgaWYgKGRvY3VtZW50
LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgPT0gIiBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkbyBl
aXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IGF0IikKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0g
J1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICBvdXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBzZWxlY3QgYWRkaXRpb25hbCBsaW5lIGFm
dGVyIGEgZHJhZy4gSW5jb3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNlbGVjdGlv
bigpLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworCisgICAgICAg
ICAgICBhd2FpdCB0b3VjaEFuZERyYWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYLCBkcmFnWTMsIGRy
YWdYLCBkcmFnWTIpOworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRv
U3RyaW5nKCkgPT0gIm8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCBhdCIpCisgICAgICAgICAg
ICAgICAgb3V0cHV0ICs9ICdQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbic7CisgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlMOiBmYWlsZWQgdG8gZGVzZWxlY3Qg
bGluZSBhZnRlciBhIGRyYWcuIEluY29ycmVjdCBTZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKS50b1N0cmluZygpOworICAgICAgICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKwor
ICAgICAgICAgICAgYXdhaXQgdG91Y2hBbmREcmFnRnJvbVBvaW50VG9Qb2ludChkcmFnWCwgZHJh
Z1kyLCBkcmFnWCwgZHJhZ1kpOworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlv
bigpLnRvU3RyaW5nKCkgPT0gImF0IikKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6
IENvcnJlY3QgU2VsZWN0aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBv
dXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBkZXNlbGVjdCBsaW5lIGFmdGVyIGEgZHJhZy4gSW5j
b3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7
CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworCisgICAgICAgICAgICB2YXIgcmVzdWx0
ID0gYXdhaXQgdG91Y2hBbmREcmFnRnJvbVBvaW50VG9Qb2ludChkcmFnWCwgZHJhZ1ksIGRyYWdY
LCBkcmFnWTQpOworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3Ry
aW5nKCkgPT0gInQiKQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnUEFTUzogQ29ycmVjdCBT
ZWxlY3Rpb24nOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAn
RkFJTDogZmFpbGVkIHRvIHJlZHVjZSBzZWxlY3Rpb24gdG8gYSBzaW5nbGUgY2hhcmFjdGVyIGJ5
IGRyYWdnaW5nIGRvd24uIEluY29ycmVjdCBTZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKS50b1N0cmluZygpOworICAgICAgICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKyAgICAg
ICAgICAgIG91dHB1dCArPSByZXN1bHQ7CisKKyAgICAgICAgICAgIHZhciBub25lZGl0YWJsZUVs
ZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uZWRpdGFibGUnKTsKKyAgICAgICAg
ICAgIG5vbmVkaXRhYmxlRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG5vbmVkaXRhYmxl
RWxlbWVudCk7CisgICAgICAgICAgICB2YXIgZWRpdGFibGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2VkaXRhYmxlJyk7CisgICAgICAgICAgICBlZGl0YWJsZUVsZW1lbnQucGFy
ZW50Tm9kZS5yZW1vdmVDaGlsZChlZGl0YWJsZUVsZW1lbnQpOworICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpLmlubmVySFRNTCA9IG91dHB1dDsKKyAgICAgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9CisKKyAgICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBydW5UZXN0LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+
CisgICAgPHN0eWxlPgorICAgICAgICAjbm9uZWRpdGFibGUgeworICAgICAgICAgICAgaGVpZ2h0
OiAyMDBweDsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgICAgIGJhY2tncm91
bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7Cisg
ICAgICAgICAgICBmb250LXNpemU6IDE4cHg7CisgICAgICAgIH0KKyAgICAgICAgI2VkaXRhYmxl
IHsKKyAgICAgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgICAgICB3aWR0aDogMzAwcHg7
CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2ZXI7CisgICAgICAgICAgICBmb250
LWZhbWlseTogbW9ub3NwYWNlOworICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OworICAgICAg
ICB9CisgICAgICAgICN0YXJnZXQgeworICAgICAgICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAg
ICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2lsdmVy
OworICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKKyAgICAgICAgICAgIGZvbnQt
c2l6ZTogMThweDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9ImluaXRpYWwtc2NhbGU9MSI+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8
ZGl2IGlkPSJub25lZGl0YWJsZSI+CisgICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0LCBjb25zZWN0ZXR1cjxzcGFuIGlkPSJ0aGlyZFNlbGVjdGlvbiI+PC9zcGFuPiBhZGlwaXNj
aW5nIGVsaXQsIHNlZCBkPHNwYW4gaWQ9InNlY29uZFNlbGVjdGlvbiI+PC9zcGFuPm8gZWl1c21v
ZCB0ZW1wb3IgaW5jaWRpZHVudCA8c3BhbiBpZD0iZmlyc3RTZWxlY3Rpb24iPmF0PC9zcGFuPiBs
YWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1
aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBl
eCBlYSBjb21tb2RvIGNvbnNlcXVhdC48L3A+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iZWRp
dGFibGUiIGNvbnRlbnRlZGl0YWJsZT4KKyAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9y
IGluY2lkaWR1bnQgYXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQg
bWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBu
aXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuPC9wPgorICAgIDwvZGl2PiAK
KyAgICA8ZGl2IGlkPSJ0YXJnZXQiPgorICAgICAgICBUaGlzIHRlc3QgcmVxdWlyZXMgVUlTY3Jp
cHRDb250cm9sbGVyIHRvIHJ1bi4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLW9uLWVkaXRhYmxl
LWNvbnRlbnQtdGhlbi1kcmFnLWRvd24tdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25n
LXByZXNzLW9uLWVkaXRhYmxlLWNvbnRlbnQtdGhlbi1kcmFnLWRvd24tdG8tY2hhbmdlLXNlbGVj
dGVkLXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLW9uLWVkaXRhYmxlLWNvbnRlbnQtdGhlbi1kcmFn
LWRvd24tdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNyBAQAorUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24KK1BBU1M6IENvcnJlY3Qg
U2VsZWN0aW9uCitQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbgorUEFTUzogQ29ycmVjdCBTZWxlY3Rp
b24KK1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uCitQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbgorCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9uZy1wcmVzcy1vbi1lZGl0
YWJsZS1jb250ZW50LXRoZW4tZHJhZy1kb3duLXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJl
c3Mtb24tZWRpdGFibGUtY29udGVudC10aGVuLWRyYWctZG93bi10by1jaGFuZ2Utc2VsZWN0ZWQt
dGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNo
L2lvcy9sb25nLXByZXNzLW9uLWVkaXRhYmxlLWNvbnRlbnQtdGhlbi1kcmFnLWRvd24tdG8tY2hh
bmdlLXNlbGVjdGVkLXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyMSBAQAor
PCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uLy4uL3Jlc291cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICAgICAgICB9CisgICAgCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAg
ICAgICB7CisgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIucnVuVUlTY3JpcHQpCisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICAgICAgICAgIHZhciBvdXRwdXQgPSAnJzsK
KyAgICAgICAgICAgIHZhciBlZGl0YWJsZVRhcmdldFJlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnZWRpdGFibGUnKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgIHZh
ciBmaXJzdFRhcmdldFJlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmlyc3RTZWxlY3Rp
b24nKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgIHZhciBzZWNvbmRUYXJn
ZXRSZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlY29uZFNlbGVjdGlvbicpLmdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIHRoaXJkVGFyZ2V0UmVjdCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aGlyZFNlbGVjdGlvbicpLmdldEJvdW5kaW5nQ2xpZW50
UmVjdCgpOworICAgICAgICAgICAgdmFyIG5vbmVkaXRhYmxlVG9FZGl0YWJsZU9mZnNldCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0YWJsZScpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
LnkgLSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uZWRpdGFibGUnKS5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKS55OworICAgICAgICAKKyAgICAgICAgICAgIHZhciBwcmVzc1BvaW50WCA9IGZp
cnN0VGFyZ2V0UmVjdC54ICsgZmlyc3RUYXJnZXRSZWN0LndpZHRoIC8gMjsKKyAgICAgICAgICAg
IHZhciBwcmVzc1BvaW50WSA9IGZpcnN0VGFyZ2V0UmVjdC55ICsgZmlyc3RUYXJnZXRSZWN0Lmhl
aWdodCAvIDIgKyBub25lZGl0YWJsZVRvRWRpdGFibGVPZmZzZXQ7CisgICAgICAgICAgICB2YXIg
ZHJhZ1kgPSBmaXJzdFRhcmdldFJlY3QueSArIGZpcnN0VGFyZ2V0UmVjdC5oZWlnaHQgKyBub25l
ZGl0YWJsZVRvRWRpdGFibGVPZmZzZXQ7CisgICAgICAgICAgICB2YXIgZHJhZ1ggPSBmaXJzdFRh
cmdldFJlY3QueCArIGZpcnN0VGFyZ2V0UmVjdC53aWR0aDsKKyAgICAgICAgICAgIHZhciBkcmFn
WTIgPSBzZWNvbmRUYXJnZXRSZWN0LnkgKyBzZWNvbmRUYXJnZXRSZWN0LmhlaWdodCArIG5vbmVk
aXRhYmxlVG9FZGl0YWJsZU9mZnNldDsKKyAgICAgICAgICAgIHZhciBkcmFnWTMgPSB0aGlyZFRh
cmdldFJlY3QueSArIHRoaXJkVGFyZ2V0UmVjdC5oZWlnaHQgKyBub25lZGl0YWJsZVRvRWRpdGFi
bGVPZmZzZXQ7CisgICAgICAgICAgICB2YXIgZHJhZ1k0ID0gZmlyc3RUYXJnZXRSZWN0LnkgLSBm
aXJzdFRhcmdldFJlY3QuaGVpZ2h0ICsgbm9uZWRpdGFibGVUb0VkaXRhYmxlT2Zmc2V0OworCisg
ICAgICAgICAgICBhd2FpdCBsb25nUHJlc3NBdFBvaW50KHByZXNzUG9pbnRYLCBwcmVzc1BvaW50
WSk7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9
PSAic2VkIikKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6IENvcnJlY3QgU2VsZWN0
aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6
IGZhaWxlZCB0byBzZWxlY3QgYSB3b3JkIGFzIGEgcmVzdWx0IG9mIGEgbG9uZyBwcmVzcy4gSW5j
b3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7
CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworCisgICAgICAgICAgICBhd2FpdCB0b3Vj
aEFuZERyYWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYLCBkcmFnWSwgZHJhZ1gsIGRyYWdZMik7Cisg
ICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9PSAic2Vk
IGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1biIpCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9
ICdQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbic7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgb3V0cHV0ICs9ICdGQUlMOiBmYWlsZWQgdG8gc2VsZWN0IGFkZGl0aW9uYWwgbGluZSBh
ZnRlciBhIGRyYWcuIEluY29ycmVjdCBTZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKS50b1N0cmluZygpOworICAgICAgICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKworICAgICAg
ICAgICAgYXdhaXQgdG91Y2hBbmREcmFnRnJvbVBvaW50VG9Qb2ludChkcmFnWCwgZHJhZ1kyLCBk
cmFnWCwgZHJhZ1kzKTsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50
b1N0cmluZygpID09ICJzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUg
ZXQgZG9sb3JlIG1hIikKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6IENvcnJlY3Qg
U2VsZWN0aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0g
J0ZBSUw6IGZhaWxlZCB0byBzZWxlY3QgYWRkaXRpb25hbCBsaW5lIGFmdGVyIGEgZHJhZy4gSW5j
b3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7
CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworCisgICAgICAgICAgICBhd2FpdCB0b3Vj
aEFuZERyYWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYLCBkcmFnWTMsIGRyYWdYLCBkcmFnWTIpOwor
ICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgPT0gInNl
ZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW4iKQorICAgICAgICAgICAgICAgIG91dHB1dCAr
PSAnUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24nOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIGRlc2VsZWN0IGxpbmUgYWZ0ZXIgYSBk
cmFnLiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9T
dHJpbmcoKTsKKyAgICAgICAgICAgIG91dHB1dCArPSAnPGJyPic7CisKKyAgICAgICAgICAgIGF3
YWl0IHRvdWNoQW5kRHJhZ0Zyb21Qb2ludFRvUG9pbnQoZHJhZ1gsIGRyYWdZMiwgZHJhZ1gsIGRy
YWdZKTsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygp
ID09ICJzZWQiKQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnUEFTUzogQ29ycmVjdCBTZWxl
Y3Rpb24nOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnRkFJ
TDogZmFpbGVkIHRvIGRlc2VsZWN0IGxpbmUgYWZ0ZXIgYSBkcmFnLiBJbmNvcnJlY3QgU2VsZWN0
aW9uOiAnICsgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTsKKyAgICAgICAgICAg
IG91dHB1dCArPSAnPGJyPic7CisKKyAgICAgICAgICAgIHZhciByZXN1bHQgPSBhd2FpdCB0b3Vj
aEFuZERyYWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYLCBkcmFnWSwgZHJhZ1gsIGRyYWdZNCk7Cisg
ICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9PSAicyIp
CisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbic7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlMOiBmYWlsZWQg
dG8gcmVkdWNlIHNlbGVjdGlvbiB0byBhIHNpbmdsZSBjaGFyYWN0ZXIgYnkgZHJhZ2dpbmcgdXAu
IEluY29ycmVjdCBTZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmlu
ZygpOworICAgICAgICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKyAgICAgICAgICAgIG91dHB1dCAr
PSByZXN1bHQ7CisKKyAgICAgICAgICAgIHZhciBub25lZGl0YWJsZUVsZW1lbnQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnbm9uZWRpdGFibGUnKTsKKyAgICAgICAgICAgIG5vbmVkaXRhYmxl
RWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG5vbmVkaXRhYmxlRWxlbWVudCk7CisgICAg
ICAgICAgICB2YXIgZWRpdGFibGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vk
aXRhYmxlJyk7CisgICAgICAgICAgICBlZGl0YWJsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVD
aGlsZChlZGl0YWJsZUVsZW1lbnQpOworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3RhcmdldCcpLmlubmVySFRNTCA9IG91dHB1dDsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworICAgICAgICB9CisgICAgCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCdsb2FkJywgcnVuVGVzdCwgZmFsc2UpOworICAgIDwvc2NyaXB0PgorICAgIDxzdHls
ZT4KKyAgICAgICAgI25vbmVkaXRhYmxlIHsKKyAgICAgICAgICAgIGhlaWdodDogMjAwcHg7Cisg
ICAgICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBz
aWx2ZXI7CisgICAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOworICAgICAgICAgICAg
Zm9udC1zaXplOiAxOHB4OworICAgICAgICB9CisgICAgICAgICNlZGl0YWJsZSB7CisgICAgICAg
ICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAg
ICAgYmFja2dyb3VuZC1jb2xvcjogc2lsdmVyOworICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1v
bm9zcGFjZTsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKKyAgICAgICAgfQorICAgICAg
ICAjdGFyZ2V0IHsKKyAgICAgICAgICAgIGhlaWdodDogNTBweDsKKyAgICAgICAgICAgIHdpZHRo
OiAzMDBweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAg
ICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CisgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7
CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8L2hlYWQ+Cis8Ym9k
eT4KKyAgICA8ZGl2IGlkPSJub25lZGl0YWJsZSI+CisgICAgICAgIDxwPkxvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQsIDxzcGFuIGlkPSJmaXJz
dFNlbGVjdGlvbiI+c2VkPC9zcGFuPiBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW48c3BhbiBp
ZD0ic2Vjb25kU2VsZWN0aW9uIj48L3NwYW4+dCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZzxzcGFu
IGlkPSJ0aGlyZFNlbGVjdGlvbiI+PC9zcGFuPm5hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2
ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQg
YWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC48L3A+CisgICAgPC9kaXY+CisgICAgPGRp
diBpZD0iZWRpdGFibGUiIGNvbnRlbnRlZGl0YWJsZT4KKyAgICAgICAgPHA+TG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNt
b2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0
IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28g
bGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuPC9wPgorICAg
IDwvZGl2PiAKKyAgICA8ZGl2IGlkPSJ0YXJnZXQiPgorICAgICAgICBUaGlzIHRlc3QgcmVxdWly
ZXMgVUlTY3JpcHRDb250cm9sbGVyIHRvIHJ1bi4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLW9u
LWVkaXRhYmxlLWNvbnRlbnQtdGhlbi1kcmFnLWxlZnQtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNo
L2lvcy9sb25nLXByZXNzLW9uLWVkaXRhYmxlLWNvbnRlbnQtdGhlbi1kcmFnLWxlZnQtdG8tY2hh
bmdlLXNlbGVjdGVkLXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLW9uLWVkaXRhYmxlLWNvbnRlbnQt
dGhlbi1kcmFnLWxlZnQtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNyBAQAorUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24KK1BBU1M6
IENvcnJlY3QgU2VsZWN0aW9uCitQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbgorUEFTUzogQ29ycmVj
dCBTZWxlY3Rpb24KK1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uCitQQVNTOiBDb3JyZWN0IFNlbGVj
dGlvbgorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9uZy1wcmVz
cy1vbi1lZGl0YWJsZS1jb250ZW50LXRoZW4tZHJhZy1sZWZ0LXRvLWNoYW5nZS1zZWxlY3RlZC10
ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9z
L2xvbmctcHJlc3Mtb24tZWRpdGFibGUtY29udGVudC10aGVuLWRyYWctbGVmdC10by1jaGFuZ2Ut
c2VsZWN0ZWQtdGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLW9uLWVkaXRhYmxlLWNvbnRlbnQtdGhlbi1kcmFnLWxl
ZnQtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDEyMSBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworICAgICAgICB9CisgICAgCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIucnVuVUlTY3JpcHQp
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICAgICAgICAgIHZhciBvdXRw
dXQgPSAnJzsKKyAgICAgICAgICAgIHZhciBlZGl0YWJsZVRhcmdldFJlY3QgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnZWRpdGFibGUnKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAg
ICAgICAgIHZhciBmaXJzdFRhcmdldFJlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmly
c3RTZWxlY3Rpb24nKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgIHZhciBz
ZWNvbmRUYXJnZXRSZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlY29uZFNlbGVjdGlv
bicpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIHRoaXJkVGFyZ2V0
UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aGlyZFNlbGVjdGlvbicpLmdldEJvdW5k
aW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIG5vbmVkaXRhYmxlVG9FZGl0YWJsZU9m
ZnNldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0YWJsZScpLmdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpLnkgLSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9uZWRpdGFibGUnKS5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKS55OworICAgICAgICAKKyAgICAgICAgICAgIHZhciBwcmVzc1Bv
aW50WCA9IGZpcnN0VGFyZ2V0UmVjdC54ICsgZmlyc3RUYXJnZXRSZWN0LndpZHRoIC8gMjsKKyAg
ICAgICAgICAgIHZhciBwcmVzc1BvaW50WSA9IGZpcnN0VGFyZ2V0UmVjdC55ICsgZmlyc3RUYXJn
ZXRSZWN0LmhlaWdodCAvIDIgKyBub25lZGl0YWJsZVRvRWRpdGFibGVPZmZzZXQ7CisgICAgICAg
ICAgICB2YXIgZHJhZ1kgPSBmaXJzdFRhcmdldFJlY3QueSArIG5vbmVkaXRhYmxlVG9FZGl0YWJs
ZU9mZnNldDsKKyAgICAgICAgICAgIHZhciBkcmFnWCA9IGZpcnN0VGFyZ2V0UmVjdC54OworICAg
ICAgICAgICAgdmFyIGRyYWdYMiA9IHNlY29uZFRhcmdldFJlY3QueDsKKyAgICAgICAgICAgIHZh
ciBkcmFnWDMgPSB0aGlyZFRhcmdldFJlY3QueDsKKyAgICAgICAgICAgIHZhciBkcmFnWDQgPSBm
aXJzdFRhcmdldFJlY3QueCArIGZpcnN0VGFyZ2V0UmVjdC53aWR0aDsKKworICAgICAgICAgICAg
YXdhaXQgbG9uZ1ByZXNzQXRQb2ludChwcmVzc1BvaW50WCwgcHJlc3NQb2ludFkpOworICAgICAg
ICAgICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgPT0gImFsaXF1YSIp
CisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbic7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlMOiBmYWlsZWQg
dG8gc2VsZWN0IGEgd29yZCBhcyBhIHJlc3VsdCBvZiBhIGxvbmcgcHJlc3MuIEluY29ycmVjdCBT
ZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOworICAgICAg
ICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKworICAgICAgICAgICAgYXdhaXQgdG91Y2hBbmREcmFn
RnJvbVBvaW50VG9Qb2ludChkcmFnWCwgZHJhZ1ksIGRyYWdYMiwgZHJhZ1kpOworICAgICAgICAg
ICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgPT0gIm1hZ25hIGFsaXF1
YSIpCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbic7
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlMOiBmYWls
ZWQgdG8gc2VsZWN0IGFkZGl0aW9uYWwgd29yZCBhZnRlciBhIGRyYWcuIEluY29ycmVjdCBTZWxl
Y3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOworICAgICAgICAg
ICAgb3V0cHV0ICs9ICc8YnI+JzsKKworICAgICAgICAgICAgYXdhaXQgdG91Y2hBbmREcmFnRnJv
bVBvaW50VG9Qb2ludChkcmFnWDIsIGRyYWdZLCBkcmFnWDMsIGRyYWdZKTsKKyAgICAgICAgICAg
IGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpID09ICJkb2xvcmUgbWFnbmEg
YWxpcXVhIikKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6IENvcnJlY3QgU2VsZWN0
aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6
IGZhaWxlZCB0byBzZWxlY3QgYWRkaXRpb25hbCB3b3JkIGFmdGVyIGEgZHJhZy4gSW5jb3JyZWN0
IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7CisgICAg
ICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworCisgICAgICAgICAgICBhd2FpdCB0b3VjaEFuZERy
YWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYMywgZHJhZ1ksIGRyYWdYMiwgZHJhZ1kpOworICAgICAg
ICAgICAgaWYgKGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgPT0gIm1hZ25hIGFs
aXF1YSIpCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBDb3JyZWN0IFNlbGVjdGlv
bic7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlMOiBm
YWlsZWQgdG8gZGVzZWxlY3Qgd29yZCBhZnRlciBhIGRyYWcuIEluY29ycmVjdCBTZWxlY3Rpb246
ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOworICAgICAgICAgICAgb3V0
cHV0ICs9ICc8YnI+JzsKKworICAgICAgICAgICAgYXdhaXQgdG91Y2hBbmREcmFnRnJvbVBvaW50
VG9Qb2ludChkcmFnWDIsIGRyYWdZLCBkcmFnWCwgZHJhZ1kpOworICAgICAgICAgICAgaWYgKGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgPT0gImFsaXF1YSIpCisgICAgICAgICAg
ICAgICAgIG91dHB1dCArPSAnUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24nOworICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIGRlc2VsZWN0
IHdvcmQgYWZ0ZXIgYSBkcmFnLiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9jdW1lbnQuZ2V0
U2VsZWN0aW9uKCkudG9TdHJpbmcoKTsKKyAgICAgICAgICAgIG91dHB1dCArPSAnPGJyPic7CisK
KyAgICAgICAgICAgIHZhciByZXN1bHQgPSBhd2FpdCB0b3VjaEFuZERyYWdGcm9tUG9pbnRUb1Bv
aW50KGRyYWdYLCBkcmFnWSwgZHJhZ1g0LCBkcmFnWSk7CisgICAgICAgICAgICBpZiAoZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9PSAiYSIpCisgICAgICAgICAgICAgICAgb3V0
cHV0ICs9ICdQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbic7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlMOiBmYWlsZWQgdG8gcmVkdWNlIHNlbGVjdGlvbiB0
byBhIHNpbmdsZSBjaGFyYWN0ZXIgYnkgZHJhZ2dpbmcgcmlnaHQuIEluY29ycmVjdCBTZWxlY3Rp
b246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOworICAgICAgICAgICAg
b3V0cHV0ICs9ICc8YnI+JzsKKyAgICAgICAgICAgIG91dHB1dCArPSByZXN1bHQ7CisKKyAgICAg
ICAgICAgIHZhciBub25lZGl0YWJsZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bm9uZWRpdGFibGUnKTsKKyAgICAgICAgICAgIG5vbmVkaXRhYmxlRWxlbWVudC5wYXJlbnROb2Rl
LnJlbW92ZUNoaWxkKG5vbmVkaXRhYmxlRWxlbWVudCk7CisgICAgICAgICAgICB2YXIgZWRpdGFi
bGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRhYmxlJyk7CisgICAgICAg
ICAgICBlZGl0YWJsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlZGl0YWJsZUVsZW1l
bnQpOworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpLmlubmVy
SFRNTCA9IG91dHB1dDsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAg
ICAgICB9CisgICAgCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcnVu
VGVzdCwgZmFsc2UpOworICAgIDwvc2NyaXB0PgorICAgIDxzdHlsZT4KKyAgICAgICAgI25vbmVk
aXRhYmxlIHsKKyAgICAgICAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICAgICAgICB3aWR0aDog
MzAwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2ZXI7CisgICAgICAgICAg
ICBmb250LWZhbWlseTogbW9ub3NwYWNlOworICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4Owor
ICAgICAgICB9CisgICAgICAgICNlZGl0YWJsZSB7CisgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4
OworICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xv
cjogc2lsdmVyOworICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKKyAgICAgICAg
ICAgIGZvbnQtc2l6ZTogMThweDsKKyAgICAgICAgfQorICAgICAgICAjdGFyZ2V0IHsKKyAgICAg
ICAgICAgIGhlaWdodDogNTBweDsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAg
ICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBt
b25vc3BhY2U7CisgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7CisgICAgICAgIH0KKyAgICA8
L3N0eWxlPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJu
b25lZGl0YWJsZSI+CisgICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25z
ZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50
IHV0IGxhYm9yZSBldCA8c3BhbiBpZD0idGhpcmRTZWxlY3Rpb24iPjwvc3Bhbj5kb2xvcmUgPHNw
YW4gaWQ9InNlY29uZFNlbGVjdGlvbiI+PC9zcGFuPm1hZ25hIDxzcGFuIGlkPSJmaXJzdFNlbGVj
dGlvbiI+YWxpcXVhPC9zcGFuPi4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1
ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21t
b2RvIGNvbnNlcXVhdC48L3A+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iZWRpdGFibGUiIGNv
bnRlbnRlZGl0YWJsZT4KKyAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNv
bnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1
bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVu
aWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFs
aXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuPC9wPgorICAgIDwvZGl2PiAgICAgCisgICAg
PGRpdiBpZD0idGFyZ2V0Ij4KKyAgICAgICAgVGhpcyB0ZXN0IHJlcXVpcmVzIFVJU2NyaXB0Q29u
dHJvbGxlciB0byBydW4uCisgICAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9uZy1wcmVzcy1vbi1lZGl0YWJsZS1jb250
ZW50LXRoZW4tZHJhZy1yaWdodC10by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJl
c3Mtb24tZWRpdGFibGUtY29udGVudC10aGVuLWRyYWctcmlnaHQtdG8tY2hhbmdlLXNlbGVjdGVk
LXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLW9uLWVkaXRhYmxlLWNvbnRlbnQtdGhlbi1kcmFnLXJp
Z2h0LXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDcgQEAKK1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uCitQQVNTOiBDb3JyZWN0IFNl
bGVjdGlvbgorUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24KK1BBU1M6IENvcnJlY3QgU2VsZWN0aW9u
CitQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbgorUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24KKwpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3Mtb24tZWRpdGFi
bGUtY29udGVudC10aGVuLWRyYWctcmlnaHQtdG8tY2hhbmdlLXNlbGVjdGVkLXRleHQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9uZy1wcmVz
cy1vbi1lZGl0YWJsZS1jb250ZW50LXRoZW4tZHJhZy1yaWdodC10by1jaGFuZ2Utc2VsZWN0ZWQt
dGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNo
L2lvcy9sb25nLXByZXNzLW9uLWVkaXRhYmxlLWNvbnRlbnQtdGhlbi1kcmFnLXJpZ2h0LXRvLWNo
YW5nZS1zZWxlY3RlZC10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjEgQEAK
KzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li8uLi8uLi9yZXNvdXJjZXMvYmFzaWMtZ2VzdHVyZXMuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICAgICAgfQorICAgIAorICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkKKyAg
ICAgICAgeworICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KQorICAgICAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgdmFyIG91dHB1dCA9ICcnOworICAgICAg
ICAgICAgdmFyIGVkaXRhYmxlVGFyZ2V0UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdl
ZGl0YWJsZScpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIGZpcnN0
VGFyZ2V0UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaXJzdFNlbGVjdGlvbicpLmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIHNlY29uZFRhcmdldFJlY3Qg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2Vjb25kU2VsZWN0aW9uJykuZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCk7CisgICAgICAgICAgICB2YXIgdGhpcmRUYXJnZXRSZWN0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3RoaXJkU2VsZWN0aW9uJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7
CisgICAgICAgICAgICB2YXIgbm9uZWRpdGFibGVUb0VkaXRhYmxlT2Zmc2V0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2VkaXRhYmxlJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkueSAtIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25lZGl0YWJsZScpLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpLnk7CisKKyAgICAgICAgICAgIHZhciBwcmVzc1BvaW50WCA9IGZpcnN0VGFyZ2V0UmVjdC54
ICsgZmlyc3RUYXJnZXRSZWN0LndpZHRoIC8gMjsKKyAgICAgICAgICAgIHZhciBwcmVzc1BvaW50
WSA9IGZpcnN0VGFyZ2V0UmVjdC55ICsgZmlyc3RUYXJnZXRSZWN0LmhlaWdodCAvIDIgKyBub25l
ZGl0YWJsZVRvRWRpdGFibGVPZmZzZXQ7CisgICAgICAgICAgICB2YXIgZHJhZ1kgPSBmaXJzdFRh
cmdldFJlY3QueSArIGZpcnN0VGFyZ2V0UmVjdC5oZWlnaHQgKyBub25lZGl0YWJsZVRvRWRpdGFi
bGVPZmZzZXQ7CisgICAgICAgICAgICB2YXIgZHJhZ1ggPSBmaXJzdFRhcmdldFJlY3QueCArIGZp
cnN0VGFyZ2V0UmVjdC53aWR0aDsKKyAgICAgICAgICAgIHZhciBkcmFnWDIgPSBzZWNvbmRUYXJn
ZXRSZWN0Lng7CisgICAgICAgICAgICB2YXIgZHJhZ1gzID0gdGhpcmRUYXJnZXRSZWN0Lng7Cisg
ICAgICAgICAgICB2YXIgZHJhZ1g0ID0gZmlyc3RUYXJnZXRSZWN0LnggLSBmaXJzdFRhcmdldFJl
Y3Qud2lkdGg7CisgICAgICAgIAorICAgICAgICAgICAgYXdhaXQgbG9uZ1ByZXNzQXRQb2ludChw
cmVzc1BvaW50WCwgcHJlc3NQb2ludFkpOworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldFNl
bGVjdGlvbigpLnRvU3RyaW5nKCkgPT0gIm1hZ25hIikKKyAgICAgICAgICAgICAgICBvdXRwdXQg
Kz0gJ1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBzZWxlY3QgYSB3b3JkIGFzIGEgcmVz
dWx0IG9mIGEgbG9uZyBwcmVzcy4gSW5jb3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOwor
CisgICAgICAgICAgICBhd2FpdCB0b3VjaEFuZERyYWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYLCBk
cmFnWSwgZHJhZ1gyLCBkcmFnWSk7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCkudG9TdHJpbmcoKSA9PSAibWFnbmEgYWxpcXVhLiIpCisgICAgICAgICAgICAgICAgb3V0
cHV0ICs9ICdQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbic7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlMOiBmYWlsZWQgdG8gc2VsZWN0IGFkZGl0aW9uYWwg
d29yZCBhZnRlciBhIGRyYWcuIEluY29ycmVjdCBTZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKS50b1N0cmluZygpOworICAgICAgICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKwor
ICAgICAgICAgICAgYXdhaXQgdG91Y2hBbmREcmFnRnJvbVBvaW50VG9Qb2ludChkcmFnWDIsIGRy
YWdZLCBkcmFnWDMsIGRyYWdZKTsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKS50b1N0cmluZygpID09ICJtYWduYSBhbGlxdWEuIFV0IikKKyAgICAgICAgICAgICAgICBv
dXRwdXQgKz0gJ1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBzZWxlY3QgYWRkaXRpb25h
bCB3b3JkIGFmdGVyIGEgZHJhZy4gSW5jb3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOwor
CisgICAgICAgICAgICBhd2FpdCB0b3VjaEFuZERyYWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYMywg
ZHJhZ1ksIGRyYWdYMiwgZHJhZ1kpOworICAgICAgICAgICAgaWYgKGRvY3VtZW50LmdldFNlbGVj
dGlvbigpLnRvU3RyaW5nKCkgPT0gIm1hZ25hIGFsaXF1YS4iKQorICAgICAgICAgICAgICAgIG91
dHB1dCArPSAnUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24nOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIGRlc2VsZWN0IHdvcmQgYWZ0
ZXIgYSBkcmFnLiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCkudG9TdHJpbmcoKTsKKyAgICAgICAgICAgIG91dHB1dCArPSAnPGJyPic7CisKKyAgICAgICAg
ICAgIGF3YWl0IHRvdWNoQW5kRHJhZ0Zyb21Qb2ludFRvUG9pbnQoZHJhZ1gyLCBkcmFnWSwgZHJh
Z1gsIGRyYWdZKTsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0
cmluZygpID09ICJtYWduYSIpCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBDb3Jy
ZWN0IFNlbGVjdGlvbic7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0
ICs9ICdGQUlMOiBmYWlsZWQgdG8gZGVzZWxlY3Qgd29yZCBhZnRlciBhIGRyYWcuIEluY29ycmVj
dCBTZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOworICAg
ICAgICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKKworICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGF3
YWl0IHRvdWNoQW5kRHJhZ0Zyb21Qb2ludFRvUG9pbnQoZHJhZ1gsIGRyYWdZLCBkcmFnWDQsIGRy
YWdZKTsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygp
ID09ICJtIikKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6IENvcnJlY3QgU2VsZWN0
aW9uJzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6
IGZhaWxlZCB0byByZWR1Y2Ugc2VsZWN0aW9uIHRvIGEgc2luZ2xlIGNoYXJhY3RlciBieSBkcmFn
Z2luZyBsZWZ0LiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCkudG9TdHJpbmcoKTsKKyAgICAgICAgICAgIG91dHB1dCArPSAnPGJyPic7CisgICAgICAgICAg
ICBvdXRwdXQgKz0gcmVzdWx0OworCisgICAgICAgICAgICB2YXIgbm9uZWRpdGFibGVFbGVtZW50
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vbmVkaXRhYmxlJyk7CisgICAgICAgICAgICBu
b25lZGl0YWJsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChub25lZGl0YWJsZUVsZW1l
bnQpOworICAgICAgICAgICAgdmFyIGVkaXRhYmxlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdlZGl0YWJsZScpOworICAgICAgICAgICAgZWRpdGFibGVFbGVtZW50LnBhcmVudE5v
ZGUucmVtb3ZlQ2hpbGQoZWRpdGFibGVFbGVtZW50KTsKKyAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0YXJnZXQnKS5pbm5lckhUTUwgPSBvdXRwdXQ7CisgICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgcnVuVGVzdCwgZmFsc2UpOworICAgIDwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICNub25lZGl0YWJsZSB7CisgICAgICAgICAgICBoZWlnaHQ6
IDIwMHB4OworICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgYmFja2dyb3Vu
ZC1jb2xvcjogc2lsdmVyOworICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKKyAg
ICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKKyAgICAgICAgfQorICAgICAgICAjZWRpdGFibGUg
eworICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBweDsK
KyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgICAgIGZvbnQt
ZmFtaWx5OiBtb25vc3BhY2U7CisgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7CisgICAgICAg
IH0KKyAgICAgICAgI3RhcmdldCB7CisgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7CisgICAgICAg
ICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2ZXI7
CisgICAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOworICAgICAgICAgICAgZm9udC1z
aXplOiAxOHB4OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorPC9o
ZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0ibm9uZWRpdGFibGUiPgorICAgICAgICA8cD5Mb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LCBzZWQg
ZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIDxzcGFuIGlk
PSJmaXJzdFNlbGVjdGlvbiI+bWFnbmE8L3NwYW4+IGFsaXF1YS48c3BhbiBpZD0ic2Vjb25kU2Vs
ZWN0aW9uIj48L3NwYW4+IFV0PHNwYW4gaWQ9InRoaXJkU2VsZWN0aW9uIj48L3NwYW4+IGVuaW0g
YWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3Jp
cyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuPC9wPgorICAgIDwvZGl2
PgorICAgIDxkaXYgaWQ9ImVkaXRhYmxlIiBjb250ZW50ZWRpdGFibGU+CisgICAgICAgIDxwPkxv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQsIHNl
ZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEg
YWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlv
biB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0
LjwvcD4KKyAgICA8L2Rpdj4gCisgICAgPGRpdiBpZD0idGFyZ2V0Ij4KKyAgICAgICAgVGhpcyB0
ZXN0IHJlcXVpcmVzIFVJU2NyaXB0Q29udHJvbGxlciB0byBydW4uCisgICAgPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9u
Zy1wcmVzcy1vbi1lZGl0YWJsZS1jb250ZW50LXRoZW4tZHJhZy11cC10by1jaGFuZ2Utc2VsZWN0
ZWQtdGV4dC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvdG91Y2gvaW9zL2xvbmctcHJlc3Mtb24tZWRpdGFibGUtY29udGVudC10aGVuLWRyYWctdXAt
dG8tY2hhbmdlLXNlbGVjdGVkLXRleHQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLW9uLWVkaXRhYmxlLWNv
bnRlbnQtdGhlbi1kcmFnLXVwLXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0LWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcgQEAKK1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uCitQ
QVNTOiBDb3JyZWN0IFNlbGVjdGlvbgorUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24KK1BBU1M6IENv
cnJlY3QgU2VsZWN0aW9uCitQQVNTOiBDb3JyZWN0IFNlbGVjdGlvbgorUEFTUzogQ29ycmVjdCBT
ZWxlY3Rpb24KKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmct
cHJlc3Mtb24tZWRpdGFibGUtY29udGVudC10aGVuLWRyYWctdXAtdG8tY2hhbmdlLXNlbGVjdGVk
LXRleHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9p
b3MvbG9uZy1wcmVzcy1vbi1lZGl0YWJsZS1jb250ZW50LXRoZW4tZHJhZy11cC10by1jaGFuZ2Ut
c2VsZWN0ZWQtdGV4dC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLW9uLWVkaXRhYmxlLWNvbnRlbnQtdGhlbi1kcmFnLXVw
LXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
MjEgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvYmFzaWMtZ2VzdHVyZXMuanMiPjwvc2NyaXB0PgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICAgICAgfQorICAgIAorICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0
KCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KQor
ICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgdmFyIG91dHB1dCA9ICcnOwor
ICAgICAgICAgICAgdmFyIGVkaXRhYmxlVGFyZ2V0UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdlZGl0YWJsZScpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFy
IGZpcnN0VGFyZ2V0UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaXJzdFNlbGVjdGlv
bicpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgdmFyIHNlY29uZFRhcmdl
dFJlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2Vjb25kU2VsZWN0aW9uJykuZ2V0Qm91
bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICB2YXIgdGhpcmRUYXJnZXRSZWN0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RoaXJkU2VsZWN0aW9uJykuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk7CisgICAgICAgICAgICB2YXIgbm9uZWRpdGFibGVUb0VkaXRhYmxlT2Zmc2V0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRhYmxlJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCku
eSAtIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25lZGl0YWJsZScpLmdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpLnk7CisgICAgICAgIAorICAgICAgICAgICAgdmFyIHByZXNzUG9pbnRYID0gZmly
c3RUYXJnZXRSZWN0LnggKyBmaXJzdFRhcmdldFJlY3Qud2lkdGggLyAyOworICAgICAgICAgICAg
dmFyIHByZXNzUG9pbnRZID0gZmlyc3RUYXJnZXRSZWN0LnkgKyBmaXJzdFRhcmdldFJlY3QuaGVp
Z2h0IC8gMiArIG5vbmVkaXRhYmxlVG9FZGl0YWJsZU9mZnNldDsKKyAgICAgICAgICAgIHZhciBk
cmFnWSA9IGZpcnN0VGFyZ2V0UmVjdC55ICsgbm9uZWRpdGFibGVUb0VkaXRhYmxlT2Zmc2V0Owor
ICAgICAgICAgICAgdmFyIGRyYWdYID0gZmlyc3RUYXJnZXRSZWN0Lng7CisgICAgICAgICAgICB2
YXIgZHJhZ1kyID0gc2Vjb25kVGFyZ2V0UmVjdC55ICsgbm9uZWRpdGFibGVUb0VkaXRhYmxlT2Zm
c2V0OworICAgICAgICAgICAgdmFyIGRyYWdZMyA9IHRoaXJkVGFyZ2V0UmVjdC55ICsgbm9uZWRp
dGFibGVUb0VkaXRhYmxlT2Zmc2V0OworICAgICAgICAgICAgdmFyIGRyYWdZNCA9IGZpcnN0VGFy
Z2V0UmVjdC55ICsgZmlyc3RUYXJnZXRSZWN0LmhlaWdodCArIG5vbmVkaXRhYmxlVG9FZGl0YWJs
ZU9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBhd2FpdCBsb25nUHJlc3NBdFBvaW50KHBy
ZXNzUG9pbnRYLCBwcmVzc1BvaW50WSk7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCkudG9TdHJpbmcoKSA9PSAidXQiKQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAn
UEFTUzogQ29ycmVjdCBTZWxlY3Rpb24nOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIHNlbGVjdCBhIHdvcmQgYXMgYSByZXN1bHQg
b2YgYSBsb25nIHByZXNzLiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9jdW1lbnQuZ2V0U2Vs
ZWN0aW9uKCkudG9TdHJpbmcoKTsKKyAgICAgICAgICAgIG91dHB1dCArPSAnPGJyPic7CisKKyAg
ICAgICAgICAgIGF3YWl0IHRvdWNoQW5kRHJhZ0Zyb21Qb2ludFRvUG9pbnQoZHJhZ1gsIGRyYWdZ
LCBkcmFnWCwgZHJhZ1kyKTsKKyAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24o
KS50b1N0cmluZygpID09ICJvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQiKQorICAgICAg
ICAgICAgICAgIG91dHB1dCArPSAnUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24nOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIHNlbGVj
dCBhZGRpdGlvbmFsIGxpbmUgYWZ0ZXIgYSBkcmFnLiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsg
ZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTsKKyAgICAgICAgICAgIG91dHB1dCAr
PSAnPGJyPic7CisKKyAgICAgICAgICAgIGF3YWl0IHRvdWNoQW5kRHJhZ0Zyb21Qb2ludFRvUG9p
bnQoZHJhZ1gsIGRyYWdZMiwgZHJhZ1gsIGRyYWdZMyk7CisgICAgICAgICAgICBpZiAoZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9PSAiIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRv
IGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQiKQorICAgICAgICAgICAgICAgIG91dHB1dCAr
PSAnUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24nOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIHNlbGVjdCBhZGRpdGlvbmFsIGxpbmUg
YWZ0ZXIgYSBkcmFnLiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCkudG9TdHJpbmcoKTsKKyAgICAgICAgICAgIG91dHB1dCArPSAnPGJyPic7CisKKyAgICAg
ICAgICAgIGF3YWl0IHRvdWNoQW5kRHJhZ0Zyb21Qb2ludFRvUG9pbnQoZHJhZ1gsIGRyYWdZMywg
ZHJhZ1gsIGRyYWdZMik7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCku
dG9TdHJpbmcoKSA9PSAibyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IikKKyAgICAgICAg
ICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uJzsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBkZXNlbGVj
dCBsaW5lIGFmdGVyIGEgZHJhZy4gSW5jb3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50Lmdl
dFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOwor
CisgICAgICAgICAgICBhd2FpdCB0b3VjaEFuZERyYWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYLCBk
cmFnWTIsIGRyYWdYLCBkcmFnWSk7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCkudG9TdHJpbmcoKSA9PSAidXQiKQorICAgICAgICAgICAgICAgIG91dHB1dCArPSAnUEFT
UzogQ29ycmVjdCBTZWxlY3Rpb24nOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
IG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIGRlc2VsZWN0IGxpbmUgYWZ0ZXIgYSBkcmFnLiBJ
bmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmco
KTsKKyAgICAgICAgICAgIG91dHB1dCArPSAnPGJyPic7CisKKyAgICAgICAgICAgIHZhciByZXN1
bHQgPSBhd2FpdCB0b3VjaEFuZERyYWdGcm9tUG9pbnRUb1BvaW50KGRyYWdYLCBkcmFnWSwgZHJh
Z1gsIGRyYWdZNCk7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9T
dHJpbmcoKSA9PSAidCIpCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdQQVNTOiBDb3JyZWN0
IFNlbGVjdGlvbic7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9
ICdGQUlMOiBmYWlsZWQgdG8gcmVkdWNlIHNlbGVjdGlvbiB0byBhIHNpbmdsZSBjaGFyYWN0ZXIg
YnkgZHJhZ2dpbmcgZG93bi4gSW5jb3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNl
bGVjdGlvbigpLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBvdXRwdXQgKz0gJzxicj4nOworICAg
ICAgICAgICAgb3V0cHV0ICs9IHJlc3VsdDsKKworICAgICAgICAgICAgdmFyIG5vbmVkaXRhYmxl
RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub25lZGl0YWJsZScpOworICAgICAg
ICAgICAgbm9uZWRpdGFibGVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobm9uZWRpdGFi
bGVFbGVtZW50KTsKKyAgICAgICAgICAgIHZhciBlZGl0YWJsZUVsZW1lbnQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnZWRpdGFibGUnKTsKKyAgICAgICAgICAgIGVkaXRhYmxlRWxlbWVudC5w
YXJlbnROb2RlLnJlbW92ZUNoaWxkKGVkaXRhYmxlRWxlbWVudCk7CisgICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0JykuaW5uZXJIVE1MID0gb3V0cHV0OworICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKworICAgICAgICB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJ1blRlc3QsIGZhbHNlKTsKKyAgICA8L3Njcmlw
dD4KKyAgICA8c3R5bGU+CisgICAgICAgICNub25lZGl0YWJsZSB7CisgICAgICAgICAgICBoZWln
aHQ6IDIwMHB4OworICAgICAgICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogc2lsdmVyOworICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsK
KyAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKKyAgICAgICAgfQorICAgICAgICAjZWRpdGFi
bGUgeworICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICAgIHdpZHRoOiAzMDBw
eDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgICAgIGZv
bnQtZmFtaWx5OiBtb25vc3BhY2U7CisgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7CisgICAg
ICAgIH0KKyAgICAgICAgI3RhcmdldCB7CisgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7CisgICAg
ICAgICAgICB3aWR0aDogMzAwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2
ZXI7CisgICAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOworICAgICAgICAgICAgZm9u
dC1zaXplOiAxOHB4OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0iaW5pdGlhbC1zY2FsZT0xIj4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxkaXYgaWQ9Im5vbmVkaXRhYmxlIj4KKyAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQsIGNvbnNlY3RldHVyPHNwYW4gaWQ9InRoaXJkU2VsZWN0aW9uIj48L3NwYW4+IGFkaXBp
c2NpbmcgZWxpdCwgc2VkIGQ8c3BhbiBpZD0ic2Vjb25kU2VsZWN0aW9uIj48L3NwYW4+byBlaXVz
bW9kIHRlbXBvciBpbmNpZGlkdW50IDxzcGFuIGlkPSJmaXJzdFNlbGVjdGlvbiI+dXQ8L3NwYW4+
IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwg
cXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlw
IGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LjwvcD4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJl
ZGl0YWJsZSIgY29udGVudGVkaXRhYmxlPgorICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1w
b3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBh
ZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlz
IG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC48L3A+CisgICAgPC9kaXY+
IAorICAgIDxkaXYgaWQ9InRhcmdldCI+CisgICAgICAgIFRoaXMgdGVzdCByZXF1aXJlcyBVSVNj
cmlwdENvbnRyb2xsZXIgdG8gcnVuLgorICAgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3MtdGhlbi1kcmFn
LXJpZ2h0LXRvLWNoYW5nZS1zZWxlY3RlZC10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2xvbmctcHJlc3MtdGhlbi1kcmFnLXJpZ2h0LXRv
LWNoYW5nZS1zZWxlY3RlZC10ZXh0Lmh0bWwJKHJldmlzaW9uIDIzMTE2MCkKKysrIExheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLXRoZW4tZHJhZy1yaWdodC10by1j
aGFuZ2Utc2VsZWN0ZWQtdGV4dC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC01NSw3ICs1NSw3IEBA
CiAgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICdGQUlMOiBmYWlsZWQgdG8gZGVzZWxlY3Qgd29y
ZCBhZnRlciBhIGRyYWcuIEluY29ycmVjdCBTZWxlY3Rpb246ICcgKyBkb2N1bWVudC5nZXRTZWxl
Y3Rpb24oKS50b1N0cmluZygpOwogICAgICAgICAgICAgb3V0cHV0ICs9ICc8YnI+JzsKIAotICAg
ICAgICAgICAgYXdhaXQodG91Y2hBbmREcmFnRnJvbVBvaW50VG9Qb2ludChkcmFnWDIsIGRyYWdZ
LCBkcmFnWCwgZHJhZ1kpOworICAgICAgICAgICAgYXdhaXQgdG91Y2hBbmREcmFnRnJvbVBvaW50
VG9Qb2ludChkcmFnWDIsIGRyYWdZLCBkcmFnWCwgZHJhZ1kpOwogICAgICAgICAgICAgaWYgKGRv
Y3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgPT0gIm1hZ25hIikKICAgICAgICAgICAg
ICAgICBvdXRwdXQgKz0gJ1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uJzsKICAgICAgICAgICAgIGVs
c2UKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLXRo
ZW4tZHJhZy11cC10by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9sb25nLXByZXNzLXRoZW4tZHJhZy11cC10
by1jaGFuZ2Utc2VsZWN0ZWQtdGV4dC5odG1sCShyZXZpc2lvbiAyMzExNjApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9uZy1wcmVzcy10aGVuLWRyYWctdXAtdG8tY2hh
bmdlLXNlbGVjdGVkLXRleHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjgsMzUgKzI4LDM1IEBA
CiAgICAgICAgICAgICB2YXIgZHJhZ1k0ID0gZmlyc3RUYXJnZXRSZWN0LnkgKyBmaXJzdFRhcmdl
dFJlY3QuaGVpZ2h0OwogICAgICAgICAKICAgICAgICAgICAgIGF3YWl0IGxvbmdQcmVzc0F0UG9p
bnQocHJlc3NQb2ludFgsIHByZXNzUG9pbnRZKTsKLSAgICAgICAgICAgIGlmIChkb2N1bWVudC5n
ZXRTZWxlY3Rpb24oKS50b1N0cmluZygpID09ICJVdCIpCisgICAgICAgICAgICBpZiAoZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9PSAidXQiKQogICAgICAgICAgICAgICAgIG91
dHB1dCArPSAnUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24nOwogICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgIG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIHNlbGVjdCBhIHdvcmQgYXMg
YSByZXN1bHQgb2YgYSBsb25nIHByZXNzLiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9jdW1l
bnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTsKICAgICAgICAgICAgIG91dHB1dCArPSAnPGJy
Pic7CiAKICAgICAgICAgICAgIGF3YWl0IHRvdWNoQW5kRHJhZ0Zyb21Qb2ludFRvUG9pbnQoZHJh
Z1gsIGRyYWdZLCBkcmFnWCwgZHJhZ1kyKTsKLSAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRT
ZWxlY3Rpb24oKS50b1N0cmluZygpID09ICJlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IikK
KyAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpID09ICJv
IGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQiKQogICAgICAgICAgICAgICAgIG91dHB1dCAr
PSAnUEFTUzogQ29ycmVjdCBTZWxlY3Rpb24nOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgICAgIG91dHB1dCArPSAnRkFJTDogZmFpbGVkIHRvIHNlbGVjdCBhZGRpdGlvbmFsIGxpbmUg
YWZ0ZXIgYSBkcmFnLiBJbmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9jdW1lbnQuZ2V0U2VsZWN0
aW9uKCkudG9TdHJpbmcoKTsKICAgICAgICAgICAgIG91dHB1dCArPSAnPGJyPic7CiAKICAgICAg
ICAgICAgIGF3YWl0IHRvdWNoQW5kRHJhZ0Zyb21Qb2ludFRvUG9pbnQoZHJhZ1gsIGRyYWdZMiwg
ZHJhZ1gsIGRyYWdZMyk7Ci0gICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCku
dG9TdHJpbmcoKSA9PSAibW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUg
bWFnbmEgYWxpcXVhLiBVdCIpCisgICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9u
KCkudG9TdHJpbmcoKSA9PSAiIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9y
IGluY2lkaWR1bnQgdXQiKQogICAgICAgICAgICAgICAgIG91dHB1dCArPSAnUEFTUzogQ29ycmVj
dCBTZWxlY3Rpb24nOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIG91dHB1dCAr
PSAnRkFJTDogZmFpbGVkIHRvIHNlbGVjdCBhZGRpdGlvbmFsIGxpbmUgYWZ0ZXIgYSBkcmFnLiBJ
bmNvcnJlY3QgU2VsZWN0aW9uOiAnICsgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmco
KTsKICAgICAgICAgICAgIG91dHB1dCArPSAnPGJyPic7CiAKICAgICAgICAgICAgIGF3YWl0IHRv
dWNoQW5kRHJhZ0Zyb21Qb2ludFRvUG9pbnQoZHJhZ1gsIGRyYWdZMywgZHJhZ1gsIGRyYWdZMik7
Ci0gICAgICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9PSAi
ZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCIpCisgICAgICAgICAgICBpZiAoZG9jdW1lbnQu
Z2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9PSAibyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50
IHV0IikKICAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ1BBU1M6IENvcnJlY3QgU2VsZWN0aW9u
JzsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6IGZh
aWxlZCB0byBkZXNlbGVjdCBsaW5lIGFmdGVyIGEgZHJhZy4gSW5jb3JyZWN0IFNlbGVjdGlvbjog
JyArIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7CiAgICAgICAgICAgICBvdXRw
dXQgKz0gJzxicj4nOwogCiAgICAgICAgICAgICBhd2FpdCB0b3VjaEFuZERyYWdGcm9tUG9pbnRU
b1BvaW50KGRyYWdYLCBkcmFnWTIsIGRyYWdYLCBkcmFnWSk7Ci0gICAgICAgICAgICBpZiAoZG9j
dW1lbnQuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9PSAiVXQiKQorICAgICAgICAgICAgaWYg
KGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgPT0gInV0IikKICAgICAgICAgICAg
ICAgICBvdXRwdXQgKz0gJ1BBU1M6IENvcnJlY3QgU2VsZWN0aW9uJzsKICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJ0ZBSUw6IGZhaWxlZCB0byBkZXNlbGVjdCBs
aW5lIGFmdGVyIGEgZHJhZy4gSW5jb3JyZWN0IFNlbGVjdGlvbjogJyArIGRvY3VtZW50LmdldFNl
bGVjdGlvbigpLnRvU3RyaW5nKCk7Cg==
</data>
<flag name="review"
          id="357404"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>