<?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>7875</bug_id>
          
          <creation_ts>2006-03-20 08:24:50 -0800</creation_ts>
          <short_desc>autogenerate bindings for Range</short_desc>
          <delta_ts>2019-02-06 09:04:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>37018</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-20 08:24:50 -0800</bug_when>
    <thetext>Use autogeneration for the class Range.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37022</commentid>
    <comment_count>1</comment_count>
      <attachid>7190</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-20 08:43:43 -0800</bug_when>
    <thetext>Created attachment 7190
patch with detailed change log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37025</commentid>
    <comment_count>2</comment_count>
      <attachid>7190</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2006-03-20 08:49:16 -0800</bug_when>
    <thetext>Comment on attachment 7190
patch with detailed change log

Looks great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503132</commentid>
    <comment_count>3</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:04:15 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>7190</attachid>
            <date>2006-03-20 08:43:43 -0800</date>
            <delta_ts>2006-03-20 08:49:16 -0800</delta_ts>
            <desc>patch with detailed change log</desc>
            <filename>RangeBindingPatch.txt</filename>
            <type>text/plain</type>
            <size>52356</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2VjbWEva2pzX3JhbmdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBraHRtbC9lY21h
L2tqc19yYW5nZS5jcHAJKHJldmlzaW9uIDEzMzk2KQorKysga2h0bWwvZWNtYS9ranNfcmFuZ2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDIyMiArMCwwIEBACi0vLyAtKi0gYy1iYXNpYy1vZmZz
ZXQ6IDIgLSotCi0vKgotICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgbGlicmFyaWVz
Ci0gKiAgQ29weXJpZ2h0IChDKSAyMDAxIFBldGVyIEtlbGx5IChwbWtAcG9zdC5jb20pCi0gKiAg
Q29weXJpZ2h0IChDKSAyMDAzLCAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCi0gKgotICogIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKLSAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCi0gKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCi0gKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCi0gKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICBGb3VuZGF0
aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEt
MTMwNyAgVVNBCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgImtqc19yYW5n
ZS5oIgotCi0jaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgotI2luY2x1ZGUgIkRvY3VtZW50
LmgiCi0jaW5jbHVkZSAiUmFuZ2UuaCIKLQotI2luY2x1ZGUgImtqc19yYW5nZS5sdXQuaCIKLQot
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBLSlMgewotCi0vLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi0KLWNvbnN0IENsYXNzSW5mbyBET01SYW5nZTo6aW5mbyA9IHsgIlJhbmdlIiwg
MCwgJkRPTVJhbmdlVGFibGUsIDAgfTsKLS8qCi1AYmVnaW4gRE9NUmFuZ2VUYWJsZSA3Ci0gIHN0
YXJ0Q29udGFpbmVyCURPTVJhbmdlOjpTdGFydENvbnRhaW5lcglEb250RGVsZXRlfFJlYWRPbmx5
Ci0gIHN0YXJ0T2Zmc2V0CQlET01SYW5nZTo6U3RhcnRPZmZzZXQJCURvbnREZWxldGV8UmVhZE9u
bHkKLSAgZW5kQ29udGFpbmVyCQlET01SYW5nZTo6RW5kQ29udGFpbmVyCQlEb250RGVsZXRlfFJl
YWRPbmx5Ci0gIGVuZE9mZnNldAkJRE9NUmFuZ2U6OkVuZE9mZnNldAkJRG9udERlbGV0ZXxSZWFk
T25seQotICBjb2xsYXBzZWQJCURPTVJhbmdlOjpDb2xsYXBzZWQJCURvbnREZWxldGV8UmVhZE9u
bHkKLSAgY29tbW9uQW5jZXN0b3JDb250YWluZXIgRE9NUmFuZ2U6OkNvbW1vbkFuY2VzdG9yQ29u
dGFpbmVyCURvbnREZWxldGV8UmVhZE9ubHkKLUBlbmQKLUBiZWdpbiBET01SYW5nZVByb3RvVGFi
bGUgMTcKLSAgc2V0U3RhcnQJCSAgICBET01SYW5nZTo6U2V0U3RhcnQJCQlEb250RGVsZXRlfEZ1
bmN0aW9uIDIKLSAgc2V0RW5kCQkgICAgRE9NUmFuZ2U6OlNldEVuZAkJCURvbnREZWxldGV8RnVu
Y3Rpb24gMgotICBzZXRTdGFydEJlZm9yZQkgICAgRE9NUmFuZ2U6OlNldFN0YXJ0QmVmb3JlCQlE
b250RGVsZXRlfEZ1bmN0aW9uIDEKLSAgc2V0U3RhcnRBZnRlcgkJICAgIERPTVJhbmdlOjpTZXRT
dGFydEFmdGVyCQlEb250RGVsZXRlfEZ1bmN0aW9uIDEKLSAgc2V0RW5kQmVmb3JlCQkgICAgRE9N
UmFuZ2U6OlNldEVuZEJlZm9yZQkJRG9udERlbGV0ZXxGdW5jdGlvbiAxCi0gIHNldEVuZEFmdGVy
CQkgICAgRE9NUmFuZ2U6OlNldEVuZEFmdGVyCQlEb250RGVsZXRlfEZ1bmN0aW9uIDEKLSAgY29s
bGFwc2UJCSAgICBET01SYW5nZTo6Q29sbGFwc2UJCQlEb250RGVsZXRlfEZ1bmN0aW9uIDEKLSAg
c2VsZWN0Tm9kZQkJICAgIERPTVJhbmdlOjpTZWxlY3ROb2RlCQlEb250RGVsZXRlfEZ1bmN0aW9u
IDEKLSAgc2VsZWN0Tm9kZUNvbnRlbnRzCSAgICBET01SYW5nZTo6U2VsZWN0Tm9kZUNvbnRlbnRz
CURvbnREZWxldGV8RnVuY3Rpb24gMQotICBjb21wYXJlQm91bmRhcnlQb2ludHMJICAgIERPTVJh
bmdlOjpDb21wYXJlQm91bmRhcnlQb2ludHMJRG9udERlbGV0ZXxGdW5jdGlvbiAyCi0gIGRlbGV0
ZUNvbnRlbnRzCSAgICBET01SYW5nZTo6RGVsZXRlQ29udGVudHMJCURvbnREZWxldGV8RnVuY3Rp
b24gMAotICBleHRyYWN0Q29udGVudHMJICAgIERPTVJhbmdlOjpFeHRyYWN0Q29udGVudHMJCURv
bnREZWxldGV8RnVuY3Rpb24gMAotICBjbG9uZUNvbnRlbnRzCQkgICAgRE9NUmFuZ2U6OkNsb25l
Q29udGVudHMJCURvbnREZWxldGV8RnVuY3Rpb24gMAotICBpbnNlcnROb2RlCQkgICAgRE9NUmFu
Z2U6Okluc2VydE5vZGUJCURvbnREZWxldGV8RnVuY3Rpb24gMQotICBzdXJyb3VuZENvbnRlbnRz
CSAgICBET01SYW5nZTo6U3Vycm91bmRDb250ZW50cwkJRG9udERlbGV0ZXxGdW5jdGlvbiAxCi0g
IGNsb25lUmFuZ2UJCSAgICBET01SYW5nZTo6Q2xvbmVSYW5nZQkJRG9udERlbGV0ZXxGdW5jdGlv
biAwCi0gIHRvU3RyaW5nCQkgICAgRE9NUmFuZ2U6OlRvU3RyaW5nCQkJRG9udERlbGV0ZXxGdW5j
dGlvbiAwCi0gIGRldGFjaAkJICAgIERPTVJhbmdlOjpEZXRhY2gJCQlEb250RGVsZXRlfEZ1bmN0
aW9uIDAKLSAgY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50ICBET01SYW5nZTo6Q3JlYXRlQ29udGV4
dHVhbEZyYWdtZW50ICBEb250RGVsZXRlfEZ1bmN0aW9uIDEKLUBlbmQKLSovCi1LSlNfREVGSU5F
X1BST1RPVFlQRShET01SYW5nZVByb3RvKQotS0pTX0lNUExFTUVOVF9QUk9UT0ZVTkMoRE9NUmFu
Z2VQcm90b0Z1bmMpCi1LSlNfSU1QTEVNRU5UX1BST1RPVFlQRSgiRE9NUmFuZ2UiLERPTVJhbmdl
UHJvdG8sRE9NUmFuZ2VQcm90b0Z1bmMpCi0KLURPTVJhbmdlOjpET01SYW5nZShFeGVjU3RhdGUg
KmV4ZWMsIFJhbmdlICpyKQotIDogbV9pbXBsKHIpIAotewotICBzZXRQcm90b3R5cGUoRE9NUmFu
Z2VQcm90bzo6c2VsZihleGVjKSk7Ci19Ci0KLURPTVJhbmdlOjp+RE9NUmFuZ2UoKQotewotICBT
Y3JpcHRJbnRlcnByZXRlcjo6Zm9yZ2V0RE9NT2JqZWN0KG1faW1wbC5nZXQoKSk7Ci19Ci0KLWJv
b2wgRE9NUmFuZ2U6OmdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUgKmV4ZWMsIGNvbnN0IElk
ZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQotewotICByZXR1cm4g
Z2V0U3RhdGljVmFsdWVTbG90PERPTVJhbmdlLCBET01PYmplY3Q+KGV4ZWMsICZET01SYW5nZVRh
YmxlLCB0aGlzLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwotfQotCi1KU1ZhbHVlICpET01SYW5nZTo6
Z2V0VmFsdWVQcm9wZXJ0eShFeGVjU3RhdGUgKmV4ZWMsIGludCB0b2tlbikgY29uc3QKLXsKLSAg
RE9NRXhjZXB0aW9uVHJhbnNsYXRvciBleGNlcHRpb24oZXhlYyk7Ci0gIFJhbmdlICZyYW5nZSA9
ICptX2ltcGw7Ci0gIHN3aXRjaCAodG9rZW4pIHsKLSAgY2FzZSBTdGFydENvbnRhaW5lcjoKLSAg
ICByZXR1cm4gdG9KUyhleGVjLCByYW5nZS5zdGFydENvbnRhaW5lcihleGNlcHRpb24pKTsKLSAg
Y2FzZSBTdGFydE9mZnNldDoKLSAgICByZXR1cm4ganNOdW1iZXIocmFuZ2Uuc3RhcnRPZmZzZXQo
ZXhjZXB0aW9uKSk7Ci0gIGNhc2UgRW5kQ29udGFpbmVyOgotICAgIHJldHVybiB0b0pTKGV4ZWMs
IHJhbmdlLmVuZENvbnRhaW5lcihleGNlcHRpb24pKTsKLSAgY2FzZSBFbmRPZmZzZXQ6Ci0gICAg
cmV0dXJuIGpzTnVtYmVyKHJhbmdlLmVuZE9mZnNldChleGNlcHRpb24pKTsKLSAgY2FzZSBDb2xs
YXBzZWQ6Ci0gICAgcmV0dXJuIGpzQm9vbGVhbihyYW5nZS5jb2xsYXBzZWQoZXhjZXB0aW9uKSk7
Ci0gIGNhc2UgQ29tbW9uQW5jZXN0b3JDb250YWluZXI6Ci0gICAgcmV0dXJuIHRvSlMoZXhlYywg
cmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIoZXhjZXB0aW9uKSk7Ci0gIGRlZmF1bHQ6Ci0g
ICAgcmV0dXJuIDA7Ci0gIH0KLX0KLQotSlNWYWx1ZSAqRE9NUmFuZ2VQcm90b0Z1bmM6OmNhbGxB
c0Z1bmN0aW9uKEV4ZWNTdGF0ZSAqZXhlYywgSlNPYmplY3QgKnRoaXNPYmosIGNvbnN0IExpc3Qg
JmFyZ3MpCi17Ci0gIGlmICghdGhpc09iai0+aW5oZXJpdHMoJktKUzo6RE9NUmFuZ2U6OmluZm8p
KQotICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIFR5cGVFcnJvcik7Ci0gIFJhbmdlICZyYW5n
ZSA9ICpzdGF0aWNfY2FzdDxET01SYW5nZSAqPih0aGlzT2JqKS0+aW1wbCgpOwotICBKU1ZhbHVl
ICpyZXN1bHQgPSBqc1VuZGVmaW5lZCgpOwotICBpbnQgZXhjZXB0aW9uID0gMDsKLQotICBzd2l0
Y2ggKGlkKSB7Ci0gICAgY2FzZSBET01SYW5nZTo6U2V0U3RhcnQ6Ci0gICAgICByYW5nZS5zZXRT
dGFydCh0b05vZGUoYXJnc1swXSksIGFyZ3NbMV0tPnRvSW50MzIoZXhlYyksIGV4Y2VwdGlvbik7
Ci0gICAgICBicmVhazsKLSAgICBjYXNlIERPTVJhbmdlOjpTZXRFbmQ6Ci0gICAgICByYW5nZS5z
ZXRFbmQodG9Ob2RlKGFyZ3NbMF0pLCBhcmdzWzFdLT50b0ludDMyKGV4ZWMpLCBleGNlcHRpb24p
OwotICAgICAgYnJlYWs7Ci0gICAgY2FzZSBET01SYW5nZTo6U2V0U3RhcnRCZWZvcmU6Ci0gICAg
ICByYW5nZS5zZXRTdGFydEJlZm9yZSh0b05vZGUoYXJnc1swXSksIGV4Y2VwdGlvbik7Ci0gICAg
ICBicmVhazsKLSAgICBjYXNlIERPTVJhbmdlOjpTZXRTdGFydEFmdGVyOgotICAgICAgcmFuZ2Uu
c2V0U3RhcnRBZnRlcih0b05vZGUoYXJnc1swXSksIGV4Y2VwdGlvbik7Ci0gICAgICBicmVhazsK
LSAgICBjYXNlIERPTVJhbmdlOjpTZXRFbmRCZWZvcmU6Ci0gICAgICByYW5nZS5zZXRFbmRCZWZv
cmUodG9Ob2RlKGFyZ3NbMF0pLCBleGNlcHRpb24pOwotICAgICAgYnJlYWs7Ci0gICAgY2FzZSBE
T01SYW5nZTo6U2V0RW5kQWZ0ZXI6Ci0gICAgICByYW5nZS5zZXRFbmRBZnRlcih0b05vZGUoYXJn
c1swXSksIGV4Y2VwdGlvbik7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIERPTVJhbmdlOjpDb2xs
YXBzZToKLSAgICAgIHJhbmdlLmNvbGxhcHNlKGFyZ3NbMF0tPnRvQm9vbGVhbihleGVjKSwgZXhj
ZXB0aW9uKTsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgRE9NUmFuZ2U6OlNlbGVjdE5vZGU6Ci0g
ICAgICByYW5nZS5zZWxlY3ROb2RlKHRvTm9kZShhcmdzWzBdKSwgZXhjZXB0aW9uKTsKLSAgICAg
IGJyZWFrOwotICAgIGNhc2UgRE9NUmFuZ2U6OlNlbGVjdE5vZGVDb250ZW50czoKLSAgICAgIHJh
bmdlLnNlbGVjdE5vZGVDb250ZW50cyh0b05vZGUoYXJnc1swXSksIGV4Y2VwdGlvbik7Ci0gICAg
ICBicmVhazsKLSAgICBjYXNlIERPTVJhbmdlOjpDb21wYXJlQm91bmRhcnlQb2ludHM6Ci0gICAg
ICAgIHJlc3VsdCA9IGpzTnVtYmVyKHJhbmdlLmNvbXBhcmVCb3VuZGFyeVBvaW50cyhzdGF0aWNf
Y2FzdDxSYW5nZTo6Q29tcGFyZUhvdz4oYXJnc1swXS0+dG9JbnQzMihleGVjKSksIHRvUmFuZ2Uo
YXJnc1sxXSksIGV4Y2VwdGlvbikpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIERPTVJhbmdl
OjpEZWxldGVDb250ZW50czoKLSAgICAgIHJhbmdlLmRlbGV0ZUNvbnRlbnRzKGV4Y2VwdGlvbik7
Ci0gICAgICBicmVhazsKLSAgICBjYXNlIERPTVJhbmdlOjpFeHRyYWN0Q29udGVudHM6Ci0gICAg
ICByZXN1bHQgPSB0b0pTKGV4ZWMsIHJhbmdlLmV4dHJhY3RDb250ZW50cyhleGNlcHRpb24pKTsK
LSAgICAgIGJyZWFrOwotICAgIGNhc2UgRE9NUmFuZ2U6OkNsb25lQ29udGVudHM6Ci0gICAgICBy
ZXN1bHQgPSB0b0pTKGV4ZWMsIHJhbmdlLmNsb25lQ29udGVudHMoZXhjZXB0aW9uKSk7Ci0gICAg
ICBicmVhazsKLSAgICBjYXNlIERPTVJhbmdlOjpJbnNlcnROb2RlOgotICAgICAgcmFuZ2UuaW5z
ZXJ0Tm9kZSh0b05vZGUoYXJnc1swXSksIGV4Y2VwdGlvbik7Ci0gICAgICBicmVhazsKLSAgICBj
YXNlIERPTVJhbmdlOjpTdXJyb3VuZENvbnRlbnRzOgotICAgICAgcmFuZ2Uuc3Vycm91bmRDb250
ZW50cyh0b05vZGUoYXJnc1swXSksIGV4Y2VwdGlvbik7Ci0gICAgICBicmVhazsKLSAgICBjYXNl
IERPTVJhbmdlOjpDbG9uZVJhbmdlOgotICAgICAgcmVzdWx0ID0gdG9KUyhleGVjLCByYW5nZS5j
bG9uZVJhbmdlKGV4Y2VwdGlvbikuZ2V0KCkpOwotICAgICAgYnJlYWs7Ci0gICAgY2FzZSBET01S
YW5nZTo6VG9TdHJpbmc6Ci0gICAgICByZXN1bHQgPSBqc1N0cmluZ09yTnVsbChyYW5nZS50b1N0
cmluZyhleGNlcHRpb24pKTsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgRE9NUmFuZ2U6OkRldGFj
aDoKLSAgICAgIHJhbmdlLmRldGFjaChleGNlcHRpb24pOwotICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBET01SYW5nZTo6Q3JlYXRlQ29udGV4dHVhbEZyYWdtZW50OgotICAgICAgcmVzdWx0ID0gdG9K
UyhleGVjLCByYW5nZS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoYXJnc1swXS0+dG9TdHJpbmco
ZXhlYykuZG9tU3RyaW5nKCksIGV4Y2VwdGlvbikpOwotICAgICAgYnJlYWs7Ci0gIH07Ci0KLSAg
c2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGV4Y2VwdGlvbik7Ci0gIHJldHVybiByZXN1bHQ7Ci19Ci0K
LUpTVmFsdWUgKnRvSlMoRXhlY1N0YXRlICpleGVjLCBSYW5nZSAqcikKLXsKLSAgcmV0dXJuIGNh
Y2hlRE9NT2JqZWN0PFJhbmdlLCBET01SYW5nZT4oZXhlYywgcik7Ci19Ci0KLS8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KLQotY29uc3QgQ2xhc3NJbmZvIFJhbmdlQ29uc3RydWN0b3I6OmluZm8gPSB7ICJS
YW5nZUNvbnN0cnVjdG9yIiwgMCwgJlJhbmdlQ29uc3RydWN0b3JUYWJsZSwgMCB9OwotLyoKLUBi
ZWdpbiBSYW5nZUNvbnN0cnVjdG9yVGFibGUgNQotICBTVEFSVF9UT19TVEFSVAlXZWJDb3JlOjpS
YW5nZTo6U1RBUlRfVE9fU1RBUlQJRG9udERlbGV0ZXxSZWFkT25seQotICBTVEFSVF9UT19FTkQJ
CVdlYkNvcmU6OlJhbmdlOjpTVEFSVF9UT19FTkQJRG9udERlbGV0ZXxSZWFkT25seQotICBFTkRf
VE9fRU5ECQlXZWJDb3JlOjpSYW5nZTo6RU5EX1RPX0VORAkJRG9udERlbGV0ZXxSZWFkT25seQot
ICBFTkRfVE9fU1RBUlQJCVdlYkNvcmU6OlJhbmdlOjpFTkRfVE9fU1RBUlQJRG9udERlbGV0ZXxS
ZWFkT25seQotQGVuZAotKi8KLWJvb2wgUmFuZ2VDb25zdHJ1Y3Rvcjo6Z2V0T3duUHJvcGVydHlT
bG90KEV4ZWNTdGF0ZSAqZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9w
ZXJ0eVNsb3QmIHNsb3QpCi17Ci0gIHJldHVybiBnZXRTdGF0aWNWYWx1ZVNsb3Q8UmFuZ2VDb25z
dHJ1Y3RvcixET01PYmplY3Q+KGV4ZWMsICZSYW5nZUNvbnN0cnVjdG9yVGFibGUsIHRoaXMsIHBy
b3BlcnR5TmFtZSwgc2xvdCk7Ci19Ci0KLUpTVmFsdWUgKlJhbmdlQ29uc3RydWN0b3I6OmdldFZh
bHVlUHJvcGVydHkoRXhlY1N0YXRlICosIGludCB0b2tlbikgY29uc3QKLXsKLSAgcmV0dXJuIGpz
TnVtYmVyKHRva2VuKTsKLX0KLQotSlNWYWx1ZSAqZ2V0UmFuZ2VDb25zdHJ1Y3RvcihFeGVjU3Rh
dGUgKmV4ZWMpCi17Ci0gIHJldHVybiBjYWNoZUdsb2JhbE9iamVjdDxSYW5nZUNvbnN0cnVjdG9y
PihleGVjLCAiW1tyYW5nZS5jb25zdHJ1Y3Rvcl1dIik7Ci19Ci0KLQotUmFuZ2UgKnRvUmFuZ2Uo
SlNWYWx1ZSAqdmFsKQotewotICBpZiAoIXZhbCB8fCAhdmFsLT5pc09iamVjdCgmRE9NUmFuZ2U6
OmluZm8pKQotICAgIHJldHVybiAwOwotICByZXR1cm4gc3RhdGljX2Nhc3Q8RE9NUmFuZ2UgKj4o
dmFsKS0+aW1wbCgpOwotfQotCi19CkluZGV4OiBraHRtbC9lY21hL2tqc19yYW5nZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIGtodG1sL2VjbWEva2pzX3JhbmdlLmgJKHJldmlzaW9uIDEzMzk2KQorKysga2h0
bWwvZWNtYS9ranNfcmFuZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMSw3MSArMCwwIEBACi0vLyAt
Ki0gYy1iYXNpYy1vZmZzZXQ6IDIgLSotCi0vKgotICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRo
ZSBLREUgbGlicmFyaWVzCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAxIFBldGVyIEtlbGx5IChwbWtA
cG9zdC5jb20pCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiAgdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoK
LSAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKLSAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiAgTGVzc2VyIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogIExp
Y2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg
U29mdHdhcmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMz
MCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCi0gKi8KLQotI2lmbmRlZiBfS0pTX1JBTkdF
X0hfCi0jZGVmaW5lIF9LSlNfUkFOR0VfSF8KLQotI2luY2x1ZGUgImVjbWEva2pzX2RvbS5oIgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgUmFuZ2U7Ci19Ci0KLW5hbWVzcGFjZSBL
SlMgewotCi0gIGNsYXNzIERPTVJhbmdlIDogcHVibGljIERPTU9iamVjdCB7Ci0gIHB1YmxpYzoK
LSAgICBET01SYW5nZShFeGVjU3RhdGUgKmV4ZWMsIFdlYkNvcmU6OlJhbmdlICpyKTsKLSAgICB+
RE9NUmFuZ2UoKTsKLSAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0
ZSAqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7Ci0gICAgSlNWYWx1ZSAqZ2V0
VmFsdWVQcm9wZXJ0eShFeGVjU3RhdGUgKmV4ZWMsIGludCB0b2tlbikgY29uc3Q7Ci0gICAgLy8g
bm8gcHV0IC0gYWxsIHJlYWQtb25seQotICAgIHZpcnR1YWwgY29uc3QgQ2xhc3NJbmZvKiBjbGFz
c0luZm8oKSBjb25zdCB7IHJldHVybiAmaW5mbzsgfQotICAgIHN0YXRpYyBjb25zdCBDbGFzc0lu
Zm8gaW5mbzsKLSAgICBlbnVtIHsgU3RhcnRDb250YWluZXIsIFN0YXJ0T2Zmc2V0LCBFbmRDb250
YWluZXIsIEVuZE9mZnNldCwgQ29sbGFwc2VkLAotICAgICAgICAgICBDb21tb25BbmNlc3RvckNv
bnRhaW5lciwKLSAgICAgICAgICAgU2V0U3RhcnQsIFNldEVuZCwgU2V0U3RhcnRCZWZvcmUsIFNl
dFN0YXJ0QWZ0ZXIsIFNldEVuZEJlZm9yZSwKLSAgICAgICAgICAgU2V0RW5kQWZ0ZXIsIENvbGxh
cHNlLCBTZWxlY3ROb2RlLCBTZWxlY3ROb2RlQ29udGVudHMsCi0gICAgICAgICAgIENvbXBhcmVC
b3VuZGFyeVBvaW50cywgRGVsZXRlQ29udGVudHMsIEV4dHJhY3RDb250ZW50cywKLSAgICAgICAg
ICAgQ2xvbmVDb250ZW50cywgSW5zZXJ0Tm9kZSwgU3Vycm91bmRDb250ZW50cywgQ2xvbmVSYW5n
ZSwgVG9TdHJpbmcsCi0gICAgICAgICAgIERldGFjaCwgQ3JlYXRlQ29udGV4dHVhbEZyYWdtZW50
IH07Ci0gICAgV2ViQ29yZTo6UmFuZ2UgKmltcGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGwuZ2V0
KCk7IH0KLSAgcHJpdmF0ZToKLSAgICBSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IG1faW1wbDsKLX07
Ci0KLSAgLy8gQ29uc3RydWN0b3Igb2JqZWN0IFJhbmdlCi0gIGNsYXNzIFJhbmdlQ29uc3RydWN0
b3IgOiBwdWJsaWMgRE9NT2JqZWN0IHsKLSAgcHVibGljOgotICAgIFJhbmdlQ29uc3RydWN0b3Io
RXhlY1N0YXRlICopIHsgfQotICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoRXhl
Y1N0YXRlICosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eVNsb3QmKTsKLSAgICBKU1ZhbHVl
ICpnZXRWYWx1ZVByb3BlcnR5KEV4ZWNTdGF0ZSAqLCBpbnQgdG9rZW4pIGNvbnN0OwotICAgIC8v
IG5vIHB1dCAtIGFsbCByZWFkLW9ubHkKLSAgICB2aXJ0dWFsIGNvbnN0IENsYXNzSW5mbyogY2xh
c3NJbmZvKCkgY29uc3QgeyByZXR1cm4gJmluZm87IH0KLSAgICBzdGF0aWMgY29uc3QgQ2xhc3NJ
bmZvIGluZm87Ci0gIH07Ci0KLSAgSlNWYWx1ZSogdG9KUyhFeGVjU3RhdGUqLCBXZWJDb3JlOjpS
YW5nZSopOwotICBKU1ZhbHVlICpnZXRSYW5nZUNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSAqZXhlYyk7
Ci0KLSAgV2ViQ29yZTo6UmFuZ2UgKnRvUmFuZ2UoSlNWYWx1ZSAqKTsgLy8gcmV0dXJucyAwIGlm
IHRoZSB2YWx1ZSBpcyBub3QgYSBET01SYW5nZSBvYmplY3QKLQotfSAvLyBuYW1lc3BhY2UKLQot
I2VuZGlmCkluZGV4OiBraHRtbC9lY21hL2tqc193aW5kb3cuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGto
dG1sL2VjbWEva2pzX3dpbmRvdy5jcHAJKHJldmlzaW9uIDEzMzk2KQorKysga2h0bWwvZWNtYS9r
anNfd2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsMjMgKzI2LDI2IEBACiAjaW5jbHVk
ZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcu
aCIKKyNpbmNsdWRlICJIVE1MRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJKU0RPTVBhcnNlci5oIgog
I2luY2x1ZGUgIkpTTXV0YXRpb25FdmVudC5oIgorI2luY2x1ZGUgIkpTUmFuZ2UuaCIKICNpbmNs
dWRlICJKU1hNTEh0dHBSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSlNYTUxTZXJpYWxpemVyLmgiCiAj
aW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgogI2luY2x1ZGUgIlBsdWdJbkluZm9TdG9yZS5oIgorI2luY2x1ZGUgIlBvc2l0
aW9uLmgiCisjaW5jbHVkZSAiUmFuZ2UuaCIKKyNpbmNsdWRlICJSZW5kZXJDYW52YXMuaCIKICNp
bmNsdWRlICJTY3JlZW4uaCIKICNpbmNsdWRlICJTZWxlY3Rpb25Db250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiU2hhcmVkLmgiCiAjaW5jbHVkZSAiY3NzX3J1bGVpbXBsLmgiCiAjaW5jbHVkZSAiY3Nz
X3N0eWxlc2hlZXRpbXBsLmgiCiAjaW5jbHVkZSAiZG9tMl9ldmVudHNpbXBsLmgiCi0jaW5jbHVk
ZSAiUmFuZ2UuaCIKICNpbmNsdWRlICJkb21fZWxlbWVudGltcGwuaCIKLSNpbmNsdWRlICJQb3Np
dGlvbi5oIgotI2luY2x1ZGUgIkpTRE9NUGFyc2VyLmgiCi0jaW5jbHVkZSAiSFRNTERvY3VtZW50
LmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKICNpbmNsdWRlICJraHRtbF9zZXR0aW5ncy5o
IgogI2luY2x1ZGUgImtqc19jc3MuaCIKQEAgLTUwLDEwICs1Myw3IEBACiAjaW5jbHVkZSAia2pz
X2h0bWwuaCIKICNpbmNsdWRlICJranNfbmF2aWdhdG9yLmgiCiAjaW5jbHVkZSAia2pzX3Byb3h5
LmgiCi0jaW5jbHVkZSAia2pzX3JhbmdlLmgiCiAjaW5jbHVkZSAia2pzX3RyYXZlcnNhbC5oIgot
I2luY2x1ZGUgIlJlbmRlckNhbnZhcy5oIgotI2luY2x1ZGUgIkpTWE1MU2VyaWFsaXplci5oIgog
I2luY2x1ZGUgPGtqcy9jb2xsZWN0b3IuaD4KIAogI2lmIEtIVE1MX1hTTFQKQEAgLTY2OCw3ICs2
NjgsNyBAQAogICAgIGNhc2UgTm9kZToKICAgICAgIHJldHVybiBnZXROb2RlQ29uc3RydWN0b3Io
ZXhlYyk7CiAgICAgY2FzZSBSYW5nZToKLSAgICAgIHJldHVybiBnZXRSYW5nZUNvbnN0cnVjdG9y
KGV4ZWMpOworICAgICAgcmV0dXJuIEpTUmFuZ2U6OmdldENvbnN0cnVjdG9yKGV4ZWMpOwogICAg
IGNhc2UgTm9kZUZpbHRlcjoKICAgICAgIHJldHVybiBnZXROb2RlRmlsdGVyQ29uc3RydWN0b3Io
ZXhlYyk7CiAgICAgY2FzZSBET01FeGNlcHRpb246CkluZGV4OiBraHRtbC9lY21hL2tqc19kb20u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIGtodG1sL2VjbWEva2pzX2RvbS5jcHAJKHJldmlzaW9uIDEzMzk3
KQorKysga2h0bWwvZWNtYS9ranNfZG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYs
NyBAQAogI2luY2x1ZGUgIkpTRW50aXR5LmgiCiAjaW5jbHVkZSAiSlNOb3RhdGlvbi5oIgogI2lu
Y2x1ZGUgIkpTUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgiCisjaW5jbHVkZSAiSlNSYW5nZS5oIgog
I2luY2x1ZGUgIkpTVGV4dC5oIgogI2luY2x1ZGUgImNzc19ydWxlaW1wbC5oIgogI2luY2x1ZGUg
ImNzc19zdHlsZXNoZWV0aW1wbC5oIgpAQCAtNTAsNyArNTEsNiBAQAogI2luY2x1ZGUgImtqc19j
c3MuaCIKICNpbmNsdWRlICJranNfZXZlbnRzLmgiCiAjaW5jbHVkZSAia2pzX2h0bWwuaCIKLSNp
bmNsdWRlICJranNfcmFuZ2UuaCIKICNpbmNsdWRlICJranNfdHJhdmVyc2FsLmgiCiAjaW5jbHVk
ZSAia2pzX3ZpZXdzLmgiCiAjaW5jbHVkZSAia2pzX3dpbmRvdy5oIgpJbmRleDogYmluZGluZ3Mv
c2NyaXB0cy9JRExQYXJzZXIucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gYmluZGluZ3Mvc2NyaXB0cy9JRExQ
YXJzZXIucG0JKHJldmlzaW9uIDEzMzk2KQorKysgYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIu
cG0JKHdvcmtpbmcgY29weSkKQEAgLTI0OSw5ICsyNDksMTIgQEAKICAgICAgICAgICAKICAgICAg
ICAgKCcnID1+IC9eLyk7ICMgUmVzZXQgdmFyaWFibGVzIG5lZWRlZCBmb3IgcmVnZXhwIG1hdGNo
aW5nCiAgICAgICAgIAotICAgICAgICAkbGluZSA9fiAvJElETFN0cnVjdHVyZTo6cmFpc2VzU2Vs
ZWN0b3IvOwotICAgICAgICBteSAkYXR0cmlidXRlRXhjZXB0aW9uID0gKGRlZmluZWQoJDEpID8g
JDEgOiAiIik7CisgICAgICAgICRsaW5lID1+IC8kSURMU3RydWN0dXJlOjpnZXR0ZXJSYWlzZXNT
ZWxlY3Rvci87CisgICAgICAgIG15ICRnZXR0ZXJFeGNlcHRpb24gPSAoZGVmaW5lZCgkMSkgPyAk
MSA6ICIiKTsKICAgICAgIAorICAgICAgICAkbGluZSA9fiAvJElETFN0cnVjdHVyZTo6c2V0dGVy
UmFpc2VzU2VsZWN0b3IvOworICAgICAgICBteSAkc2V0dGVyRXhjZXB0aW9uID0gKGRlZmluZWQo
JDEpID8gJDEgOiAiIik7CisgICAgICAKICAgICAgICAgbXkgJG5ld0RhdGFOb2RlID0gbmV3IGRv
bUF0dHJpYnV0ZSgpOwogICAgICAgICAkbmV3RGF0YU5vZGUtPnR5cGUoJGF0dHJpYnV0ZVR5cGUp
OwogICAgICAgICAkbmV3RGF0YU5vZGUtPnNpZ25hdHVyZShuZXcgZG9tU2lnbmF0dXJlKCkpOwpA
QCAtMjYzLDExICsyNjYsMTMgQEAKICAgICAgICAgbXkgJGFycmF5UmVmID0gJGRhdGFOb2RlLT5h
dHRyaWJ1dGVzOwogICAgICAgICBwdXNoKEAkYXJyYXlSZWYsICRuZXdEYXRhTm9kZSk7CiAKLSAg
ICAgICAgcHJpbnQgIiAgfCAgfD4gIEF0dHJpYnV0ZTsgVFlQRSBcIiRhdHRyaWJ1dGVUeXBlXCIg
REFUQSBOQU1FIFwiJGF0dHJpYnV0ZURhdGFOYW1lXCIgREFUQSBUWVBFIFwiJGF0dHJpYnV0ZURh
dGFUeXBlXCIgRVhDRVBUSU9OPyBcIiRhdHRyaWJ1dGVFeGNlcHRpb25cIiIgLgorICAgICAgICBw
cmludCAiICB8ICB8PiAgQXR0cmlidXRlOyBUWVBFIFwiJGF0dHJpYnV0ZVR5cGVcIiBEQVRBIE5B
TUUgXCIkYXR0cmlidXRlRGF0YU5hbWVcIiBEQVRBIFRZUEUgXCIkYXR0cmlidXRlRGF0YVR5cGVc
IiBHRVQgRVhDRVBUSU9OPyBcIiRnZXR0ZXJFeGNlcHRpb25cIiBTRVQgRVhDRVBUSU9OPyBcIiRz
ZXR0ZXJFeGNlcHRpb25cIiIgLgogICAgICAgICAgICAgICBkdW1wRXh0ZW5kZWRBdHRyaWJ1dGVz
KCJcbiAgfCAgICAgICAgICAgICAgICAgIiwgJG5ld0RhdGFOb2RlLT5zaWduYXR1cmUtPmV4dGVu
ZGVkQXR0cmlidXRlcykgLiAiXG4iIGlmKCEkYmVRdWlldCk7CiAKLSAgICAgICAgJGF0dHJpYnV0
ZUV4Y2VwdGlvbiA9fiBzL1xzKy8vZzsKLSAgICAgICAgQHskbmV3RGF0YU5vZGUtPnJhaXNlc0V4
Y2VwdGlvbnN9ID0gc3BsaXQoLywvLCAkYXR0cmlidXRlRXhjZXB0aW9uKTsKKyAgICAgICAgJGdl
dHRlckV4Y2VwdGlvbiA9fiBzL1xzKy8vZzsKKyAgICAgICAgJHNldHRlckV4Y2VwdGlvbiA9fiBz
L1xzKy8vZzsKKyAgICAgICAgQHskbmV3RGF0YU5vZGUtPmdldHRlckV4Y2VwdGlvbnN9ID0gc3Bs
aXQoLywvLCAkZ2V0dGVyRXhjZXB0aW9uKTsKKyAgICAgICAgQHskbmV3RGF0YU5vZGUtPnNldHRl
ckV4Y2VwdGlvbnN9ID0gc3BsaXQoLywvLCAkc2V0dGVyRXhjZXB0aW9uKTsKICAgICAgIH0gZWxz
aWYoKCRsaW5lICF+IHMvXlxzKiQvL2cpIGFuZCAoJGxpbmUgIX4gL15ccytjb25zdC8pKSB7CiAg
ICAgICAgICRsaW5lID1+IC8kSURMU3RydWN0dXJlOjppbnRlcmZhY2VNZXRob2RTZWxlY3Rvci8g
b3IgZGllICJQYXJzaW5nIGVycm9yIVxuU291cmNlOlxuJGxpbmVcbikiOwogCkluZGV4OiBiaW5k
aW5ncy9zY3JpcHRzL0lETFN0cnVjdHVyZS5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBiaW5kaW5ncy9zY3Jp
cHRzL0lETFN0cnVjdHVyZS5wbQkocmV2aXNpb24gMTMzOTYpCisrKyBiaW5kaW5ncy9zY3JpcHRz
L0lETFN0cnVjdHVyZS5wbQkod29ya2luZyBjb3B5KQpAQCAtNDksMTIgKzQ5LDEyIEBACiAgICAg
cmFpc2VzRXhjZXB0aW9ucyA9PiAnQCcsICAjIFBvc3NpYmx5IHJhaXNlZCBleGNlcHRpb25zLgog
fSk7CiAKLSMgVXNlZCB0byByZXByZXNlbnQgZG9tQ2xhc3MgY29udGVudHMgKG5hbWUgb2YgbWV0
aG9kLCBzaWduYXR1cmUpCisjIFVzZWQgdG8gcmVwcmVzZW50IGRvbUNsYXNzIGNvbnRlbnRzIChu
YW1lIG9mIGF0dHJpYnV0ZSwgc2lnbmF0dXJlKQogc3RydWN0KCBkb21BdHRyaWJ1dGUgPT4gewog
ICAgIHR5cGUgPT4gJyQnLCAgICAgICAgICAgICAgIyBBdHRyaWJ1dGUgdHlwZSAoaW5jbHVkaW5n
IG5hbWVzcGFjZSkKLSAgICBzaWduYXR1cmUgPT4gJyQnLCAgICAgICAgICAjIEF0dHJpYnV0ZSBz
aWduYXR1cmUKLSAgICBleGNlcHRpb25OYW1lID0+ICckJywgICAgICAjIE5hbWUgb2YgZXhjZXB0
aW9uCi0gICAgcmFpc2VzRXhjZXB0aW9ucyA9PiAnQCcsICAjIFBvc3NpYmx5IHJhaXNlZCBleGNl
cHRpb25zLgorICAgIHNpZ25hdHVyZSA9PiAnJCcsICAgICAgICAgIyBBdHRyaWJ1dGUgc2lnbmF0
dXJlCisgICAgZ2V0dGVyRXhjZXB0aW9ucyA9PiAnQCcsICAjIFBvc3NpYmx5IHJhaXNlZCBleGNl
cHRpb25zLgorICAgIHNldHRlckV4Y2VwdGlvbnMgPT4gJ0AnLCAgIyBQb3NzaWJseSByYWlzZWQg
ZXhjZXB0aW9ucy4KIH0pOwogCiAjIFVzZWQgdG8gcmVwcmVzZW50IGEgbWFwIG9mICd2YXJpYWJs
ZSBuYW1lJyA8LT4gJ3ZhcmlhYmxlIHR5cGUnCkBAIC05MCw2ICs5MCw4IEBACiAkbW9kdWxlTlNT
ZWxlY3RvciA9ICdtb2R1bGVccyooJyAuICRpZGxJZCAuICcqKVxzKlxbbnNccyooJyAuICRpZGxJ
ZE5zIC4gJyopXHMqKCcgLiAkaWRsSWROcyAuICcqKVxdXHMqOyc7CiAkY29uc3RhbnRTZWxlY3Rv
ciA9ICdjb25zdFxzKicgLiAkc3VwcG9ydGVkVHlwZXMgLiAnXHMqKCcgLiAkaWRsVHlwZSAuICcq
KVxzKj1ccyooJyAuICRpZGxUeXBlIC4gJyopJzsKICRyYWlzZXNTZWxlY3RvciA9ICdyYWlzZXNc
cypcKCgnIC4gJGlkbElkTnNMaXN0IC4gJyopXHMqXCknOworJGdldHRlclJhaXNlc1NlbGVjdG9y
ID0gJ1xiZ2V0dGVyXHMrcmFpc2VzXHMqXCgoJyAuICRpZGxJZE5zTGlzdCAuICcqKVxzKlwpJzsK
KyRzZXR0ZXJSYWlzZXNTZWxlY3RvciA9ICdcYnNldHRlclxzK3JhaXNlc1xzKlwoKCcgLiAkaWRs
SWROc0xpc3QgLiAnKilccypcKSc7CiAKICR0eXBlTmFtZXNwYWNlU2VsZWN0b3IgPSAnKCg/Oicg
LiAkaWRsSWQgLiAnKjo6KSopXHMqKCcgLiAkaWRsRGF0YVR5cGUgLiAnKiknOwogCkluZGV4OiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBiaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkocmV2aXNpb24gMTMzOTYpCisrKyBiaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5KQpAQCAtMTg1LDcgKzE4
NSwxMCBAQAogICAgICAgJHR5cGUgZXEgIkRPTUltcGxlbWVudGF0aW9uIiBvcgogICAgICAgJHR5
cGUgZXEgIk5vZGVMaXN0IiBvciAKICAgICAgICR0eXBlIGVxICJUZXh0IiBvciAKLSAgICAgICR0
eXBlIGVxICJDaGFyYWN0ZXJEYXRhIikgeworICAgICAgJHR5cGUgZXEgIkNoYXJhY3RlckRhdGEi
IG9yCisgICAgICAkdHlwZSBlcSAiQ2FudmFzUGF0dGVybiIgb3IKKyAgICAgICR0eXBlIGVxICJS
YW5nZSIgb3IKKyAgICAgICR0eXBlIGVxICJEb2N1bWVudEZyYWdtZW50IikgewogICAgICRpbXBs
SW5jbHVkZXN7IiR7dHlwZX0uaCJ9ID0gMTsKICAgfSBlbHNpZiAoJHR5cGUgZXEgIkF0dHIiIG9y
CiAgICAgICAgICAgICR0eXBlIGVxICJFbGVtZW50IikgewpAQCAtMjA5LDggKzIxMiw2IEBACiAg
IH0gZWxzaWYgKCR0eXBlIGVxICJDYW52YXNHcmFkaWVudCIpIHsKICAgICAkaW1wbEluY2x1ZGVz
eyJDYW52YXNHcmFkaWVudC5oIn0gPSAxOwogICAgICRpbXBsSW5jbHVkZXN7IlBsYXRmb3JtU3Ry
aW5nLmgifSA9IDE7Ci0gIH0gZWxzaWYgKCR0eXBlIGVxICJDYW52YXNQYXR0ZXJuIikgewotICAg
ICRpbXBsSW5jbHVkZXN7IiR0eXBlLmgifSA9IDE7CiAgIH0gZWxzaWYgKCRjb2RlR2VuZXJhdG9y
LT5Jc1ByaW1pdGl2ZVR5cGUoJHR5cGUpIG9yCiAgICAgICAgICAgICR0eXBlIGVxICJET01TdHJp
bmciKSB7CiAgICAgIyBEbyBub3RoaW5nCkBAIC0yNDAsOCArMjQxLDYgQEAKICAgbXkgJGludGVy
ZmFjZU5hbWUgPSAkZGF0YU5vZGUtPm5hbWU7CiAgIG15ICRjbGFzc05hbWUgPSAiSlMkaW50ZXJm
YWNlTmFtZSI7CiAgIG15ICRpbXBsQ2xhc3NOYW1lID0gJGludGVyZmFjZU5hbWU7Ci0gICMgQ2Fu
dmFzIGNsYXNzZXMgZG9uJ3QgaGF2ZSBJbXBsIHN1ZmZpeCAocmVtb3ZlIHRoaXMgd2hlbiByZW1v
dmluZyB0aGUgSW1wbCBzdWZmaXggZWxzZXdoZXJlKS4KLSAgJGltcGxDbGFzc05hbWUgPSAkaW50
ZXJmYWNlTmFtZSBpZiAkaW50ZXJmYWNlTmFtZSA9fiAvXkNhbnZhcy87CiAgIAogICAjIEZJWE1F
OiBJZiB3ZSdyZSBzdXJlIHRoYXQgYW4gaW50ZXJmYWNlIGNhbid0IGhhdmUgbW9yZSB0aGFuCiAg
ICMgb25lIHBhcmVudCB3ZSBjYW4gZG8gdGhlIGNoZWNrIGluIHRoZSBwYXJzZXIgaW5zdGVhZApA
QCAtMzc4LDcgKzM3Nyw4IEBACiAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJ9O1xuXG4iKTsKICAg
CiAgIGlmICghJGhhc1BhcmVudCkgewotICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJLSlM6OkpT
VmFsdWUqIHRvSlMoS0pTOjpFeGVjU3RhdGUqLCAkaW1wbENsYXNzTmFtZSopO1xuXG4iKTsKKyAg
ICBwdXNoKEBoZWFkZXJDb250ZW50LCAiS0pTOjpKU1ZhbHVlKiB0b0pTKEtKUzo6RXhlY1N0YXRl
KiwgJGltcGxDbGFzc05hbWUqKTtcbiIpOworICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIkaW1w
bENsYXNzTmFtZSogdG8ke2ludGVyZmFjZU5hbWV9KEtKUzo6SlNWYWx1ZSopO1xuXG4iKTsKICAg
fQogCiAgICMgQWRkIHByb3RvdHlwZSBkZWNsYXJhdGlvbgpAQCAtNDAxLDggKzQwMSw2IEBACiAg
IG15ICRpbnRlcmZhY2VOYW1lID0gJGRhdGFOb2RlLT5uYW1lOwogICBteSAkY2xhc3NOYW1lID0g
IkpTJGludGVyZmFjZU5hbWUiOwogICBteSAkaW1wbENsYXNzTmFtZSA9ICRpbnRlcmZhY2VOYW1l
OwotICAjIENhbnZhcyBjbGFzc2VzIGRvbid0IGhhdmUgSW1wbCBzdWZmaXggKHJlbW92ZSB0aGlz
IHdoZW4gcmVtb3ZpbmcgdGhlIEltcGwgc3VmZml4IGVsc2V3aGVyZSkuCi0gICRpbXBsQ2xhc3NO
YW1lID0gJGludGVyZmFjZU5hbWUgaWYgJGludGVyZmFjZU5hbWUgPX4gL15DYW52YXMvOwogICAK
ICAgbXkgJGhhc0xlZ2FjeVBhcmVudCA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkxlZ2FjeVBhcmVudCJ9OwogICBteSAkaGFzUmVhbFBhcmVudCA9IEB7JGRhdGFOb2RlLT5wYXJl
bnRzfSA+IDA7CkBAIC01ODYsMjUgKzU4NCwyNiBAQAogICAgIGZvcmVhY2ggbXkgJGF0dHJpYnV0
ZSAoQHskZGF0YU5vZGUtPmF0dHJpYnV0ZXN9KSB7CiAgICAgICBteSAkbmFtZSA9ICRhdHRyaWJ1
dGUtPnNpZ25hdHVyZS0+bmFtZTsKICAgCi0gICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBj
YXNlICIgLiB1Y2ZpcnN0KCRuYW1lKSAuICI6XG4iKTsKLSAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgICAgICByZXR1cm4gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1
cmUsICJpbXBsLT4kbmFtZSgpIikgLiAiO1xuIik7CisgICAgICBpZiAoIUB7JGF0dHJpYnV0ZS0+
Z2V0dGVyRXhjZXB0aW9uc30pIHsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgY2Fz
ZSAiIC4gdWNmaXJzdCgkbmFtZSkgLiAiOlxuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgICAgICByZXR1cm4gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1
cmUsICJpbXBsLT4kbmFtZSgpIikgLiAiO1xuIik7CisgICAgICB9IGVsc2UgeworICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICBjYXNlICIgLiB1Y2ZpcnN0KCRuYW1lKSAuIjoge1xuIik7
CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0g
MDtcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgS0pTOjpKU1ZhbHVl
KiByZXN1bHQgPSAiIC4gTmF0aXZlVG9KU1ZhbHVlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgImlt
cGwtPiRuYW1lKGVjKSIpIC4gIjtcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTtcbiIpOworICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiIpOworICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICB9XG4iKTsKKyAgICAgIH0KICAgICB9CiAKLSAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICB9XG4gICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7XG59XG5cbiIpOworICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIH1cbiAgICByZXR1cm4gMDtcbn1cblxuIik7CiAgICAgCi0g
ICAgIyBDaGVjayBpZiB3ZSBoYXZlIGFueSB3cml0YWJsZSBhdHRyaWJ1dGVzIGFuZCBpZiB0aGV5
IHJhaXNlIGV4Y2VwdGlvbnMKKyAgICAjIENoZWNrIGlmIHdlIGhhdmUgYW55IHdyaXRhYmxlIGF0
dHJpYnV0ZXMKICAgICBteSAkaGFzUmVhZFdyaXRlUHJvcGVydGllcyA9IDA7Ci0gICAgbXkgJHJh
aXNlc0V4Y2VwdGlvbnMgPSAwOwogICAgIGZvcmVhY2ggbXkgJGF0dHJpYnV0ZSAoQHskZGF0YU5v
ZGUtPmF0dHJpYnV0ZXN9KSB7Ci0gICAgICBpZigkYXR0cmlidXRlLT50eXBlICF+IC9ecmVhZG9u
bHlcIGF0dHJpYnV0ZSQvKSB7Ci0gICAgICAgICRoYXNSZWFkV3JpdGVQcm9wZXJ0aWVzID0gMTsK
LQotICAgICAgICBpZiAoQHskYXR0cmlidXRlLT5yYWlzZXNFeGNlcHRpb25zfSkgewotICAgICAg
ICAgICRyYWlzZXNFeGNlcHRpb25zID0gMTsKLSAgICAgICAgfQotICAgICAgfQorICAgICAgJGhh
c1JlYWRXcml0ZVByb3BlcnRpZXMgPSAxIGlmICRhdHRyaWJ1dGUtPnR5cGUgIX4gL15yZWFkb25s
eS87CiAgICAgfQotICAgIAogICAgIGlmICgkaGFzUmVhZFdyaXRlUHJvcGVydGllcykgewogICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICJ2b2lkICR7Y2xhc3NOYW1lfTo6cHV0KEV4ZWNTdGF0ZSog
ZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlKiB2YWx1ZSwgaW50
IGF0dHIpXG4iKTsKICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuICAgIGxvb2t1cFB1dDwk
Y2xhc3NOYW1lLCAkcGFyZW50Q2xhc3NOYW1lPiIgLgpAQCAtNjEyLDUxICs2MTEsMzggQEAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgIHB1c2goQGltcGxDb250ZW50LCAidm9pZCAk
e2NsYXNzTmFtZX06OnB1dFZhbHVlUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4s
IEpTVmFsdWUqIHZhbHVlLCBpbnQgLyphdHRyKi8pXG4iKTsKICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAie1xuIik7Ci0gICAgICBpZiAoJHJhaXNlc0V4Y2VwdGlvbnMpIHsKLSAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgRE9NRXhjZXB0aW9uVHJhbnNsYXRvciBleGNlcHRpb24oZXhl
Yyk7XG4iKTsKLSAgICAgIH0KICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICRpbXBsQ2xh
c3NOYW1lKiBpbXBsID0gc3RhdGljX2Nhc3Q8JGltcGxDbGFzc05hbWUqPigke2NsYXNzTmFtZX06
OmltcGwoKSk7XG5cbiIpOwogICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgc3dpdGNoICh0
b2tlbikge1xuIik7CiAgICAgICAKICAgICAgIGZvcmVhY2ggbXkgJGF0dHJpYnV0ZSAoQHskZGF0
YU5vZGUtPmF0dHJpYnV0ZXN9KSB7Ci0gICAgICAgIGlmKCRhdHRyaWJ1dGUtPnR5cGUgIX4gL15y
ZWFkb25seVwgYXR0cmlidXRlJC8pIHsKKyAgICAgICAgaWYgKCRhdHRyaWJ1dGUtPnR5cGUgIX4g
L15yZWFkb25seS8pIHsKICAgICAgICAgICBteSAkbmFtZSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVy
ZS0+bmFtZTsKLSAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBjYXNlICIgLiB1Y2Zp
cnN0KCRuYW1lKSAuIjpcbiIpOworICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGNh
c2UgIiAuIHVjZmlyc3QoJG5hbWUpIC4iOiB7XG4iKTsKKyAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7XG4iKSBpZiBAeyRhdHRyaWJ1dGUt
PnNldHRlckV4Y2VwdGlvbnN9OwogICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAg
ICBpbXBsLT5zZXQiIC4gdWNmaXJzdCgkbmFtZSkgLiAiKCIgLiBKU1ZhbHVlVG9OYXRpdmUoJGF0
dHJpYnV0ZS0+c2lnbmF0dXJlLCAidmFsdWUiKSk7Ci0gICAgICAgICAgaWYgKEB7JGF0dHJpYnV0
ZS0+cmFpc2VzRXhjZXB0aW9uc30pIHsKLSAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
LCBleGNlcHRpb24iKQotICAgICAgICAgIH0KLSAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
Iik7XG4gICAgICAgIGJyZWFrO1xuIik7CisgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIs
IGVjIikgaWYgQHskYXR0cmlidXRlLT5zZXR0ZXJFeGNlcHRpb25zfTsKKyAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIik7XG4iKTsKKyAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTtcbiIpIGlmIEB7JGF0dHJpYnV0ZS0+c2V0
dGVyRXhjZXB0aW9uc307CisgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgfVxuIik7
CisgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIGJyZWFrO1xuIik7CiAgICAg
ICAgIH0KICAgICAgIH0KICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIH1cbn1cblxuIik7
ICAgICAgCiAgICAgfQogICB9CiAKLSAgICAKICAgaWYgKCRudW1Db25zdGFudHMgbmUgMCkgewog
ICAgIHB1c2goQGltcGxDb250ZW50LCAiSlNWYWx1ZSogJHtjbGFzc05hbWV9OjpnZXRDb25zdHJ1
Y3RvcihFeGVjU3RhdGUqIGV4ZWMpXG57XG4iKTsKLSAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICByZXR1cm4gY2FjaGVHbG9iYWxPYmplY3Q8JHtjbGFzc05hbWV9Q29uc3RydWN0b3I+KGV4ZWMs
IFwiW1ske2NsYXNzTmFtZX0uY29uc3RydWN0b3JdXVwiKTtcbiIpOworICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIHJldHVybiBjYWNoZUdsb2JhbE9iamVjdDwke2NsYXNzTmFtZX1Db25zdHJ1
Y3Rvcj4oZXhlYywgXCJbWyR7aW50ZXJmYWNlTmFtZX0uY29uc3RydWN0b3JdXVwiKTtcbiIpOwog
ICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuIik7CiAgIH0gICAgCiAgIAogICAjIEZ1bmN0aW9u
cwogICBpZigkbnVtRnVuY3Rpb25zIG5lIDApIHsKLSAgICBteSAkcmFpc2VzRXhjZXB0aW9ucyA9
IDA7Ci0gICAgIyBDaGVjayBpZiBhbnkgb2YgdGhlIGZ1bmN0aW9ucyB0aHJvdyBleGNlcHRpb25z
Ci0gICAgZm9yZWFjaCBteSAkZnVuY3Rpb24gKEB7JGRhdGFOb2RlLT5mdW5jdGlvbnN9KSB7Ci0g
ICAgICBpZiAoQHskZnVuY3Rpb24tPnJhaXNlc0V4Y2VwdGlvbnN9KSB7Ci0gICAgICAgICRyYWlz
ZXNFeGNlcHRpb25zID0gMTsKLSAgICAgIH0KLSAgICB9CiAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICJKU1ZhbHVlKiAke2NsYXNzTmFtZX1Qcm90b0Z1bmM6OmNhbGxBc0Z1bmN0aW9uKEV4ZWNTdGF0
ZSogZXhlYywgSlNPYmplY3QqIHRoaXNPYmosIGNvbnN0IExpc3QmIGFyZ3MpXG57XG4iKTsKICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIXRoaXNPYmotPmluaGVyaXRzKCYke2NsYXNz
TmFtZX06OmluZm8pKVxuIik7CiAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICByZXR1cm4g
dGhyb3dFcnJvcihleGVjLCBUeXBlRXJyb3IpO1xuXG4iKTsKIAotICAgIGlmICgkcmFpc2VzRXhj
ZXB0aW9ucykgewotICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgRE9NRXhjZXB0aW9uVHJh
bnNsYXRvciBleGNlcHRpb24oZXhlYyk7XG4iKTsKLSAgICB9Ci0gICAgCiAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgJGltcGxDbGFzc05hbWUqIGltcGwgPSBzdGF0aWNfY2FzdDwkaW1wbENs
YXNzTmFtZSo+KHN0YXRpY19jYXN0PCRjbGFzc05hbWUqPih0aGlzT2JqKS0+aW1wbCgpKTtcblxu
Iik7CiAgICAgCiAgICAgCkBAIC02ODAsMzMgKzY2NiwzNiBAQAogICAgICAgICAgICRpbXBsSW5j
bHVkZXN7IkV4Y2VwdGlvbkNvZGUuaCJ9ID0gMTsKICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAgICAgaWYgKCRuYW1lIDwgMCkge1xuIik7CiAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgSU5ERVhfU0laRV9FUlIp
O1xuIik7Ci0gICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgICAgICBicmVhaztc
biAgICAgICAgfVxuIik7ICAgICAgICAgIAorICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7XG4gICAgICAgIH1cbiIpOyAgICAgICAg
ICAKICAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgJGZ1bmN0aW9uU3RyaW5nIC49ICIsICIg
aWYgJHBhcmFtSW5kZXg7CisgICAgICAgICRmdW5jdGlvblN0cmluZyAuPSAkbmFtZTsKKwogICAg
ICAgICAkcGFyYW1JbmRleCsrOwotICAgICAgICAKLSAgICAgICAgaWYgKCRwYXJhbUluZGV4IDwg
JG51bVBhcmFtZXRlcnMpIHsKLSAgICAgICAgICAkZnVuY3Rpb25TdHJpbmcgLj0gIiRuYW1lLCAi
OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICRmdW5jdGlvblN0cmluZyAuPSAiJG5hbWUi
OwotICAgICAgICB9ICAgICAgICAgCiAgICAgICB9CiAgIAogICAgICAgaWYgKEB7JGZ1bmN0aW9u
LT5yYWlzZXNFeGNlcHRpb25zfSkgewotICAgICAgICAkZnVuY3Rpb25TdHJpbmcgLj0gIiwgZXhj
ZXB0aW9uKSI7Ci0gICAgICB9IGVsc2UgewotICAgICAgICAkZnVuY3Rpb25TdHJpbmcgLj0gIiki
OworICAgICAgICAkZnVuY3Rpb25TdHJpbmcgLj0gIiwgIiBpZiAkcGFyYW1JbmRleDsKKyAgICAg
ICAgJGZ1bmN0aW9uU3RyaW5nIC49ICJlYyI7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDtcbiIpOwogICAgICAgfQorICAgICAgJGZ1bmN0
aW9uU3RyaW5nIC49ICIpIjsKICAgICAgIAogICAgICAgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJl
LT50eXBlIGVxICJ2b2lkIikgewotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxuICAgICAg
ICAkZnVuY3Rpb25TdHJpbmc7XG4gICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpO1xuIik7Cisg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4gICAgICAgICRmdW5jdGlvblN0cmluZztcbiIp
OworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4
ZWMsIGVjKTtcbiIpIGlmIEB7JGZ1bmN0aW9uLT5yYWlzZXNFeGNlcHRpb25zfTsKKyAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpO1xuIik7CiAg
ICAgICB9IGVsc2UgewotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxuICAgICAgICByZXR1
cm4gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkZnVuY3Rpb24tPnNpZ25hdHVyZSwgJGZ1bmN0aW9uU3Ry
aW5nKSAuICI7XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiAgICAgICAgS0pT
OjpKU1ZhbHVlKiByZXN1bHQgPSAiIC4gTmF0aXZlVG9KU1ZhbHVlKCRmdW5jdGlvbi0+c2lnbmF0
dXJlLCAkZnVuY3Rpb25TdHJpbmcpIC4gIjtcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTtcbiIpIGlmIEB7JGZ1bmN0aW9u
LT5yYWlzZXNFeGNlcHRpb25zfTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAg
IHJldHVybiByZXN1bHQ7XG4iKTsKICAgICAgIH0KLSAgICAgIAorCiAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICB9XG4iKTsKICAgICB9CiAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
fVxuIik7Ci0gICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7
XG4iKTsKKyAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gMDtcbiIpOwogICAgIHB1
c2goQGltcGxDb250ZW50LCAifVxuIikKICAgfQogICAKQEAgLTcxNSw2ICs3MDQsMTAgQEAKICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IHJldHVybiBLSlM6OmNhY2hlRE9NT2JqZWN0PCRpbXBsQ2xhc3NOYW1lLCAkY2xhc3NOYW1lPihl
eGVjLCBvYmopO1xuIik7CiAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG4iKTsKKyAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiRpbXBsQ2xhc3NOYW1lKiB0byR7aW50ZXJmYWNlTmFtZX0oS0pTOjpK
U1ZhbHVlKiB2YWwpXG4iKTsKKyAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOworICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiB2YWwtPmlzT2JqZWN0KCYke2NsYXNzTmFtZX06
OmluZm8pID8gc3RhdGljX2Nhc3Q8JGNsYXNzTmFtZSo+KHZhbCktPmltcGwoKSA6IDA7XG4iKTsK
KyAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cbiIpOwogICB9CiAKICAgcHVzaChAaW1wbENvbnRl
bnQsICJcbn1cbiIpOwpAQCAtNzQ4LDkgKzc0MSwxMyBAQAogICAgIHJldHVybiAiU3RyaW5nIjsK
ICAgfSBlbHNpZiAoJHR5cGUgZXEgInZpZXdzOjpBYnN0cmFjdFZpZXciKSB7CiAgICAgcmV0dXJu
ICJBYnN0cmFjdFZpZXcqIjsKLSAgfSBlbHNpZiAoJHR5cGUgZXEgIk5vZGUiIG9yICR0eXBlIGVx
ICJBdHRyIiBvcgotICAgICAgICAgICAkdHlwZSBlcSAiRG9jdW1lbnRUeXBlIikgeworICB9IGVs
c2lmICgkdHlwZSBlcSAiTm9kZSIgb3IKKyAgICAgICAgICAgJHR5cGUgZXEgIkF0dHIiIG9yCisg
ICAgICAgICAgICR0eXBlIGVxICJEb2N1bWVudFR5cGUiIG9yCisgICAgICAgICAgICR0eXBlIGVx
ICJSYW5nZSIpIHsKICAgICByZXR1cm4gIiR7dHlwZX0qIjsKKyAgfSBlbHNpZiAoJHR5cGUgZXEg
IkNvbXBhcmVIb3ciKSB7CisgICAgcmV0dXJuICJSYW5nZTo6Q29tcGFyZUhvdyI7CiAgIH0gZWxz
ZSB7CiAgICAgZGllICJEb24ndCBrbm93IGhvdyB0aGUgbmF0aXZlIHR5cGUgb2YgJHR5cGUiOwog
ICB9CkBAIC03NjksNiArNzY2LDggQEAKICAgICByZXR1cm4gIiR2YWx1ZS0+dG9JbnQzMihleGVj
KSI7CiAgIH0gZWxzaWYgKCR0eXBlIGVxICJ1bnNpZ25lZCBzaG9ydCIpIHsKICAgICByZXR1cm4g
IiR2YWx1ZS0+dG9JbnQzMihleGVjKSI7CisgIH0gZWxzaWYgKCR0eXBlIGVxICJDb21wYXJlSG93
IikgeworICAgIHJldHVybiAic3RhdGljX2Nhc3Q8UmFuZ2U6OkNvbXBhcmVIb3c+KCR2YWx1ZS0+
dG9JbnQzMihleGVjKSkiOwogICB9IGVsc2lmICgkdHlwZSBlcSAiZmxvYXQiKSB7CiAgICAgcmV0
dXJuICIkdmFsdWUtPnRvTnVtYmVyKGV4ZWMpIjsKICAgfSBlbHNpZiAoJHR5cGUgZXEgIkF0b21p
Y1N0cmluZyIpIHsKQEAgLTc5MSw2ICs3OTAsOSBAQAogICB9IGVsc2lmICgkdHlwZSBlcSAiRG9j
dW1lbnRUeXBlIikgewogICAgICAgJGltcGxJbmNsdWRlc3sia2pzX2RvbS5oIn0gPSAxOwogICAg
ICAgcmV0dXJuICJ0b0RvY3VtZW50VHlwZSgkdmFsdWUpIjsKKyAgfSBlbHNpZiAoJHR5cGUgZXEg
IlJhbmdlIikgeworICAgICAgJGltcGxJbmNsdWRlc3siSlNSYW5nZS5oIn0gPSAxOworICAgICAg
cmV0dXJuICJ0b1JhbmdlKCR2YWx1ZSkiOwogICB9IGVsc2UgewogICAgIGRpZSAiRG9uJ3Qga25v
dyBob3cgdG8gY29udmVydCBhIEpTIHZhbHVlIG9mIHR5cGUgJHR5cGUuIgogICB9CkBAIC04MDUs
OCArODA3LDExIEBACiAgIAogICBpZiAoJHR5cGUgZXEgImJvb2xlYW4iKSB7CiAgICAgcmV0dXJu
ICJqc0Jvb2xlYW4oJHZhbHVlKSI7Ci0gIH0gZWxzaWYgKCR0eXBlIGVxICJsb25nIiBvciAkdHlw
ZSBlcSAidW5zaWduZWQgbG9uZyIgb3IgCi0gICAgICAgICAgICR0eXBlIGVxICJ1bnNpZ25lZCBz
aG9ydCIgb3IgJHR5cGUgZXEgImZsb2F0IikgeworICB9IGVsc2lmICgkdHlwZSBlcSAibG9uZyIg
b3IKKyAgICAgICAgICAgJHR5cGUgZXEgInVuc2lnbmVkIGxvbmciIG9yIAorICAgICAgICAgICAk
dHlwZSBlcSAic2hvcnQiIG9yIAorICAgICAgICAgICAkdHlwZSBlcSAidW5zaWduZWQgc2hvcnQi
IG9yCisgICAgICAgICAgICR0eXBlIGVxICJmbG9hdCIpIHsKICAgICByZXR1cm4gImpzTnVtYmVy
KCR2YWx1ZSkiOwogICB9IGVsc2lmICgkdHlwZSBlcSAiRE9NU3RyaW5nIikgewogICAgIG15ICRj
b252ID0gJHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnZlcnROdWxsU3RyaW5n
VG8ifTsKQEAgLTgxOSwxMCArODI0LDE0IEBACiAgICAgfSBlbHNlIHsKICAgICAgIHJldHVybiAi
anNTdHJpbmcoJHZhbHVlKSI7CiAgICAgfQotICB9IGVsc2lmICgkdHlwZSBlcSAiTm9kZSIgb3Ig
JHR5cGUgZXEgIlRleHQiIG9yCi0gICAgICAgICAgICR0eXBlIGVxICJEb2N1bWVudFR5cGUiIG9y
ICR0eXBlIGVxICJEb2N1bWVudCIgb3IKLSAgICAgICAgICAgJHR5cGUgZXEgIkhUTUxEb2N1bWVu
dCIgb3IgJHR5cGUgZXEgIkVsZW1lbnQiIG9yCi0gICAgICAgICAgICR0eXBlIGVxICJBdHRyIikg
eworICB9IGVsc2lmICgkdHlwZSBlcSAiTm9kZSIgb3IKKyAgICAgICAgICAgJHR5cGUgZXEgIlRl
eHQiIG9yCisgICAgICAgICAgICR0eXBlIGVxICJEb2N1bWVudFR5cGUiIG9yCisgICAgICAgICAg
ICR0eXBlIGVxICJEb2N1bWVudCIgb3IKKyAgICAgICAgICAgJHR5cGUgZXEgIkhUTUxEb2N1bWVu
dCIgb3IKKyAgICAgICAgICAgJHR5cGUgZXEgIkVsZW1lbnQiIG9yCisgICAgICAgICAgICR0eXBl
IGVxICJBdHRyIiBvcgorICAgICAgICAgICAkdHlwZSBlcSAiRG9jdW1lbnRGcmFnbWVudCIpIHsK
ICAgICAjIEFkZCBuZWNlc3NhcnkgaW5jbHVkZXMKICAgICAkaW1wbEluY2x1ZGVzeyJranNfZG9t
LmgifSA9IDE7CiAgICAgJGltcGxJbmNsdWRlc3siTm9kZS5oIn0gPSAxOwpAQCAtODQ4LDYgKzg1
Nyw5IEBACiAgIH0gZWxzaWYgKCR0eXBlIGVxICJDYW52YXNHcmFkaWVudCIpIHsKICAgICAkaW1w
bEluY2x1ZGVzeyJranNfaHRtbC5oIn0gPSAxOwogICAgIHJldHVybiAidG9KUyhleGVjLCAkdmFs
dWUpIjsKKyAgfSBlbHNpZiAoJHR5cGUgZXEgIlJhbmdlIikgeworICAgICRpbXBsSW5jbHVkZXN7
IkpTUmFuZ2UuaCJ9ID0gMTsKKyAgICByZXR1cm4gInRvSlMoZXhlYywgJHZhbHVlKSI7CiAgIH0g
ZWxzZSB7CiAgICAgZGllICJEb24ndCBrbm93IGhvdyB0byBjb252ZXJ0IGEgdmFsdWUgb2YgdHlw
ZSAkdHlwZSB0byBhIEpTIFZhbHVlIjsKICAgfQpJbmRleDogYmluZGluZ3MvanMvSlNET01Db3Jl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBiaW5kaW5ncy9qcy9KU0RPTUNvcmUuY3BwCShyZXZpc2lvbiAx
MzM5NikKKysrIGJpbmRpbmdzL2pzL0pTRE9NQ29yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEw
LDQgKzEwLDUgQEAKICNpbmNsdWRlICJKU0VudGl0eS5jcHAiCiAjaW5jbHVkZSAiSlNOb3RhdGlv
bi5jcHAiCiAjaW5jbHVkZSAiSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwIgorI2luY2x1ZGUg
IkpTUmFuZ2UuY3BwIgogI2luY2x1ZGUgIkpTVGV4dC5jcHAiCkluZGV4OiBkb20vUmFuZ2UuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIGRvbS9SYW5nZS5pZGwJKHJldmlzaW9uIDApCisrKyBkb20vUmFuZ2Uu
aWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjEx
MS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxlIHJhbmdlcyB7CisKKyAgICBpbnRlcmZhY2UgUmFu
Z2UgeworCisgICAgICAgIC8vIERPTSBMZXZlbCAyCisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIE5vZGUgc3RhcnRDb250YWluZXIKKyAgICAgICAgICAgIGdldHRlciByYWlzZXMgKGRvbTo6
RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgc3RhcnRPZmZz
ZXQKKyAgICAgICAgICAgIGdldHRlciByYWlzZXMgKGRvbTo6RE9NRXhjZXB0aW9uKTsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGUgZW5kQ29udGFpbmVyCisgICAgICAgICAgICBnZXR0
ZXIgcmFpc2VzIChkb206OkRPTUV4Y2VwdGlvbik7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBsb25nIGVuZE9mZnNldAorICAgICAgICAgICAgZ2V0dGVyIHJhaXNlcyAoZG9tOjpET01FeGNl
cHRpb24pOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBjb2xsYXBzZWQKKyAg
ICAgICAgICAgIGdldHRlciByYWlzZXMgKGRvbTo6RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIE5vZGUgY29tbW9uQW5jZXN0b3JDb250YWluZXIKKyAgICAgICAgICAg
IGdldHRlciByYWlzZXMgKGRvbTo6RE9NRXhjZXB0aW9uKTsKKworICAgICAgICB2b2lkIHNldFN0
YXJ0KGluIE5vZGUgcmVmTm9kZSwgCisgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyBvZmZz
ZXQpCisgICAgICAgICAgICByYWlzZXMoUmFuZ2VFeGNlcHRpb24sIGRvbTo6RE9NRXhjZXB0aW9u
KTsKKyAgICAgICAgdm9pZCBzZXRFbmQoaW4gTm9kZSByZWZOb2RlLCAKKyAgICAgICAgICAgICAg
ICAgICAgaW4gbG9uZyBvZmZzZXQpCisgICAgICAgICAgICByYWlzZXMoUmFuZ2VFeGNlcHRpb24s
IGRvbTo6RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCBzZXRTdGFydEJlZm9yZShpbiBOb2Rl
IHJlZk5vZGUpCisgICAgICAgICAgICByYWlzZXMoUmFuZ2VFeGNlcHRpb24sIGRvbTo6RE9NRXhj
ZXB0aW9uKTsKKyAgICAgICAgdm9pZCBzZXRTdGFydEFmdGVyKGluIE5vZGUgcmVmTm9kZSkKKyAg
ICAgICAgICAgIHJhaXNlcyhSYW5nZUV4Y2VwdGlvbiwgZG9tOjpET01FeGNlcHRpb24pOworICAg
ICAgICB2b2lkIHNldEVuZEJlZm9yZShpbiBOb2RlIHJlZk5vZGUpCisgICAgICAgICAgICByYWlz
ZXMoUmFuZ2VFeGNlcHRpb24sIGRvbTo6RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCBzZXRF
bmRBZnRlcihpbiBOb2RlIHJlZk5vZGUpCisgICAgICAgICAgICByYWlzZXMoUmFuZ2VFeGNlcHRp
b24sIGRvbTo6RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCBjb2xsYXBzZShpbiBib29sZWFu
IHRvU3RhcnQpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgdm9p
ZCBzZWxlY3ROb2RlKGluIE5vZGUgcmVmTm9kZSkKKyAgICAgICAgICAgIHJhaXNlcyhSYW5nZUV4
Y2VwdGlvbiwgZG9tOjpET01FeGNlcHRpb24pOworICAgICAgICB2b2lkIHNlbGVjdE5vZGVDb250
ZW50cyhpbiBOb2RlIHJlZk5vZGUpCisgICAgICAgICAgICByYWlzZXMoUmFuZ2VFeGNlcHRpb24s
IGRvbTo6RE9NRXhjZXB0aW9uKTsKKworICAgICAgICAvLyBDb21wYXJlSG93CisgICAgICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IFNUQVJUX1RPX1NUQVJUID0gMDsKKyAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgU1RBUlRfVE9fRU5EICAgPSAxOworICAgICAgICBjb25zdCB1bnNpZ25lZCBz
aG9ydCBFTkRfVE9fRU5EICAgICA9IDI7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEVO
RF9UT19TVEFSVCAgID0gMzsKKworICAgICAgICBzaG9ydCBjb21wYXJlQm91bmRhcnlQb2ludHMo
aW4gQ29tcGFyZUhvdyBob3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBSYW5nZSBzb3VyY2VSYW5nZSkKKyAgICAgICAgICAgIHJhaXNlcyhkb206OkRPTUV4Y2VwdGlv
bik7CisgICAgICAgIHZvaWQgZGVsZXRlQ29udGVudHMoKQorICAgICAgICAgICAgcmFpc2VzKGRv
bTo6RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgRG9jdW1lbnRGcmFnbWVudCBleHRyYWN0Q29udGVu
dHMoKQorICAgICAgICAgICAgcmFpc2VzKGRvbTo6RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgRG9j
dW1lbnRGcmFnbWVudCBjbG9uZUNvbnRlbnRzKCkKKyAgICAgICAgICAgIHJhaXNlcyhkb206OkRP
TUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgaW5zZXJ0Tm9kZShpbiBOb2RlIG5ld05vZGUpCisg
ICAgICAgICAgICByYWlzZXMoZG9tOjpET01FeGNlcHRpb24sIFJhbmdlRXhjZXB0aW9uKTsKKyAg
ICAgICAgdm9pZCBzdXJyb3VuZENvbnRlbnRzKGluIE5vZGUgbmV3UGFyZW50KQorICAgICAgICAg
ICAgcmFpc2VzKGRvbTo6RE9NRXhjZXB0aW9uLCBSYW5nZUV4Y2VwdGlvbik7CisgICAgICAgIFJh
bmdlIGNsb25lUmFuZ2UoKQorICAgICAgICAgICAgcmFpc2VzKGRvbTo6RE9NRXhjZXB0aW9uKTsK
KyAgICAgICAgRE9NU3RyaW5nIHRvU3RyaW5nKCkKKyAgICAgICAgICAgIHJhaXNlcyhkb206OkRP
TUV4Y2VwdGlvbik7CisKKyAgICAgICAgdm9pZCBkZXRhY2goKQorICAgICAgICAgICAgcmFpc2Vz
KGRvbTo6RE9NRXhjZXB0aW9uKTsKKworICAgIH07CisKK30KSW5kZXg6IGRvbS9BdHRyLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBkb20vQXR0ci5pZGwJKHJldmlzaW9uIDEzMzk2KQorKysgZG9tL0F0dHIu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxsXSBET01TdHJpbmcgbmFtZTsKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gc3BlY2lmaWVkOwogICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbF0gRE9NU3RyaW5nIHZhbHVlIAot
ICAgICAgICAgICAgICAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgICAgICAgICAg
ICAgICAgICAgc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIAogICAgICAgICAvLyBET00g
TGV2ZWwgMgogCkluZGV4OiBkb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBkb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbAkocmV2aXNpb24gMTMzOTYpCisrKyBk
b20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUs
NyBAQAogCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ29udmVydE51bGxTdHJpbmdUbz1O
dWxsXSBET01TdHJpbmcgdGFyZ2V0OwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZl
cnROdWxsU3RyaW5nVG89TnVsbF0gRE9NU3RyaW5nIGRhdGEKLSAgICAgICAgICAgICAgICAgICAg
IHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CiAKICAgICAgICAgLy8gaW50ZXJmYWNlIExpbmtTdHlsZSBmcm9t
IERPTSBMZXZlbCAyIFN0eWxlIFNoZWV0cwogCkluZGV4OiBkb20vQ2hhcmFjdGVyRGF0YS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gZG9tL0NoYXJhY3RlckRhdGEuaWRsCShyZXZpc2lvbiAxMzM5NikKKysr
IGRvbS9DaGFyYWN0ZXJEYXRhLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIsNyBAQAog
ICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6RE9NRXZlbnRUYXJnZXROb2RlXSBDaGFy
YWN0ZXJEYXRhIDogRXZlbnRUYXJnZXROb2RlIHsKIAogICAgICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGRhdGEKLSAgICAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAg
IHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogICAgICAgICAKSW5kZXg6IFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHJldmlzaW9uIDEzMzk3KQorKysgV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMDksNiArMjA5LDcgQEAKIAkJOTM1RkJDNDUw
OUJBMDBCOTAwRTIzMEIxIC8qIEV2ZW50TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNUZCQzQ0MDlCQTAwQjkwMEUyMzBCMSAvKiBFdmVu
dExpc3RlbmVyLmggKi87IH07CiAJCTkzNUZCQ0YyMDlCQTE0M0IwMEUyMzBCMSAvKiBFeGNlcHRp
b25Db2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
MzVGQkNGMTA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9uQ29kZS5oICovOyB9OwogCQk5MzZC
NDI0RTA5QTQzNkNEMDBCQUE4MjAgLyogU1ZHQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QzBGNkY2MDg5NzAxRjEwMEJBNTExNCAv
KiBTVkdDU1NQYXJzZXIuY3BwICovOyB9OworCQk5MzZERDAzQjA5Q0VBQzI3MDA1NkFFOEMgLyog
UmFuZ2UuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MzZERDAzQTA5Q0VBQzI3MDA1NkFFOEMgLyogUmFuZ2UuaWRsICovOyB9OwogCQk5MzdBMzZB
NzA5N0UyRTMyMDBFNEVFMkYgLyogVXNlckFnZW50U3R5bGVTaGVldHMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM3QTM2QTYwOTdFMkUzMjAwRTRF
RTJGIC8qIFVzZXJBZ2VudFN0eWxlU2hlZXRzLmNwcCAqLzsgfTsKIAkJOTM4MEY0NzMwOUExMUFC
NDAwMUZEQjM0IC8qIFdpZGdldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5MzgwRjQ3MTA5QTExQUI0MDAxRkRCMzQgLyogV2lkZ2V0LmNwcCAqLzsg
fTsKIAkJOTM4MEY0NzQwOUExMUFCNDAwMUZEQjM0IC8qIFdpZGdldC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM4MEY0NzIwOUExMUFCNDAwMUZEQjM0
IC8qIFdpZGdldC5oICovOyB9OwpAQCAtMjU2LDcgKzI1Nyw2IEBACiAJCTkzRjE5OEQ1MDgyNDVF
NTkwMDFFOUFCQyAvKiBranNfaHRtbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjUyM0QyMDAwMkRFNDM2OTAxODYzNUNBIC8qIGtqc19odG1sLmggKi87
IH07CiAJCTkzRjE5OEQ3MDgyNDVFNTkwMDFFOUFCQyAvKiBranNfbmF2aWdhdG9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTIzRDIwMzAyREU0MzY5
MDE4NjM1Q0EgLyoga2pzX25hdmlnYXRvci5oICovOyB9OwogCQk5M0YxOThEOTA4MjQ1RTU5MDAx
RTlBQkMgLyoga2pzX3Byb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNTIzRDIwNjAyREU0MzY5MDE4NjM1Q0EgLyoga2pzX3Byb3h5LmggKi87IH07
Ci0JCTkzRjE5OERBMDgyNDVFNTkwMDFFOUFCQyAvKiBranNfcmFuZ2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1MjNEMjA4MDJERTQzNjkwMTg2MzVD
QSAvKiBranNfcmFuZ2UuaCAqLzsgfTsKIAkJOTNGMTk4REMwODI0NUU1OTAwMUU5QUJDIC8qIGtq
c190cmF2ZXJzYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY1MjNEMjBCMDJERTQzNjkwMTg2MzVDQSAvKiBranNfdHJhdmVyc2FsLmggKi87IH07CiAJ
CTkzRjE5OERFMDgyNDVFNTkwMDFFOUFCQyAvKiBranNfdmlld3MuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1MjNEMjBFMDJERTQzNjkwMTg2MzVDQSAv
KiBranNfdmlld3MuaCAqLzsgfTsKIAkJOTNGMTk4RTAwODI0NUU1OTAwMUU5QUJDIC8qIGtqc193
aW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1
MjNEMjExMDJERTQzNjkwMTg2MzVDQSAvKiBranNfd2luZG93LmggKi87IH07CkBAIC0zODMsNyAr
MzgzLDYgQEAKIAkJOTNGMTlBODcwODI0NUU1OTAwMUU5QUJDIC8qIGtqc19odG1sLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1MjNEMUZGMDJERTQz
NjkwMTg2MzVDQSAvKiBranNfaHRtbC5jcHAgKi87IH07CiAJCTkzRjE5QTg4MDgyNDVFNTkwMDFF
OUFCQyAvKiBranNfbmF2aWdhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEY1MjNEMjAyMDJERTQzNjkwMTg2MzVDQSAvKiBranNfbmF2aWdhdG9y
LmNwcCAqLzsgfTsKIAkJOTNGMTlBODkwODI0NUU1OTAwMUU5QUJDIC8qIGtqc19wcm94eS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTIzRDIwNTAy
REU0MzY5MDE4NjM1Q0EgLyoga2pzX3Byb3h5LmNwcCAqLzsgfTsKLQkJOTNGMTlBOEEwODI0NUU1
OTAwMUU5QUJDIC8qIGtqc19yYW5nZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGNTIzRDIwNzAyREU0MzY5MDE4NjM1Q0EgLyoga2pzX3JhbmdlLmNw
cCAqLzsgfTsKIAkJOTNGMTlBOEIwODI0NUU1OTAwMUU5QUJDIC8qIGtqc190cmF2ZXJzYWwuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjUyM0QyMEEw
MkRFNDM2OTAxODYzNUNBIC8qIGtqc190cmF2ZXJzYWwuY3BwICovOyB9OwogCQk5M0YxOUE4QzA4
MjQ1RTU5MDAxRTlBQkMgLyoga2pzX3ZpZXdzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1MjNEMjBEMDJERTQzNjkwMTg2MzVDQSAvKiBranNfdmll
d3MuY3BwICovOyB9OwogCQk5M0YxOUE4RDA4MjQ1RTU5MDAxRTlBQkMgLyoga2pzX3dpbmRvdy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTIzRDIx
MDAyREU0MzY5MDE4NjM1Q0EgLyoga2pzX3dpbmRvdy5jcHAgKi87IH07CkBAIC0xMzYxLDYgKzEz
NjAsNyBAQAogCQk5MzVDNDc3NDA5QUM0RDhEMDBBNkFBQjQgLyogR2FwUmVjdHMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2FwUmVjdHMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTM1RkJDNDQwOUJBMDBCOTAwRTIzMEIxIC8qIEV2ZW50TGlzdGVuZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRMaXN0ZW5lci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5MzVGQkNGMTA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0
aW9uQ29kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFeGNlcHRpb25Db2Rl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzNkREMDNBMDlDRUFDMjcwMDU2QUU4
QyAvKiBSYW5nZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmFuZ2UuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5MzdBMzZBNjA5N0UyRTMyMDBFNEVFMkYgLyogVXNlckFn
ZW50U3R5bGVTaGVldHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VXNlckFnZW50U3R5bGVTaGVldHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
MzgwRjQ3MTA5QTExQUI0MDAxRkRCMzQgLyogV2lkZ2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBXaWRnZXQuY3BwOyBwYXRoID0gcGxhdGZvcm0vV2lkZ2V0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTM4MEY0NzIwOUExMUFCNDAwMUZEQjM0
IC8qIFdpZGdldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2lkZ2V0Lmg7
IHBhdGggPSBwbGF0Zm9ybS9XaWRnZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTIyMDgsOCArMjIwOCw2IEBACiAJCUY1MjNEMjAzMDJERTQzNjkwMTg2MzVDQSAvKiBranNfbmF2
aWdhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IGtqc19uYXZpZ2F0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB1c2VzVGFicyA9IDA7IH07CiAJCUY1MjNEMjA1MDJERTQzNjkwMTg2MzVDQSAvKiBranNfcHJv
eHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBp
bmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0ga2pzX3Byb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB1c2VzVGFicyA9IDA7IH07CiAJCUY1MjNEMjA2MDJERTQzNjkwMTg2MzVDQSAvKiBranNfcHJv
eHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5k
ZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
a2pzX3Byb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1Rh
YnMgPSAwOyB9OwotCQlGNTIzRDIwNzAyREU0MzY5MDE4NjM1Q0EgLyoga2pzX3JhbmdlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lk
dGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IGtq
c19yYW5nZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1Rh
YnMgPSAwOyB9OwotCQlGNTIzRDIwODAyREU0MzY5MDE4NjM1Q0EgLyoga2pzX3JhbmdlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRo
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGtqc19yYW5n
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsg
fTsKIAkJRjUyM0QyMEEwMkRFNDM2OTAxODYzNUNBIC8qIGtqc190cmF2ZXJzYWwuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0ga2pzX3Ry
YXZlcnNhbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1Rh
YnMgPSAwOyB9OwogCQlGNTIzRDIwQjAyREU0MzY5MDE4NjM1Q0EgLyoga2pzX3RyYXZlcnNhbC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRX
aWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBranNf
dHJhdmVyc2FsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1Rh
YnMgPSAwOyB9OwogCQlGNTIzRDIwRDAyREU0MzY5MDE4NjM1Q0EgLyoga2pzX3ZpZXdzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lk
dGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IGtq
c192aWV3cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1Rh
YnMgPSAwOyB9OwpAQCAtMzY3Myw4ICszNjcxLDYgQEAKIAkJCQlGNTIzRDIwMzAyREU0MzY5MDE4
NjM1Q0EgLyoga2pzX25hdmlnYXRvci5oICovLAogCQkJCUY1MjNEMjA1MDJERTQzNjkwMTg2MzVD
QSAvKiBranNfcHJveHkuY3BwICovLAogCQkJCUY1MjNEMjA2MDJERTQzNjkwMTg2MzVDQSAvKiBr
anNfcHJveHkuaCAqLywKLQkJCQlGNTIzRDIwNzAyREU0MzY5MDE4NjM1Q0EgLyoga2pzX3Jhbmdl
LmNwcCAqLywKLQkJCQlGNTIzRDIwODAyREU0MzY5MDE4NjM1Q0EgLyoga2pzX3JhbmdlLmggKi8s
CiAJCQkJRjUyM0QyMEEwMkRFNDM2OTAxODYzNUNBIC8qIGtqc190cmF2ZXJzYWwuY3BwICovLAog
CQkJCUY1MjNEMjBCMDJERTQzNjkwMTg2MzVDQSAvKiBranNfdHJhdmVyc2FsLmggKi8sCiAJCQkJ
RjUyM0QyMEQwMkRFNDM2OTAxODYzNUNBIC8qIGtqc192aWV3cy5jcHAgKi8sCkBAIC0zNzgyLDE1
ICszNzc4LDE3IEBACiAJCUY1MjNEMzI0MDJERTQ0NzgwMTg2MzVDQSAvKiBkb20gKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUY1MjNEMzA3MDJERTQ0NzYw
MTg2MzVDQSAvKiBBYnN0cmFjdFZpZXcuY3BwICovLAorCQkJCUY1MjNEMzA4MDJERTQ0NzYwMTg2
MzVDQSAvKiBBYnN0cmFjdFZpZXcuaCAqLywKIAkJCQlCQzNCMzY0NzA1QzlENUUyMDBFNDI5MDIg
LyogQXRvbWljU3RyaW5nTGlzdC5oICovLAogCQkJCTkzRUVDMUU1MDlDMjg3NzcwMEM1MTVEMSAv
KiBBdHRyLmlkbCAqLywKIAkJCQlBQjIzQTMyNTA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4
dEluc2VydGVkRXZlbnQuY3BwICovLAogCQkJCUFCMjNBMzI2MDlCQkE3RDAwMDY3Q0M1MyAvKiBC
ZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5oICovLAogCQkJCTY1NTBCNjkzMDk5REYwMjcwMDkwRDc4
MSAvKiBDREFUQVNlY3Rpb24uY3BwICovLAogCQkJCTY1NTBCNjk0MDk5REYwMjcwMDkwRDc4MSAv
KiBDREFUQVNlY3Rpb24uaCAqLywKLQkJCQk5M0VFQzFFNjA5QzI4Nzc3MDBDNTE1RDEgLyogQ2hh
cmFjdGVyRGF0YS5pZGwgKi8sCiAJCQkJNjU1MEI2OTUwOTlERjAyNzAwOTBENzgxIC8qIENoYXJh
Y3RlckRhdGEuY3BwICovLAogCQkJCTY1NTBCNjk2MDk5REYwMjcwMDkwRDc4MSAvKiBDaGFyYWN0
ZXJEYXRhLmggKi8sCisJCQkJOTNFRUMxRTYwOUMyODc3NzAwQzUxNUQxIC8qIENoYXJhY3RlckRh
dGEuaWRsICovLAogCQkJCUE4MTg3MjFBMDk3N0QzQzAwMDU4MjZEOSAvKiBDaGlsZE5vZGVMaXN0
LmNwcCAqLywKIAkJCQlBODE4NzIxNTA5NzdEM0MwMDA1ODI2RDkgLyogQ2hpbGROb2RlTGlzdC5o
ICovLAogCQkJCTY1NTBCNjk3MDk5REYwMjcwMDkwRDc4MSAvKiBDb21tZW50LmNwcCAqLywKQEAg
LTM3OTgsMzEgKzM3OTYsMjUgQEAKIAkJCQlBODE4NzIxNDA5NzdEM0MwMDA1ODI2RDkgLyogQ29u
dGFpbmVyTm9kZS5jcHAgKi8sCiAJCQkJQTgxODcyMTEwOTc3RDNDMDAwNTgyNkQ5IC8qIENvbnRh
aW5lck5vZGUuaCAqLywKIAkJCQk5M0VFQzFFNzA5QzI4Nzc3MDBDNTE1RDEgLyogRG9jUHRyLmgg
Ki8sCi0JCQkJQTgxODVGMzcwOTc2NTc2NTAwNTgyNkQ5IC8qIERvY3VtZW50RnJhZ21lbnQuY3Bw
ICovLAotCQkJCUE4MTg1RjM1MDk3NjU3NjUwMDU4MjZEOSAvKiBEb2N1bWVudEZyYWdtZW50Lmgg
Ki8sCiAJCQkJQTgxODVGMzQwOTc2NTc2NTAwNTgyNkQ5IC8qIERvY3VtZW50LmNwcCAqLywKIAkJ
CQlBODE4NUYzODA5NzY1NzY1MDA1ODI2RDkgLyogRG9jdW1lbnQuaCAqLywKKwkJCQlBODE4NUYz
NzA5NzY1NzY1MDA1ODI2RDkgLyogRG9jdW1lbnRGcmFnbWVudC5jcHAgKi8sCisJCQkJQTgxODVG
MzUwOTc2NTc2NTAwNTgyNkQ5IC8qIERvY3VtZW50RnJhZ21lbnQuaCAqLywKIAkJCQlFRDJCQTgz
QjA5QTI0QjkxMDA2QzBBQzQgLyogRG9jdW1lbnRNYXJrZXIuaCAqLywKLQkJCQk5M0VFQzFFODA5
QzI4Nzc3MDBDNTE1RDEgLyogRG9jdW1lbnRUeXBlLmlkbCAqLywKIAkJCQlBODE4NUYzMjA5NzY1
NzY1MDA1ODI2RDkgLyogRG9jdW1lbnRUeXBlLmNwcCAqLywKIAkJCQlBODE4NUYzMTA5NzY1NzY1
MDA1ODI2RDkgLyogRG9jdW1lbnRUeXBlLmggKi8sCisJCQkJOTNFRUMxRTgwOUMyODc3NzAwQzUx
NUQxIC8qIERvY3VtZW50VHlwZS5pZGwgKi8sCiAJCQkJRjUyM0QzMDEwMkRFNDQ3NjAxODYzNUNB
IC8qIGRvbTJfZXZlbnRzaW1wbC5jcHAgKi8sCiAJCQkJRjUyM0QzMDIwMkRFNDQ3NjAxODYzNUNB
IC8qIGRvbTJfZXZlbnRzaW1wbC5oICovLAotCQkJCUY1MjNEMzAzMDJERTQ0NzYwMTg2MzVDQSAv
KiBSYW5nZS5jcHAgKi8sCi0JCQkJRjUyM0QzMDQwMkRFNDQ3NjAxODYzNUNBIC8qIFJhbmdlLmgg
Ki8sCiAJCQkJRjUyM0QzMDUwMkRFNDQ3NjAxODYzNUNBIC8qIGRvbTJfdHJhdmVyc2FsaW1wbC5j
cHAgKi8sCiAJCQkJRjUyM0QzMDYwMkRFNDQ3NjAxODYzNUNBIC8qIGRvbTJfdHJhdmVyc2FsaW1w
bC5oICovLAotCQkJCUY1MjNEMzA3MDJERTQ0NzYwMTg2MzVDQSAvKiBBYnN0cmFjdFZpZXcuY3Bw
ICovLAotCQkJCUY1MjNEMzA4MDJERTQ0NzYwMTg2MzVDQSAvKiBBYnN0cmFjdFZpZXcuaCAqLywK
IAkJCQlGNTIzRDJGNzAyREU0NDc2MDE4NjM1Q0EgLyogZG9tX2VsZW1lbnRpbXBsLmNwcCAqLywK
IAkJCQlGNTIzRDJGODAyREU0NDc2MDE4NjM1Q0EgLyogZG9tX2VsZW1lbnRpbXBsLmggKi8sCi0J
CQkJQkU5MUZDOEMwNjEzMzY2NjAwNUUzNzkwIC8qIFBvc2l0aW9uLmNwcCAqLywKLQkJCQlCRTkx
RkM4QjA2MTMzNjY2MDA1RTM3OTAgLyogUG9zaXRpb24uaCAqLywKIAkJCQlGNTIzRDJGRjAyREU0
NDc2MDE4NjM1Q0EgLyogZG9tX3htbGltcGwuY3BwICovLAogCQkJCUY1MjNEMzAwMDJERTQ0NzYw
MTg2MzVDQSAvKiBkb21feG1saW1wbC5oICovLAotCQkJCTkzRUVDMUU5MDlDMjg3NzcwMEM1MTVE
MSAvKiBET01JbXBsZW1lbnRhdGlvbi5pZGwgKi8sCiAJCQkJQTgxODVGMzYwOTc2NTc2NTAwNTgy
NkQ5IC8qIERPTUltcGxlbWVudGF0aW9uLmNwcCAqLywKIAkJCQlBODE4NUYzMzA5NzY1NzY1MDA1
ODI2RDkgLyogRE9NSW1wbGVtZW50YXRpb24uaCAqLywKKwkJCQk5M0VFQzFFOTA5QzI4Nzc3MDBD
NTE1RDEgLyogRE9NSW1wbGVtZW50YXRpb24uaWRsICovLAogCQkJCTY1NTBCNjk5MDk5REYwMjcw
MDkwRDc4MSAvKiBFZGl0aW5nVGV4dC5jcHAgKi8sCiAJCQkJNjU1MEI2OUEwOTlERjAyNzAwOTBE
NzgxIC8qIEVkaXRpbmdUZXh0LmggKi8sCiAJCQkJOTNFRUMxRUEwOUMyODc3NzAwQzUxNUQxIC8q
IEVsZW1lbnQuaWRsICovLApAQCAtMzgzMCw2ICszODIyLDggQEAKIAkJCQk5MzVGQkM0NDA5QkEw
MEI5MDBFMjMwQjEgLyogRXZlbnRMaXN0ZW5lci5oICovLAogCQkJCTkzOTg4NUMxMDhCN0UzRDEw
MEU3MDdDNCAvKiBFdmVudE5hbWVzLmNwcCAqLywKIAkJCQk5Mzk4ODVDMjA4QjdFM0QxMDBFNzA3
QzQgLyogRXZlbnROYW1lcy5oICovLAorCQkJCTE0RUMyNjdFMDlDQTA3RTAwMEUxRUVFQyAvKiBF
dmVudFRhcmdldE5vZGUuY3BwICovLAorCQkJCTE0RUMyNjdEMDlDQTA3RTAwMEUxRUVFQyAvKiBF
dmVudFRhcmdldE5vZGUuaCAqLywKIAkJCQk5MzVGQkNGMTA5QkExNDNCMDBFMjMwQjEgLyogRXhj
ZXB0aW9uQ29kZS5oICovLAogCQkJCTkzRUVDMUYzMDlDMjg3NzcwMEM1MTVEMSAvKiBNdXRhdGlv
bkV2ZW50LmlkbCAqLywKIAkJCQlBODE4NzIxODA5NzdEM0MwMDA1ODI2RDkgLyogTmFtZWROb2Rl
TWFwLmggKi8sCkBAIC0zODQwLDE3ICszODM0LDIwIEBACiAJCQkJQTgxODcyMTYwOTc3RDNDMDAw
NTgyNkQ5IC8qIE5vZGVMaXN0LmNwcCAqLywKIAkJCQlBODE4NzIxMDA5NzdEM0MwMDA1ODI2RDkg
LyogTm9kZUxpc3QuaCAqLywKIAkJCQk5M0VFQzFGNDA5QzI4Nzc3MDBDNTE1RDEgLyogTm90YXRp
b24uaWRsICovLAorCQkJCTkzRUVDMUY3MDlDMjg3NzcwMEM1MTVEMSAvKiBQbGF0Zm9ybVdoZWVs
RXZlbnQuaWRsICovLAorCQkJCUJFOTFGQzhDMDYxMzM2NjYwMDVFMzc5MCAvKiBQb3NpdGlvbi5j
cHAgKi8sCisJCQkJQkU5MUZDOEIwNjEzMzY2NjAwNUUzNzkwIC8qIFBvc2l0aW9uLmggKi8sCiAJ
CQkJOTNFRUMxRjUwOUMyODc3NzAwQzUxNUQxIC8qIFByb2Nlc3NpbmdJbnN0cnVjdGlvbi5pZGwg
Ki8sCiAJCQkJNTUwQTBCQzcwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuY3BwICov
LAogCQkJCTU1MEEwQkM4MDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggKi8sCi0J
CQkJOTNFRUMxRjYwOUMyODc3NzAwQzUxNUQxIC8qIFRleHQuaWRsICovLAorCQkJCUY1MjNEMzAz
MDJERTQ0NzYwMTg2MzVDQSAvKiBSYW5nZS5jcHAgKi8sCisJCQkJRjUyM0QzMDQwMkRFNDQ3NjAx
ODYzNUNBIC8qIFJhbmdlLmggKi8sCisJCQkJOTM2REQwM0EwOUNFQUMyNzAwNTZBRThDIC8qIFJh
bmdlLmlkbCAqLywKIAkJCQk2NTUwQjY5QjA5OURGMDI3MDA5MEQ3ODEgLyogVGV4dC5jcHAgKi8s
CiAJCQkJNjU1MEI2OUMwOTlERjAyNzAwOTBENzgxIC8qIFRleHQuaCAqLywKLQkJCQk5M0VFQzFG
NzA5QzI4Nzc3MDBDNTE1RDEgLyogUGxhdGZvcm1XaGVlbEV2ZW50LmlkbCAqLywKKwkJCQk5M0VF
QzFGNjA5QzI4Nzc3MDBDNTE1RDEgLyogVGV4dC5pZGwgKi8sCiAJCQkJRjUyM0QzMDkwMkRFNDQ3
NjAxODYzNUNBIC8qIHhtbF90b2tlbml6ZXIuY3BwICovLAogCQkJCUY1MjNEMzBBMDJERTQ0NzYw
MTg2MzVDQSAvKiB4bWxfdG9rZW5pemVyLmggKi8sCi0JCQkJMTRFQzI2N0QwOUNBMDdFMDAwRTFF
RUVDIC8qIEV2ZW50VGFyZ2V0Tm9kZS5oICovLAotCQkJCTE0RUMyNjdFMDlDQTA3RTAwMEUxRUVF
QyAvKiBFdmVudFRhcmdldE5vZGUuY3BwICovLAogCQkJKTsKIAkJCXBhdGggPSBkb207CiAJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMzk0Miw3ICszOTM5LDYgQEAKIAkJCQk5M0YxOThE
NTA4MjQ1RTU5MDAxRTlBQkMgLyoga2pzX2h0bWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5
OEQ3MDgyNDVFNTkwMDFFOUFCQyAvKiBranNfbmF2aWdhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5M0YxOThEOTA4MjQ1RTU5MDAxRTlBQkMgLyoga2pzX3Byb3h5LmggaW4gSGVhZGVycyAqLywK
LQkJCQk5M0YxOThEQTA4MjQ1RTU5MDAxRTlBQkMgLyoga2pzX3JhbmdlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5M0YxOThEQzA4MjQ1RTU5MDAxRTlBQkMgLyoga2pzX3RyYXZlcnNhbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTNGMTk4REUwODI0NUU1OTAwMUU5QUJDIC8qIGtqc192aWV3cy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk4RTAwODI0NUU1OTAwMUU5QUJDIC8qIGtqc193aW5kb3cu
aCBpbiBIZWFkZXJzICovLApAQCAtNDQ3OSw3ICs0NDc1LDYgQEAKIAkJCQk5MzJGQzE2NTA4MjRB
OEVFMDA1QjNDNzUgLyoga2pzX2V2ZW50cy5sdXQuaCAqLywKIAkJCQk5MzJGQzE2MzA4MjRBOEU5
MDA1QjNDNzUgLyoga2pzX2h0bWwubHV0LmggKi8sCiAJCQkJOTMyRkMxNjcwODI0QThGNjAwNUIz
Qzc1IC8qIGtqc19uYXZpZ2F0b3IubHV0LmggKi8sCi0JCQkJOTMyRkMxNjkwODI0QThGQzAwNUIz
Qzc1IC8qIGtqc19yYW5nZS5sdXQuaCAqLywKIAkJCQk5MzJGQzE2QjA4MjRBOTAxMDA1QjNDNzUg
Lyoga2pzX3RyYXZlcnNhbC5sdXQuaCAqLywKIAkJCQk5MzJGQzE2RDA4MjRBOTA2MDA1QjNDNzUg
Lyoga2pzX3ZpZXdzLmx1dC5oICovLAogCQkJCTkzMkZDMTZGMDgyNEE5MEQwMDVCM0M3NSAvKiBr
anNfd2luZG93Lmx1dC5oICovLApAQCAtNDY0NSw2ICs0NjQwLDcgQEAKIAkJCQk5MzBDQUI4OTA5
QzQ5RUZBMDAyMjlDMDQgLyogQ2FudmFzR3JhZGllbnQuaWRsIGluIFJlc291cmNlcyAqLywKIAkJ
CQk5MzBDQUI5MDA5QzQ5RjFCMDAyMjlDMDQgLyogQ2FudmFzUGF0dGVybi5pZGwgaW4gUmVzb3Vy
Y2VzICovLAogCQkJCTkzMENBQjk3MDlDNDlGQUEwMDIyOUMwNCAvKiBDb2RlR2VuZXJhdG9ySlMu
cG0gaW4gUmVzb3VyY2VzICovLAorCQkJCTkzNkREMDNCMDlDRUFDMjcwMDU2QUU4QyAvKiBSYW5n
ZS5pZGwgaW4gUmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtNDgzNCwyMyArNDgzMCw2IEBACiAJCQlzaGVsbFBh
dGggPSAvYmluL3NoOwogCQkJc2hlbGxTY3JpcHQgPSAiXCIkQ1JFQVRFX0hBU0hfVEFCTEVcIiBr
aHRtbC9lY21hL2tqc19uYXZpZ2F0b3IuY3BwID4gXCIkREVSSVZFRF9GSUxFX0RJUi9ranNfbmF2
aWdhdG9yLmx1dC5oXCIiOwogCQl9OwotCQk5MzJGQzE2OTA4MjRBOEZDMDA1QjNDNzUgLyoga2pz
X3JhbmdlLmx1dC5oICovID0gewotCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwot
CQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKLQkJCWZpbGVzID0gKAotCQkJKTsKLQkJ
CWlucHV0UGF0aHMgPSAoCi0JCQkJIiQoQ1JFQVRFX0hBU0hfVEFCTEUpIiwKLQkJCQlraHRtbC9l
Y21hL2tqc19yYW5nZS5jcHAsCi0JCQkpOwotCQkJbmFtZSA9IGtqc19yYW5nZS5sdXQuaDsKLQkJ
CW91dHB1dFBhdGhzID0gKAotCQkJCSIkKERFUklWRURfRklMRV9ESVIpL2tqc19yYW5nZS5sdXQu
aCIsCi0JCQkpOwotCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7Ci0J
CQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAiXCIkQ1JFQVRFX0hBU0hf
VEFCTEVcIiBraHRtbC9lY21hL2tqc19yYW5nZS5jcHAgPiBcIiRERVJJVkVEX0ZJTEVfRElSL2tq
c19yYW5nZS5sdXQuaFwiIjsKLQkJfTsKIAkJOTMyRkMxNkIwODI0QTkwMTAwNUIzQzc1IC8qIGtq
c190cmF2ZXJzYWwubHV0LmggKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhh
c2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtNTE1NCw3ICs1MTMzLDYg
QEAKIAkJCQk5M0YxOUE4NzA4MjQ1RTU5MDAxRTlBQkMgLyoga2pzX2h0bWwuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOTNGMTlBODgwODI0NUU1OTAwMUU5QUJDIC8qIGtqc19uYXZpZ2F0b3IuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMTlBODkwODI0NUU1OTAwMUU5QUJDIC8qIGtqc19wcm94
eS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk5M0YxOUE4QTA4MjQ1RTU5MDAxRTlBQkMgLyoga2pz
X3JhbmdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjE5QThCMDgyNDVFNTkwMDFFOUFCQyAv
KiBranNfdHJhdmVyc2FsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjE5QThDMDgyNDVFNTkw
MDFFOUFCQyAvKiBranNfdmlld3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGMTlBOEQwODI0
NUU1OTAwMUU5QUJDIC8qIGtqc193aW5kb3cuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBDaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzM5OSkKKysrIENoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU4IEBACisyMDA2LTAzLTIwICBEYXJpbiBB
ZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAtIGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Nzg3NQorICAgICAgICAgIGF1dG9nZW5lcmF0ZSBiaW5kaW5ncyBmb3IgUmFuZ2UK
KworICAgICAgICAqIGRvbS9SYW5nZS5pZGw6IEFkZGVkLgorICAgICAgICAqIGtodG1sL2VjbWEv
a2pzX3JhbmdlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBraHRtbC9lY21hL2tqc19yYW5nZS5o
OiBSZW1vdmVkLgorCisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS9idWlsZC1nZW5l
cmF0ZWQtZmlsZXMuc2g6IFJlbW92ZWQgY29kZSB0byBnZW5lcmF0ZQorICAgICAgICBranNfcmFu
Z2UubHV0LmguCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
IEFkZGVkIFJhbmdlLmlkbCBzb3VyY2UgZmlsZS4KKyAgICAgICAgUmVtb3ZlZCBranNfcmFuZ2Uu
aCBhbmQga2pzX3JhbmdlLmNwcCBzb3VyY2UgZmlsZXMuIFNvcnRlZCB0aGUgImRvbSIgZ3JvdXAu
CisgICAgICAgIFJlbW92ZWQgcnVsZSB0byBnZW5lcmF0ZSBranNfcmFuZ2UubHV0LmguCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUNvcmUuY3BwOiBBZGRlZCBpbmNsdWRlIG9mIEpTUmFu
Z2UuY3BwLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06
IEFkZGVkIERvY3VtZW50RnJhZ21lbnQsIFJhbmdlLCBDb21wYXJlSG93LAorICAgICAgICBhbmQg
c2hvcnQgdG8gdGhlIHR5cGVzIHRoaXMgc2NyaXB0IGNhbiBoYW5kbGUuIEFkZGVkIGNvZGUgdG8g
Z2VuZXJhdGUgdG9SYW5nZQorICAgICAgICBmdW5jdGlvbnMgYW5kIHRoZSBsaWtlLiBBZGRlZCBz
ZXBhcmF0ZSBjb2RlIHRvIGhhbmRsZSBleGNlcHRpb25zIGZvciBnZXR0ZXJzCisgICAgICAgIHZz
LiBzZXR0ZXJzIGZvciBhdHRyaWJ1dGVzLiBDaGFuZ2VkIHJldHVybiB2YWx1ZXMgZm9yIHRoZSAi
YmFkIElEIiBjYXNlIHRvIDAKKyAgICAgICAgLS0gdGhlcmUncyBubyBuZWVkIHRvIGdlbmVyYXRl
IHRoZSBleHRyYSBjb2RlIHRvIHJldHVybiBqc1VuZGVmaW5lZCgpIGluIHN1Y2gKKyAgICAgICAg
Y2FzZXMsIHdoaWNoIHNob3VsZCBiZSB1bnJlYWNoYWJsZS4gQ2hhbmdlZCBleGNlcHRpb24gaGFu
ZGxpbmcgdG8gdXNlIHNldERPTUV4Y2VwdGlvbgorICAgICAgICBkaXJlY3RseSBpbnN0ZWFkIG9m
IERPTUV4Y2VwdGlvblRyYW5zbGF0b3I7IERPTUV4Y2VwdGlvblRyYW5zbGF0b3Igd2FzIGEgdHJp
Y2sKKyAgICAgICAgdG8gbWFrZSBpdCBlYXNpZXIgdG8gY29udmVydCBleGlzdGluZyBiaW5kaW5n
cyBhbmQgc2hvdWxkbid0IGJlIHVzZWQgZ29pbmcKKyAgICAgICAgZm9yd2FyZC4gRml4ZWQgbmFt
ZXMgb2YgY29uc3RydWN0b3JzIHRvIHVzZSB0aGUgSmF2YVNjcmlwdCBjbGFzcyBuYW1lICh0aGUK
KyAgICAgICAgaW50ZXJmYWNlIG5hbWUpLCBub3QgdGhlIG5hbWUgb2YgdGhlIEMrKyBpbXBsZW1l
bnRhdGlvbiBjbGFzcy4gRml4ZWQgZ2VuZXJhdGlvbgorICAgICAgICBvZiBjb2RlIGZvciBmdW5j
dGlvbnMgdGhhdCBoYXZlIG5vIHBhcmFtZXRlcnMgYnV0IGRvIHJhaXNlIGV4Y2VwdGlvbnMuCisK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbTogQWRkZWQgcGFyc2luZyBm
b3Igc2VwYXJhdGUgZ2V0dGVyIGFuZCBzZXR0ZXIKKyAgICAgICAgZXhjZXB0aW9ucyBpbiBhdHRy
aWJ1dGVzLiBUaGUgc3ludGF4IGlzIG5vdCByZWFsIElETCwgYnV0IHJlYWwgSURMIGRvZXNuJ3Qg
c3VwcG9ydAorICAgICAgICBkZWNsYXJpbmcgZXhjZXB0aW9ucyBvbiBhdHRyaWJ1dGVzIGF0IGFs
bC4gV2UnbGwgcHJvYmFibHkgd2FudCB0byByZXZpc2l0IG91cgorICAgICAgICBzeW50YXggZm9y
IHRoaXMgc29tZSBkYXkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lETFN0cnVjdHVy
ZS5wbTogUmVtb3ZlZCB1bnVzZWQgZXhjZXB0aW9uTmFtZSBmaWVsZCBmcm9tCisgICAgICAgIGRv
bUF0dHJpYnV0ZSwgYW5kIHJlcGxhY2VkIHJhaXNlc0V4Y2VwdGlvbnMgZmllbGQgd2l0aCBnZXR0
ZXJFeGNlcHRpb25zIGFuZAorICAgICAgICBzZXR0ZXJFeGNlcHRpb25zLiBBZGRlZCByZWd1bGFy
IGV4cHJlc3Npb25zIGZvciBwYXJzaW5nIGdldHRlci9zZXR0ZXIgc3ludGF4LgorICAgICAgICBX
ZSdsbCBwcm9iYWJseSBoYXZlIHRvIHJlZG8gdGhpcyB3aG9sZSB0aGluZyBwYXJzZSBpbiBhIGJl
dHRlciB3YXkgYXQgc29tZQorICAgICAgICBwb2ludCAtLSB0aGUgcmVndWxhciBleHByZXNzaW9u
cyBhbGxvdyBhbnkgaW52YWxpZCBzeW50YXggaW4gYmV0d2VlbiB0aGVtLgorCisgICAgICAgICog
ZG9tL0F0dHIuaWRsOiBDaGFuZ2UgZXhjZXB0aW9uIGRlY2xhcmF0aW9uIGZvciBzZXR0aW5nIHRo
ZSB2YWx1ZSBhdHRyaWJ1dGUKKyAgICAgICAgdG8gdXNlIHNldHRlci1zcGVjaWZpYyBleGNlcHRp
b24gc3ludGF4LgorICAgICAgICAqIGRvbS9DaGFyYWN0ZXJEYXRhLmlkbDogQ2hhbmdlIGV4Y2Vw
dGlvbiBkZWNsYXJhdGlvbiBmb3Igc2V0dGluZyB0aGUgZGF0YQorICAgICAgICBhdHRyaWJ1dGUg
dG8gdXNlIHNldHRlci1zcGVjaWZpYyBleGNlcHRpb24gc3ludGF4LgorICAgICAgICAqIGRvbS9Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaWRsOiBDaGFuZ2UgZXhjZXB0aW9uIGRlY2xhcmF0aW9uIGZv
ciBzZXR0aW5nIHRoZQorICAgICAgICBkYXRhIGF0dHJpYnV0ZSB0byB1c2Ugc2V0dGVyLXNwZWNp
ZmljIGV4Y2VwdGlvbiBzeW50YXguCisKKyAgICAgICAgKiBraHRtbC9lY21hL2tqc19kb20uY3Bw
OiBJbmNsdWRlIEpTUmFuZ2UuaCBpbnN0ZWFkIG9mIGtqc19yYW5nZS5oLgorICAgICAgICAqIGto
dG1sL2VjbWEva2pzX3dpbmRvdy5jcHA6IEluY2x1ZGUgSlNSYW5nZS5oIGluc3RlYWQgb2Yga2pz
X3JhbmdlLmguCisgICAgICAgIChLSlM6OldpbmRvdzo6Z2V0VmFsdWVQcm9wZXJ0eSk6IFVzZSBK
U1JhbmdlOjpnZXRDb25zdHJ1Y3RvciBpbnN0ZWFkIG9mCisgICAgICAgIGdldFJhbmdlQ29uc3Ry
dWN0b3IuCisKIDIwMDYtMDMtMjAgIEVyaWMgU2VpZGVsICA8ZXNlaWRlbEBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgaHlhdHQuCkluZGV4OiBXZWJDb3JlLnZjcHJvai9XZWJDb3Jl
L2J1aWxkLWdlbmVyYXRlZC1maWxlcy5zaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlL2J1aWxkLWdlbmVyYXRlZC1maWxlcy5zaAkocmV2aXNpb24gMTMzOTcpCisrKyBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlL2J1aWxkLWdlbmVyYXRlZC1maWxlcy5zaAkod29ya2luZyBjb3B5
KQpAQCAtOTQsMTAgKzk0LDYgQEAKICAgLi4vSmF2YVNjcmlwdENvcmUva2pzL2NyZWF0ZV9oYXNo
X3RhYmxlIGtodG1sL2VjbWEva2pzX25hdmlnYXRvci5jcHAgPiAiJERlcml2ZWRTb3VyY2VzRGly
L2tqc19uYXZpZ2F0b3IubHV0LmgiCiBmaQogCi1pZiBbIC4uL0phdmFTY3JpcHRDb3JlL2tqcy9j
cmVhdGVfaGFzaF90YWJsZSAtbnQgIiREZXJpdmVkU291cmNlc0Rpci9ranNfcmFuZ2UubHV0Lmgi
IC1vIGtodG1sL2VjbWEva2pzX3JhbmdlLmNwcCAtbnQgIiREZXJpdmVkU291cmNlc0Rpci9ranNf
cmFuZ2UubHV0LmgiIF07IHRoZW4KLSAgLi4vSmF2YVNjcmlwdENvcmUva2pzL2NyZWF0ZV9oYXNo
X3RhYmxlIGtodG1sL2VjbWEva2pzX3JhbmdlLmNwcCA+ICIkRGVyaXZlZFNvdXJjZXNEaXIva2pz
X3JhbmdlLmx1dC5oIgotZmkKLQogaWYgWyAuLi9KYXZhU2NyaXB0Q29yZS9ranMvY3JlYXRlX2hh
c2hfdGFibGUgLW50ICIkRGVyaXZlZFNvdXJjZXNEaXIva2pzX3RyYXZlcnNhbC5sdXQuaCIgLW8g
a2h0bWwvZWNtYS9ranNfdHJhdmVyc2FsLmNwcCAtbnQgIiREZXJpdmVkU291cmNlc0Rpci9ranNf
dHJhdmVyc2FsLmx1dC5oIiBdOyB0aGVuCiAgIC4uL0phdmFTY3JpcHRDb3JlL2tqcy9jcmVhdGVf
aGFzaF90YWJsZSBraHRtbC9lY21hL2tqc190cmF2ZXJzYWwuY3BwID4gIiREZXJpdmVkU291cmNl
c0Rpci9ranNfdHJhdmVyc2FsLmx1dC5oIgogZmkK
</data>
<flag name="review"
          id="1894"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>