<?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>58733</bug_id>
          
          <creation_ts>2011-04-16 13:37:06 -0700</creation_ts>
          <short_desc>Windows should use WebCore localized strings</short_desc>
          <delta_ts>2011-04-17 17:22:03 -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>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>387282</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-04-16 13:37:06 -0700</bug_when>
    <thetext>Windows should use WebCore localized strings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387283</commentid>
    <comment_count>1</comment_count>
      <attachid>89931</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-04-16 13:38:51 -0700</bug_when>
    <thetext>Created attachment 89931
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387288</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-04-16 14:16:23 -0700</bug_when>
    <thetext>Attachment 89931 did not build on win:
Build output: http://queues.webkit.org/results/8450498</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387290</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-04-16 14:19:18 -0700</bug_when>
    <thetext>Committed r84094: &lt;http://trac.webkit.org/changeset/84094&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387481</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-17 17:22:03 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/84094 might have broken Windows XP Debug (Tests)
The following tests are not passing:
dom/html/level2/html/HTMLFrameElement01.html
dom/html/level2/html/HTMLFrameElement02.html
dom/html/level2/html/HTMLFrameElement03.html
dom/html/level2/html/HTMLFrameElement04.html
dom/html/level2/html/HTMLFrameElement05.html
dom/html/level2/html/HTMLFrameElement06.html
dom/html/level2/html/HTMLFrameElement07.html
dom/html/level2/html/HTMLFrameElement08.html
dom/html/level2/html/HTMLFrameElement09.html
dom/html/level2/html/HTMLFrameSetElement01.html
dom/html/level2/html/HTMLFrameSetElement02.html
dom/html/level2/html/HTMLIFrameElement01.html
dom/html/level2/html/HTMLIFrameElement02.html
dom/html/level2/html/HTMLIFrameElement03.html
dom/html/level2/html/HTMLIFrameElement04.html
dom/html/level2/html/HTMLIFrameElement05.html
dom/html/level2/html/HTMLIFrameElement06.html
dom/html/level2/html/HTMLIFrameElement07.html
dom/html/level2/html/HTMLIFrameElement08.html
dom/html/level2/html/HTMLIFrameElement09.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89931</attachid>
            <date>2011-04-16 13:38:51 -0700</date>
            <delta_ts>2011-04-16 14:08:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58733-20110416133851.patch</filename>
            <type>text/plain</type>
            <size>57333</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0MDkxKQorKysgU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDQtMTYg
IFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXaW5kb3dzIHNob3VsZCB1c2UgV2ViQ29yZSBsb2NhbGl6
ZWQgc3RyaW5ncworICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTExOTQwNT4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4NzMzCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwOgorICAgICAgICAodW5kb05hbWVGb3JF
ZGl0QWN0aW9uKToKKyAgICAgICAgKFdlYkVkaXRvckNsaWVudDo6cmVnaXN0ZXJDb21tYW5kRm9y
VW5kbyk6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVy
ZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2V0dGluZ3MpOgorICAgICAgICAqIFdlYlVSTFJlc3Bv
bnNlLmNwcDoKKyAgICAgICAgKENGSFRUUE1lc3NhZ2VDb3B5TG9jYWxpemVkU2hvcnREZXNjcmlw
dGlvbkZvclN0YXR1c0NvZGUpOgorICAgICAgICAoV2ViVVJMUmVzcG9uc2U6OmxvY2FsaXplZFN0
cmluZ0ZvclN0YXR1c0NvZGUpOgorICAgICAgICBDaGFuZ2UgdG8gdXNlIFdFQl9VSV9TVFJJTkcu
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorICAgICAg
ICBSZW1vdmUgdGhlIGxvY2FsaXphdGlvbiBzdHJhdGVneSBpbiBmYXZvciBvZiB1c2luZyB0aGUg
ZGVmYXVsdCBvbmUuCisKIDIwMTEtMDQtMTYgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiA4NDA5MCkKKysrIFNvdXJjZS9X
ZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjks
NiBAQAogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAKICNpbmNsdWRlICJDT01QdHIuaCIK
LSNpbmNsdWRlICJXZWJMb2NhbGl6YWJsZVN0cmluZ3MuaCIKICNpbmNsdWRlICJXZWJOb3RpZmlj
YXRpb25DZW50ZXIuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCIKIApA
QCAtMzcsNyArMzYsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQ0FDRkxheWVyVHJlZUhvc3QuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZvbnQu
aD4KLSNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtU3RyaW5nLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHNobG9i
ai5oPgogI2luY2x1ZGUgPHdjaGFyLmg+CkBAIC00NSw2ICs0NCw3IEBACiAjaW5jbHVkZSA8d3Rm
L093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IAogI2lmIFBMQVRGT1JNKENHKQogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3Mu
aD4KQEAgLTE5Myw3ICsxOTMsOCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVm
YXVsdFNlCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdE1p
bmltdW1Mb2dpY2FsRm9udFNpemVQcmVmZXJlbmNlS2V5KSwgQ0ZTVFIoIjkiKSk7CiAgICAgQ0ZE
aWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdERlZmF1bHRGb250U2l6ZVBy
ZWZlcmVuY2VLZXkpLCBDRlNUUigiMTYiKSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVm
YXVsdHMsIENGU1RSKFdlYktpdERlZmF1bHRGaXhlZEZvbnRTaXplUHJlZmVyZW5jZUtleSksIENG
U1RSKCIxMyIpKTsKLSAgICBXVEY6OlN0cmluZyBkZWZhdWx0RGVmYXVsdEVuY29kaW5nKExQQ1RT
VFJfVUlfU1RSSU5HKCJJU08tODg1OS0xIiwgIlRoZSBkZWZhdWx0LCBkZWZhdWx0IGNoYXJhY3Rl
ciBlbmNvZGluZyIpKTsKKworICAgIFN0cmluZyBkZWZhdWx0RGVmYXVsdEVuY29kaW5nKFdFQl9V
SV9TVFJJTkcoIklTTy04ODU5LTEiLCAiVGhlIGRlZmF1bHQsIGRlZmF1bHQgY2hhcmFjdGVyIGVu
Y29kaW5nIikpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJL
aXREZWZhdWx0VGV4dEVuY29kaW5nTmFtZVByZWZlcmVuY2VLZXkpLCBkZWZhdWx0RGVmYXVsdEVu
Y29kaW5nLmNyZWF0ZUNGU3RyaW5nKCkpOwogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVm
YXVsdHMsIENGU1RSKFdlYktpdFVzZXJTdHlsZVNoZWV0RW5hYmxlZFByZWZlcmVuY2VLZXkpLCBr
Q0ZCb29sZWFuRmFsc2UpOwpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViVVJMUmVzcG9uc2Uu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlVSTFJlc3BvbnNlLmNwcAko
cmV2aXNpb24gODQwOTApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJVUkxSZXNwb25zZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIkNPTVByb3BlcnR5
QmFnLmgiCiAjaW5jbHVkZSAiTWFyc2hhbGxpbmdIZWxwZXJzLmgiCi0jaW5jbHVkZSAiV2ViTG9j
YWxpemFibGVTdHJpbmdzLmgiCiAKICNpZiBVU0UoQ0ZORVRXT1JLKQogI2luY2x1ZGUgPFdlYktp
dFN5c3RlbUludGVyZmFjZS9XZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KQEAgLTQ3LDE2MCArNDYs
MTYwIEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgTFBDVFNUUiBDRkhU
VFBNZXNzYWdlQ29weUxvY2FsaXplZFNob3J0RGVzY3JpcHRpb25Gb3JTdGF0dXNDb2RlKENGSW5k
ZXggc3RhdHVzQ29kZSkKK3N0YXRpYyBTdHJpbmcgQ0ZIVFRQTWVzc2FnZUNvcHlMb2NhbGl6ZWRT
aG9ydERlc2NyaXB0aW9uRm9yU3RhdHVzQ29kZShDRkluZGV4IHN0YXR1c0NvZGUpCiB7Ci0gICAg
TFBDVFNUUiByZXN1bHQgPSAwOworICAgIFN0cmluZyByZXN1bHQgPSAwOwogICAgIGlmIChzdGF0
dXNDb2RlIDwgMTAwIHx8IHN0YXR1c0NvZGUgPj0gNjAwKQotICAgICAgICByZXN1bHQgPSBMUENU
U1RSX1VJX1NUUklORygic2VydmVyIGVycm9yIiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7
CisgICAgICAgIHJlc3VsdCA9IFdFQl9VSV9TVFJJTkcoInNlcnZlciBlcnJvciIsICJIVFRQIHJl
c3VsdCBjb2RlIHN0cmluZyIpOwogICAgIGVsc2UgaWYgKHN0YXR1c0NvZGUgPj0gMTAwICYmIHN0
YXR1c0NvZGUgPD0gMTk5KSB7CiAgICAgICAgIHN3aXRjaCAoc3RhdHVzQ29kZSkgewogICAgICAg
ICAgICAgY2FzZSAxMDA6Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gTFBDVFNUUl9VSV9TVFJJ
TkcoImNvbnRpbnVlIiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CisgICAgICAgICAgICAg
ICAgcmVzdWx0ID0gV0VCX1VJX1NUUklORygiY29udGludWUiLCAiSFRUUCByZXN1bHQgY29kZSBz
dHJpbmciKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgMTAxOgot
ICAgICAgICAgICAgICAgIHJlc3VsdCA9IExQQ1RTVFJfVUlfU1RSSU5HKCJzd2l0Y2hpbmcgcHJv
dG9jb2xzIiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CisgICAgICAgICAgICAgICAgcmVz
dWx0ID0gV0VCX1VJX1NUUklORygic3dpdGNoaW5nIHByb3RvY29scyIsICJIVFRQIHJlc3VsdCBj
b2RlIHN0cmluZyIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVs
dDoKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBMUENUU1RSX1VJX1NUUklORygiaW5mb3JtYXRp
b25hbCIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOworICAgICAgICAgICAgICAgIHJlc3Vs
dCA9IFdFQl9VSV9TVFJJTkcoImluZm9ybWF0aW9uYWwiLCAiSFRUUCByZXN1bHQgY29kZSBzdHJp
bmciKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAo
c3RhdHVzQ29kZSA+PSAyMDAgJiYgc3RhdHVzQ29kZSA8PSAyOTkpIHsKICAgICAgICAgc3dpdGNo
IChzdGF0dXNDb2RlKSB7CiAgICAgICAgICAgICBjYXNlIDIwMDoKLSAgICAgICAgICAgICAgICBy
ZXN1bHQgPSBMUENUU1RSX1VJX1NUUklORygibm8gZXJyb3IiLCAiSFRUUCByZXN1bHQgY29kZSBz
dHJpbmciKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJubyBlcnJv
ciIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgY2FzZSAyMDE6Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gTFBDVFNUUl9V
SV9TVFJJTkcoImNyZWF0ZWQiLCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKKyAgICAgICAg
ICAgICAgICByZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJjcmVhdGVkIiwgIkhUVFAgcmVzdWx0IGNv
ZGUgc3RyaW5nIik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIDIw
MjoKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBMUENUU1RSX1VJX1NUUklORygiYWNjZXB0ZWQi
LCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBX
RUJfVUlfU1RSSU5HKCJhY2NlcHRlZCIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOwogICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAyMDM6Ci0gICAgICAgICAgICAg
ICAgcmVzdWx0ID0gTFBDVFNUUl9VSV9TVFJJTkcoIm5vbi1hdXRob3JpdGF0aXZlIGluZm9ybWF0
aW9uIiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CisgICAgICAgICAgICAgICAgcmVzdWx0
ID0gV0VCX1VJX1NUUklORygibm9uLWF1dGhvcml0YXRpdmUgaW5mb3JtYXRpb24iLCAiSFRUUCBy
ZXN1bHQgY29kZSBzdHJpbmciKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNhc2UgMjA0OgotICAgICAgICAgICAgICAgIHJlc3VsdCA9IExQQ1RTVFJfVUlfU1RSSU5HKCJu
byBjb250ZW50IiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CisgICAgICAgICAgICAgICAg
cmVzdWx0ID0gV0VCX1VJX1NUUklORygibm8gY29udGVudCIsICJIVFRQIHJlc3VsdCBjb2RlIHN0
cmluZyIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAyMDU6Ci0g
ICAgICAgICAgICAgICAgcmVzdWx0ID0gTFBDVFNUUl9VSV9TVFJJTkcoInJlc2V0IGNvbnRlbnQi
LCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBX
RUJfVUlfU1RSSU5HKCJyZXNldCBjb250ZW50IiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIDIwNjoKLSAgICAgICAg
ICAgICAgICByZXN1bHQgPSBMUENUU1RSX1VJX1NUUklORygicGFydGlhbCBjb250ZW50IiwgIkhU
VFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gV0VCX1VJ
X1NUUklORygicGFydGlhbCBjb250ZW50IiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAg
ICAgIHJlc3VsdCA9IExQQ1RTVFJfVUlfU1RSSU5HKCJzdWNjZXNzIiwgIkhUVFAgcmVzdWx0IGNv
ZGUgc3RyaW5nIik7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gV0VCX1VJX1NUUklORygic3Vj
Y2VzcyIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOwogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9IAogICAgIH0gZWxzZSBpZiAoc3RhdHVzQ29kZSA+PSAzMDAgJiYgc3RhdHVz
Q29kZSA8PSAzOTkpIHsKICAgICAgICAgc3dpdGNoIChzdGF0dXNDb2RlKSB7CiAgICAgICAgICAg
ICBjYXNlIDMwMDoKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBMUENUU1RSX1VJX1NUUklORygi
bXVsdGlwbGUgY2hvaWNlcyIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOworICAgICAgICAg
ICAgICAgIHJlc3VsdCA9IFdFQl9VSV9TVFJJTkcoIm11bHRpcGxlIGNob2ljZXMiLCAiSFRUUCBy
ZXN1bHQgY29kZSBzdHJpbmciKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNhc2UgMzAxOgotICAgICAgICAgICAgICAgIHJlc3VsdCA9IExQQ1RTVFJfVUlfU1RSSU5HKCJt
b3ZlZCBwZXJtYW5lbnRseSIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOworICAgICAgICAg
ICAgICAgIHJlc3VsdCA9IFdFQl9VSV9TVFJJTkcoIm1vdmVkIHBlcm1hbmVudGx5IiwgIkhUVFAg
cmVzdWx0IGNvZGUgc3RyaW5nIik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICBjYXNlIDMwMjoKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBMUENUU1RSX1VJX1NUUklORygi
Zm91bmQiLCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKKyAgICAgICAgICAgICAgICByZXN1
bHQgPSBXRUJfVUlfU1RSSU5HKCJmb3VuZCIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOwog
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAzMDM6Ci0gICAgICAgICAg
ICAgICAgcmVzdWx0ID0gTFBDVFNUUl9VSV9TVFJJTkcoInNlZSBvdGhlciIsICJIVFRQIHJlc3Vs
dCBjb2RlIHN0cmluZyIpOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IFdFQl9VSV9TVFJJTkco
InNlZSBvdGhlciIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOwogICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgY2FzZSAzMDQ6Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0g
TFBDVFNUUl9VSV9TVFJJTkcoIm5vdCBtb2RpZmllZCIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmlu
ZyIpOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IFdFQl9VSV9TVFJJTkcoIm5vdCBtb2RpZmll
ZCIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgY2FzZSAzMDU6Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gTFBDVFNUUl9V
SV9TVFJJTkcoIm5lZWRzIHByb3h5IiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CisgICAg
ICAgICAgICAgICAgcmVzdWx0ID0gV0VCX1VJX1NUUklORygibmVlZHMgcHJveHkiLCAiSFRUUCBy
ZXN1bHQgY29kZSBzdHJpbmciKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNhc2UgMzA3OgotICAgICAgICAgICAgICAgIHJlc3VsdCA9IExQQ1RTVFJfVUlfU1RSSU5HKCJ0
ZW1wb3JhcmlseSByZWRpcmVjdGVkIiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CisgICAg
ICAgICAgICAgICAgcmVzdWx0ID0gV0VCX1VJX1NUUklORygidGVtcG9yYXJpbHkgcmVkaXJlY3Rl
ZCIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgY2FzZSAzMDY6ICAgLy8gMzA2IHN0YXR1cyBjb2RlIHVudXNlZCBpbiBIVFRQ
CiAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHJlc3VsdCA9IExQQ1RTVFJf
VUlfU1RSSU5HKCJyZWRpcmVjdGVkIiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CisgICAg
ICAgICAgICAgICAgcmVzdWx0ID0gV0VCX1VJX1NUUklORygicmVkaXJlY3RlZCIsICJIVFRQIHJl
c3VsdCBjb2RlIHN0cmluZyIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAg
ICAgfSBlbHNlIGlmIChzdGF0dXNDb2RlID49IDQwMCAmJiBzdGF0dXNDb2RlIDw9IDQ5OSkgewog
ICAgICAgICBzd2l0Y2ggKHN0YXR1c0NvZGUpIHsKICAgICAgICAgICAgIGNhc2UgNDAwOgotICAg
ICAgICAgICAgICAgIHJlc3VsdCA9IExQQ1RTVFJfVUlfU1RSSU5HKCJiYWQgcmVxdWVzdCIsICJI
VFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IFdFQl9V
SV9TVFJJTkcoImJhZCByZXF1ZXN0IiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CiAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIDQwMToKLSAgICAgICAgICAgICAg
ICByZXN1bHQgPSBMUENUU1RSX1VJX1NUUklORygidW5hdXRob3JpemVkIiwgIkhUVFAgcmVzdWx0
IGNvZGUgc3RyaW5nIik7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gV0VCX1VJX1NUUklORygi
dW5hdXRob3JpemVkIiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CiAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIDQwMjoKLSAgICAgICAgICAgICAgICByZXN1bHQg
PSBMUENUU1RSX1VJX1NUUklORygicGF5bWVudCByZXF1aXJlZCIsICJIVFRQIHJlc3VsdCBjb2Rl
IHN0cmluZyIpOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IFdFQl9VSV9TVFJJTkcoInBheW1l
bnQgcmVxdWlyZWQiLCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIGNhc2UgNDAzOgotICAgICAgICAgICAgICAgIHJlc3VsdCA9
IExQQ1RTVFJfVUlfU1RSSU5HKCJmb3JiaWRkZW4iLCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmci
KTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJmb3JiaWRkZW4iLCAi
SFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIGNhc2UgNDA0OgotICAgICAgICAgICAgICAgIHJlc3VsdCA9IExQQ1RTVFJfVUlfU1RS
SU5HKCJub3QgZm91bmQiLCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKKyAgICAgICAgICAg
ICAgICByZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJub3QgZm91bmQiLCAiSFRUUCByZXN1bHQgY29k
ZSBzdHJpbmciKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgNDA1
OgotICAgICAgICAgICAgICAgIHJlc3VsdCA9IExQQ1RTVFJfVUlfU1RSSU5HKCJtZXRob2Qgbm90
IGFsbG93ZWQiLCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKKyAgICAgICAgICAgICAgICBy
ZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJtZXRob2Qgbm90IGFsbG93ZWQiLCAiSFRUUCByZXN1bHQg
Y29kZSBzdHJpbmciKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2Ug
NDA2OgotICAgICAgICAgICAgICAgIHJlc3VsdCA9IExQQ1RTVFJfVUlfU1RSSU5HKCJ1bmFjY2Vw
dGFibGUiLCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKKyAgICAgICAgICAgICAgICByZXN1
bHQgPSBXRUJfVUlfU1RSSU5HKCJ1bmFjY2VwdGFibGUiLCAiSFRUUCByZXN1bHQgY29kZSBzdHJp
bmciKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgNDA3OgotICAg
ICAgICAgICAgICAgIHJlc3VsdCA9IExQQ1RTVFJfVUlfU1RSSU5HKCJwcm94eSBhdXRoZW50aWNh
dGlvbiByZXF1aXJlZCIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOworICAgICAgICAgICAg
ICAgIHJlc3VsdCA9IFdFQl9VSV9TVFJJTkcoInByb3h5IGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVk
IiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICBjYXNlIDQwODoKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBMUENUU1RSX1VJ
X1NUUklORygicmVxdWVzdCB0aW1lZCBvdXQiLCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsK
KyAgICAgICAgICAgICAgICByZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJyZXF1ZXN0IHRpbWVkIG91
dCIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgY2FzZSA0MDk6Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gTFBDVFNUUl9V
SV9TVFJJTkcoImNvbmZsaWN0IiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CisgICAgICAg
ICAgICAgICAgcmVzdWx0ID0gV0VCX1VJX1NUUklORygiY29uZmxpY3QiLCAiSFRUUCByZXN1bHQg
Y29kZSBzdHJpbmciKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2Ug
NDEwOgotICAgICAgICAgICAgICAgIHJlc3VsdCA9IExQQ1RTVFJfVUlfU1RSSU5HKCJubyBsb25n
ZXIgZXhpc3RzIiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CisgICAgICAgICAgICAgICAg
cmVzdWx0ID0gV0VCX1VJX1NUUklORygibm8gbG9uZ2VyIGV4aXN0cyIsICJIVFRQIHJlc3VsdCBj
b2RlIHN0cmluZyIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSA0
MTE6Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gTFBDVFNUUl9VSV9TVFJJTkcoImxlbmd0aCBy
ZXF1aXJlZCIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOworICAgICAgICAgICAgICAgIHJl
c3VsdCA9IFdFQl9VSV9TVFJJTkcoImxlbmd0aCByZXF1aXJlZCIsICJIVFRQIHJlc3VsdCBjb2Rl
IHN0cmluZyIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSA0MTI6
Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gTFBDVFNUUl9VSV9TVFJJTkcoInByZWNvbmRpdGlv
biBmYWlsZWQiLCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKKyAgICAgICAgICAgICAgICBy
ZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJwcmVjb25kaXRpb24gZmFpbGVkIiwgIkhUVFAgcmVzdWx0
IGNvZGUgc3RyaW5nIik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNl
IDQxMzoKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBMUENUU1RSX1VJX1NUUklORygicmVxdWVz
dCB0b28gbGFyZ2UiLCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKKyAgICAgICAgICAgICAg
ICByZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJyZXF1ZXN0IHRvbyBsYXJnZSIsICJIVFRQIHJlc3Vs
dCBjb2RlIHN0cmluZyIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2Fz
ZSA0MTQ6Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gTFBDVFNUUl9VSV9TVFJJTkcoInJlcXVl
c3RlZCBVUkwgdG9vIGxvbmciLCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKKyAgICAgICAg
ICAgICAgICByZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJyZXF1ZXN0ZWQgVVJMIHRvbyBsb25nIiwg
IkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICBjYXNlIDQxNToKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBMUENUU1RSX1VJX1NU
UklORygidW5zdXBwb3J0ZWQgbWVkaWEgdHlwZSIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIp
OworICAgICAgICAgICAgICAgIHJlc3VsdCA9IFdFQl9VSV9TVFJJTkcoInVuc3VwcG9ydGVkIG1l
ZGlhIHR5cGUiLCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgIGNhc2UgNDE2OgotICAgICAgICAgICAgICAgIHJlc3VsdCA9IExQ
Q1RTVFJfVUlfU1RSSU5HKCJyZXF1ZXN0ZWQgcmFuZ2Ugbm90IHNhdGlzZmlhYmxlIiwgIkhUVFAg
cmVzdWx0IGNvZGUgc3RyaW5nIik7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gV0VCX1VJX1NU
UklORygicmVxdWVzdGVkIHJhbmdlIG5vdCBzYXRpc2ZpYWJsZSIsICJIVFRQIHJlc3VsdCBjb2Rl
IHN0cmluZyIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSA0MTc6
Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gTFBDVFNUUl9VSV9TVFJJTkcoImV4cGVjdGF0aW9u
IGZhaWxlZCIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOworICAgICAgICAgICAgICAgIHJl
c3VsdCA9IFdFQl9VSV9TVFJJTkcoImV4cGVjdGF0aW9uIGZhaWxlZCIsICJIVFRQIHJlc3VsdCBj
b2RlIHN0cmluZyIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVs
dDoKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBMUENUU1RSX1VJX1NUUklORygiY2xpZW50IGVy
cm9yIiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CisgICAgICAgICAgICAgICAgcmVzdWx0
ID0gV0VCX1VJX1NUUklORygiY2xpZW50IGVycm9yIiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5n
Iik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKHN0
YXR1c0NvZGUgPj0gNTAwICYmIHN0YXR1c0NvZGUgPD0gNTk5KSB7CiAgICAgICAgIHN3aXRjaCAo
c3RhdHVzQ29kZSkgewogICAgICAgICAgICAgY2FzZSA1MDA6Ci0gICAgICAgICAgICAgICAgcmVz
dWx0ID0gTFBDVFNUUl9VSV9TVFJJTkcoImludGVybmFsIHNlcnZlciBlcnJvciIsICJIVFRQIHJl
c3VsdCBjb2RlIHN0cmluZyIpOworICAgICAgICAgICAgICAgIHJlc3VsdCA9IFdFQl9VSV9TVFJJ
TkcoImludGVybmFsIHNlcnZlciBlcnJvciIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOwog
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSA1MDE6Ci0gICAgICAgICAg
ICAgICAgcmVzdWx0ID0gTFBDVFNUUl9VSV9TVFJJTkcoInVuaW1wbGVtZW50ZWQiLCAiSFRUUCBy
ZXN1bHQgY29kZSBzdHJpbmciKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBXRUJfVUlfU1RS
SU5HKCJ1bmltcGxlbWVudGVkIiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIDUwMjoKLSAgICAgICAgICAgICAgICBy
ZXN1bHQgPSBMUENUU1RSX1VJX1NUUklORygiYmFkIGdhdGV3YXkiLCAiSFRUUCByZXN1bHQgY29k
ZSBzdHJpbmciKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJiYWQg
Z2F0ZXdheSIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOwogICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgY2FzZSA1MDM6Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gTFBD
VFNUUl9VSV9TVFJJTkcoInNlcnZpY2UgdW5hdmFpbGFibGUiLCAiSFRUUCByZXN1bHQgY29kZSBz
dHJpbmciKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJzZXJ2aWNl
IHVuYXZhaWxhYmxlIiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CiAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIDUwNDoKLSAgICAgICAgICAgICAgICByZXN1bHQg
PSBMUENUU1RSX1VJX1NUUklORygiZ2F0ZXdheSB0aW1lZCBvdXQiLCAiSFRUUCByZXN1bHQgY29k
ZSBzdHJpbmciKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJnYXRl
d2F5IHRpbWVkIG91dCIsICJIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyIpOwogICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSA1MDU6Ci0gICAgICAgICAgICAgICAgcmVzdWx0
ID0gTFBDVFNUUl9VSV9TVFJJTkcoInVuc3VwcG9ydGVkIHZlcnNpb24iLCAiSFRUUCByZXN1bHQg
Y29kZSBzdHJpbmciKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJ1
bnN1cHBvcnRlZCB2ZXJzaW9uIiwgIkhUVFAgcmVzdWx0IGNvZGUgc3RyaW5nIik7CiAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHJl
c3VsdCA9IExQQ1RTVFJfVUlfU1RSSU5HKCJzZXJ2ZXIgZXJyb3IiLCAiSFRUUCByZXN1bHQgY29k
ZSBzdHJpbmciKTsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBXRUJfVUlfU1RSSU5HKCJzZXJ2
ZXIgZXJyb3IiLCAiSFRUUCByZXN1bHQgY29kZSBzdHJpbmciKTsKICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQogICAgIH0KQEAgLTM3MiwxMSArMzcxLDExIEBAIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgV2ViVVJMUmVzcG9uc2UKICAgICBBU1NFUlQobV9yZXNwb25zZS5pc0hU
VFAoKSk7CiAgICAgaWYgKHN0YXR1c1N0cmluZykKICAgICAgICAgKnN0YXR1c1N0cmluZyA9IDA7
Ci0gICAgTFBDVFNUUiBzdGF0dXNUZXh0ID0gQ0ZIVFRQTWVzc2FnZUNvcHlMb2NhbGl6ZWRTaG9y
dERlc2NyaXB0aW9uRm9yU3RhdHVzQ29kZShzdGF0dXNDb2RlKTsKKyAgICBTdHJpbmcgc3RhdHVz
VGV4dCA9IENGSFRUUE1lc3NhZ2VDb3B5TG9jYWxpemVkU2hvcnREZXNjcmlwdGlvbkZvclN0YXR1
c0NvZGUoc3RhdHVzQ29kZSk7CiAgICAgaWYgKCFzdGF0dXNUZXh0KQogICAgICAgICByZXR1cm4g
RV9GQUlMOwogICAgIGlmIChzdGF0dXNTdHJpbmcpCi0gICAgICAgICpzdGF0dXNTdHJpbmcgPSBT
eXNBbGxvY1N0cmluZyhzdGF0dXNUZXh0KTsKKyAgICAgICAgKnN0YXR1c1N0cmluZyA9IEJTdHJp
bmcoc3RhdHVzVGV4dCkucmVsZWFzZSgpOwogICAgIHJldHVybiBTX09LOwogfQogCkluZGV4OiBT
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVu
dC5jcHAJKHJldmlzaW9uIDg0MDkwKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViRWRpdG9yQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAxMSBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw3
ICsyOCw2IEBACiAjaW5jbHVkZSAiV2ViRWRpdG9yQ2xpZW50LmgiCiAKICNpbmNsdWRlICJXZWJL
aXQuaCIKLSNpbmNsdWRlICJXZWJMb2NhbGl6YWJsZVN0cmluZ3MuaCIKICNpbmNsdWRlICJXZWJO
b3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25DZW50ZXIuaCIKICNpbmNs
dWRlICJXZWJWaWV3LmgiCkBAIC00MCw2ICszOSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9IVE1M
SW5wdXRFbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IVE1MTmFtZXMuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xvY2FsaXplZFN0
cmluZ3MuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jhbmdl
Lmg+CkBAIC00ODIsNDYgKzQ4Miw0NiBAQCBVTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBXZWJFZGl0
b3JVbmRvQ29tCiAgICAgcmV0dXJuIG5ld1JlZjsKIH0KIAotc3RhdGljIExQQ1RTVFIgdW5kb05h
bWVGb3JFZGl0QWN0aW9uKEVkaXRBY3Rpb24gZWRpdEFjdGlvbikKK3N0YXRpYyBTdHJpbmcgdW5k
b05hbWVGb3JFZGl0QWN0aW9uKEVkaXRBY3Rpb24gZWRpdEFjdGlvbikKIHsKICAgICBzd2l0Y2gg
KGVkaXRBY3Rpb24pIHsKLSAgICAgICAgY2FzZSBFZGl0QWN0aW9uVW5zcGVjaWZpZWQ6IHJldHVy
biAwOwotICAgICAgICBjYXNlIEVkaXRBY3Rpb25TZXRDb2xvcjogcmV0dXJuIExQQ1RTVFJfVUlf
U1RSSU5HX0tFWSgiU2V0IENvbG9yIiwgIlNldCBDb2xvciAoVW5kbyBhY3Rpb24gbmFtZSkiLCAi
VW5kbyBhY3Rpb24gbmFtZSIpOwotICAgICAgICBjYXNlIEVkaXRBY3Rpb25TZXRCYWNrZ3JvdW5k
Q29sb3I6IHJldHVybiBMUENUU1RSX1VJX1NUUklOR19LRVkoIlNldCBCYWNrZ3JvdW5kIENvbG9y
IiwgIlNldCBCYWNrZ3JvdW5kIENvbG9yIChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlv
biBuYW1lIik7Ci0gICAgICAgIGNhc2UgRWRpdEFjdGlvblR1cm5PZmZLZXJuaW5nOiByZXR1cm4g
TFBDVFNUUl9VSV9TVFJJTkdfS0VZKCJUdXJuIE9mZiBLZXJuaW5nIiwgIlR1cm4gT2ZmIEtlcm5p
bmcgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAgICAgICAgY2Fz
ZSBFZGl0QWN0aW9uVGlnaHRlbktlcm5pbmc6IHJldHVybiBMUENUU1RSX1VJX1NUUklOR19LRVko
IlRpZ2h0ZW4gS2VybmluZyIsICJUaWdodGVuIEtlcm5pbmcgKFVuZG8gYWN0aW9uIG5hbWUpIiwg
IlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAgICAgICAgY2FzZSBFZGl0QWN0aW9uTG9vc2VuS2Vybmlu
ZzogcmV0dXJuIExQQ1RTVFJfVUlfU1RSSU5HX0tFWSgiTG9vc2VuIEtlcm5pbmciLCAiTG9vc2Vu
IEtlcm5pbmcgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAgICAg
ICAgY2FzZSBFZGl0QWN0aW9uVXNlU3RhbmRhcmRLZXJuaW5nOiByZXR1cm4gTFBDVFNUUl9VSV9T
VFJJTkdfS0VZKCJVc2UgU3RhbmRhcmQgS2VybmluZyIsICJVc2UgU3RhbmRhcmQgS2VybmluZyAo
VW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOwotICAgICAgICBjYXNlIEVk
aXRBY3Rpb25UdXJuT2ZmTGlnYXR1cmVzOiByZXR1cm4gTFBDVFNUUl9VSV9TVFJJTkdfS0VZKCJU
dXJuIE9mZiBMaWdhdHVyZXMiLCAiVHVybiBPZmYgTGlnYXR1cmVzIChVbmRvIGFjdGlvbiBuYW1l
KSIsICJVbmRvIGFjdGlvbiBuYW1lIik7Ci0gICAgICAgIGNhc2UgRWRpdEFjdGlvblVzZVN0YW5k
YXJkTGlnYXR1cmVzOiByZXR1cm4gTFBDVFNUUl9VSV9TVFJJTkdfS0VZKCJVc2UgU3RhbmRhcmQg
TGlnYXR1cmVzIiwgIlVzZSBTdGFuZGFyZCBMaWdhdHVyZXMgKFVuZG8gYWN0aW9uIG5hbWUpIiwg
IlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAgICAgICAgY2FzZSBFZGl0QWN0aW9uVXNlQWxsTGlnYXR1
cmVzOiByZXR1cm4gTFBDVFNUUl9VSV9TVFJJTkdfS0VZKCJVc2UgQWxsIExpZ2F0dXJlcyIsICJV
c2UgQWxsIExpZ2F0dXJlcyAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIp
OwotICAgICAgICBjYXNlIEVkaXRBY3Rpb25SYWlzZUJhc2VsaW5lOiByZXR1cm4gTFBDVFNUUl9V
SV9TVFJJTkdfS0VZKCJSYWlzZSBCYXNlbGluZSIsICJSYWlzZSBCYXNlbGluZSAoVW5kbyBhY3Rp
b24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOwotICAgICAgICBjYXNlIEVkaXRBY3Rpb25M
b3dlckJhc2VsaW5lOiByZXR1cm4gTFBDVFNUUl9VSV9TVFJJTkdfS0VZKCJMb3dlciBCYXNlbGlu
ZSIsICJMb3dlciBCYXNlbGluZSAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFt
ZSIpOwotICAgICAgICBjYXNlIEVkaXRBY3Rpb25TZXRUcmFkaXRpb25hbENoYXJhY3RlclNoYXBl
OiByZXR1cm4gTFBDVFNUUl9VSV9TVFJJTkdfS0VZKCJTZXQgVHJhZGl0aW9uYWwgQ2hhcmFjdGVy
IFNoYXBlIiwgIlNldCBUcmFkaXRpb25hbCBDaGFyYWN0ZXIgU2hhcGUgKFVuZG8gYWN0aW9uIG5h
bWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAgICAgICAgY2FzZSBFZGl0QWN0aW9uU2V0Rm9u
dDogcmV0dXJuIExQQ1RTVFJfVUlfU1RSSU5HX0tFWSgiU2V0IEZvbnQiLCAiU2V0IEZvbnQgKFVu
ZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAgICAgICAgY2FzZSBFZGl0
QWN0aW9uQ2hhbmdlQXR0cmlidXRlczogcmV0dXJuIExQQ1RTVFJfVUlfU1RSSU5HX0tFWSgiQ2hh
bmdlIEF0dHJpYnV0ZXMiLCAiQ2hhbmdlIEF0dHJpYnV0ZXMgKFVuZG8gYWN0aW9uIG5hbWUpIiwg
IlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAgICAgICAgY2FzZSBFZGl0QWN0aW9uQWxpZ25MZWZ0OiBy
ZXR1cm4gTFBDVFNUUl9VSV9TVFJJTkdfS0VZKCJBbGlnbiBMZWZ0IiwgIkFsaWduIExlZnQgKFVu
ZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAgICAgICAgY2FzZSBFZGl0
QWN0aW9uQWxpZ25SaWdodDogcmV0dXJuIExQQ1RTVFJfVUlfU1RSSU5HX0tFWSgiQWxpZ24gUmln
aHQiLCAiQWxpZ24gUmlnaHQgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUi
KTsKLSAgICAgICAgY2FzZSBFZGl0QWN0aW9uQ2VudGVyOiByZXR1cm4gTFBDVFNUUl9VSV9TVFJJ
TkdfS0VZKCJDZW50ZXIiLCAiQ2VudGVyIChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlv
biBuYW1lIik7Ci0gICAgICAgIGNhc2UgRWRpdEFjdGlvbkp1c3RpZnk6IHJldHVybiBMUENUU1RS
X1VJX1NUUklOR19LRVkoIkp1c3RpZnkiLCAiSnVzdGlmeSAoVW5kbyBhY3Rpb24gbmFtZSkiLCAi
VW5kbyBhY3Rpb24gbmFtZSIpOwotICAgICAgICBjYXNlIEVkaXRBY3Rpb25TZXRXcml0aW5nRGly
ZWN0aW9uOiByZXR1cm4gTFBDVFNUUl9VSV9TVFJJTkdfS0VZKCJTZXQgV3JpdGluZyBEaXJlY3Rp
b24iLCAiU2V0IFdyaXRpbmcgRGlyZWN0aW9uIChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFj
dGlvbiBuYW1lIik7Ci0gICAgICAgIGNhc2UgRWRpdEFjdGlvblN1YnNjcmlwdDogcmV0dXJuIExQ
Q1RTVFJfVUlfU1RSSU5HX0tFWSgiU3Vic2NyaXB0IiwgIlN1YnNjcmlwdCAoVW5kbyBhY3Rpb24g
bmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOwotICAgICAgICBjYXNlIEVkaXRBY3Rpb25TdXBl
cnNjcmlwdDogcmV0dXJuIExQQ1RTVFJfVUlfU1RSSU5HX0tFWSgiU3VwZXJzY3JpcHQiLCAiU3Vw
ZXJzY3JpcHQgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAgICAg
ICAgY2FzZSBFZGl0QWN0aW9uVW5kZXJsaW5lOiByZXR1cm4gTFBDVFNUUl9VSV9TVFJJTkdfS0VZ
KCJVbmRlcmxpbmUiLCAiVW5kZXJsaW5lIChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlv
biBuYW1lIik7Ci0gICAgICAgIGNhc2UgRWRpdEFjdGlvbk91dGxpbmU6IHJldHVybiBMUENUU1RS
X1VJX1NUUklOR19LRVkoIk91dGxpbmUiLCAiT3V0bGluZSAoVW5kbyBhY3Rpb24gbmFtZSkiLCAi
VW5kbyBhY3Rpb24gbmFtZSIpOwotICAgICAgICBjYXNlIEVkaXRBY3Rpb25VbnNjcmlwdDogcmV0
dXJuIExQQ1RTVFJfVUlfU1RSSU5HX0tFWSgiVW5zY3JpcHQiLCAiVW5zY3JpcHQgKFVuZG8gYWN0
aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAgICAgICAgY2FzZSBFZGl0QWN0aW9u
RHJhZzogcmV0dXJuIExQQ1RTVFJfVUlfU1RSSU5HX0tFWSgiRHJhZyIsICJEcmFnIChVbmRvIGFj
dGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7Ci0gICAgICAgIGNhc2UgRWRpdEFjdGlv
bkN1dDogcmV0dXJuIExQQ1RTVFJfVUlfU1RSSU5HX0tFWSgiQ3V0IiwgIkN1dCAoVW5kbyBhY3Rp
b24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOwotICAgICAgICBjYXNlIEVkaXRBY3Rpb25Q
YXN0ZTogcmV0dXJuIExQQ1RTVFJfVUlfU1RSSU5HX0tFWSgiUGFzdGUiLCAiUGFzdGUgKFVuZG8g
YWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAgICAgICAgY2FzZSBFZGl0QWN0
aW9uUGFzdGVGb250OiByZXR1cm4gTFBDVFNUUl9VSV9TVFJJTkdfS0VZKCJQYXN0ZSBGb250Iiwg
IlBhc3RlIEZvbnQgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAg
ICAgICAgY2FzZSBFZGl0QWN0aW9uUGFzdGVSdWxlcjogcmV0dXJuIExQQ1RTVFJfVUlfU1RSSU5H
X0tFWSgiUGFzdGUgUnVsZXIiLCAiUGFzdGUgUnVsZXIgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVu
ZG8gYWN0aW9uIG5hbWUiKTsKLSAgICAgICAgY2FzZSBFZGl0QWN0aW9uVHlwaW5nOiByZXR1cm4g
TFBDVFNUUl9VSV9TVFJJTkdfS0VZKCJUeXBpbmciLCAiVHlwaW5nIChVbmRvIGFjdGlvbiBuYW1l
KSIsICJVbmRvIGFjdGlvbiBuYW1lIik7Ci0gICAgICAgIGNhc2UgRWRpdEFjdGlvbkNyZWF0ZUxp
bms6IHJldHVybiBMUENUU1RSX1VJX1NUUklOR19LRVkoIkNyZWF0ZSBMaW5rIiwgIkNyZWF0ZSBM
aW5rIChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7Ci0gICAgICAgIGNh
c2UgRWRpdEFjdGlvblVubGluazogcmV0dXJuIExQQ1RTVFJfVUlfU1RSSU5HX0tFWSgiVW5saW5r
IiwgIlVubGluayAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOwotICAg
ICAgICBjYXNlIEVkaXRBY3Rpb25JbnNlcnRMaXN0OiByZXR1cm4gTFBDVFNUUl9VSV9TVFJJTkdf
S0VZKCJJbnNlcnQgTGlzdCIsICJJbnNlcnQgTGlzdCAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5k
byBhY3Rpb24gbmFtZSIpOwotICAgICAgICBjYXNlIEVkaXRBY3Rpb25Gb3JtYXRCbG9jazogcmV0
dXJuIExQQ1RTVFJfVUlfU1RSSU5HX0tFWSgiRm9ybWF0dGluZyIsICJGb3JtYXQgQmxvY2sgKFVu
ZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKLSAgICAgICAgY2FzZSBFZGl0
QWN0aW9uSW5kZW50OiByZXR1cm4gTFBDVFNUUl9VSV9TVFJJTkdfS0VZKCJJbmRlbnQiLCAiSW5k
ZW50IChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7Ci0gICAgICAgIGNh
c2UgRWRpdEFjdGlvbk91dGRlbnQ6IHJldHVybiBMUENUU1RSX1VJX1NUUklOR19LRVkoIk91dGRl
bnQiLCAiT3V0ZGVudCAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOwor
ICAgIGNhc2UgRWRpdEFjdGlvblVuc3BlY2lmaWVkOiByZXR1cm4gMDsKKyAgICBjYXNlIEVkaXRB
Y3Rpb25TZXRDb2xvcjogcmV0dXJuIFdFQl9VSV9TVFJJTkdfS0VZKCJTZXQgQ29sb3IiLCAiU2V0
IENvbG9yIChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CisgICAgY2Fz
ZSBFZGl0QWN0aW9uU2V0QmFja2dyb3VuZENvbG9yOiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVko
IlNldCBCYWNrZ3JvdW5kIENvbG9yIiwgIlNldCBCYWNrZ3JvdW5kIENvbG9yIChVbmRvIGFjdGlv
biBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CisgICAgY2FzZSBFZGl0QWN0aW9uVHVybk9m
Zktlcm5pbmc6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiVHVybiBPZmYgS2VybmluZyIsICJU
dXJuIE9mZiBLZXJuaW5nIChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7
CisgICAgY2FzZSBFZGl0QWN0aW9uVGlnaHRlbktlcm5pbmc6IHJldHVybiBXRUJfVUlfU1RSSU5H
X0tFWSgiVGlnaHRlbiBLZXJuaW5nIiwgIlRpZ2h0ZW4gS2VybmluZyAoVW5kbyBhY3Rpb24gbmFt
ZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOworICAgIGNhc2UgRWRpdEFjdGlvbkxvb3Nlbktlcm5p
bmc6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiTG9vc2VuIEtlcm5pbmciLCAiTG9vc2VuIEtl
cm5pbmcgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKKyAgICBjYXNl
IEVkaXRBY3Rpb25Vc2VTdGFuZGFyZEtlcm5pbmc6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgi
VXNlIFN0YW5kYXJkIEtlcm5pbmciLCAiVXNlIFN0YW5kYXJkIEtlcm5pbmcgKFVuZG8gYWN0aW9u
IG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKKyAgICBjYXNlIEVkaXRBY3Rpb25UdXJuT2Zm
TGlnYXR1cmVzOiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIlR1cm4gT2ZmIExpZ2F0dXJlcyIs
ICJUdXJuIE9mZiBMaWdhdHVyZXMgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5h
bWUiKTsKKyAgICBjYXNlIEVkaXRBY3Rpb25Vc2VTdGFuZGFyZExpZ2F0dXJlczogcmV0dXJuIFdF
Ql9VSV9TVFJJTkdfS0VZKCJVc2UgU3RhbmRhcmQgTGlnYXR1cmVzIiwgIlVzZSBTdGFuZGFyZCBM
aWdhdHVyZXMgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKKyAgICBj
YXNlIEVkaXRBY3Rpb25Vc2VBbGxMaWdhdHVyZXM6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgi
VXNlIEFsbCBMaWdhdHVyZXMiLCAiVXNlIEFsbCBMaWdhdHVyZXMgKFVuZG8gYWN0aW9uIG5hbWUp
IiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKKyAgICBjYXNlIEVkaXRBY3Rpb25SYWlzZUJhc2VsaW5l
OiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIlJhaXNlIEJhc2VsaW5lIiwgIlJhaXNlIEJhc2Vs
aW5lIChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CisgICAgY2FzZSBF
ZGl0QWN0aW9uTG93ZXJCYXNlbGluZTogcmV0dXJuIFdFQl9VSV9TVFJJTkdfS0VZKCJMb3dlciBC
YXNlbGluZSIsICJMb3dlciBCYXNlbGluZSAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rp
b24gbmFtZSIpOworICAgIGNhc2UgRWRpdEFjdGlvblNldFRyYWRpdGlvbmFsQ2hhcmFjdGVyU2hh
cGU6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiU2V0IFRyYWRpdGlvbmFsIENoYXJhY3RlciBT
aGFwZSIsICJTZXQgVHJhZGl0aW9uYWwgQ2hhcmFjdGVyIFNoYXBlIChVbmRvIGFjdGlvbiBuYW1l
KSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CisgICAgY2FzZSBFZGl0QWN0aW9uU2V0Rm9udDogcmV0
dXJuIFdFQl9VSV9TVFJJTkdfS0VZKCJTZXQgRm9udCIsICJTZXQgRm9udCAoVW5kbyBhY3Rpb24g
bmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOworICAgIGNhc2UgRWRpdEFjdGlvbkNoYW5nZUF0
dHJpYnV0ZXM6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiQ2hhbmdlIEF0dHJpYnV0ZXMiLCAi
Q2hhbmdlIEF0dHJpYnV0ZXMgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUi
KTsKKyAgICBjYXNlIEVkaXRBY3Rpb25BbGlnbkxlZnQ6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tF
WSgiQWxpZ24gTGVmdCIsICJBbGlnbiBMZWZ0IChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFj
dGlvbiBuYW1lIik7CisgICAgY2FzZSBFZGl0QWN0aW9uQWxpZ25SaWdodDogcmV0dXJuIFdFQl9V
SV9TVFJJTkdfS0VZKCJBbGlnbiBSaWdodCIsICJBbGlnbiBSaWdodCAoVW5kbyBhY3Rpb24gbmFt
ZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOworICAgIGNhc2UgRWRpdEFjdGlvbkNlbnRlcjogcmV0
dXJuIFdFQl9VSV9TVFJJTkdfS0VZKCJDZW50ZXIiLCAiQ2VudGVyIChVbmRvIGFjdGlvbiBuYW1l
KSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CisgICAgY2FzZSBFZGl0QWN0aW9uSnVzdGlmeTogcmV0
dXJuIFdFQl9VSV9TVFJJTkdfS0VZKCJKdXN0aWZ5IiwgIkp1c3RpZnkgKFVuZG8gYWN0aW9uIG5h
bWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKKyAgICBjYXNlIEVkaXRBY3Rpb25TZXRXcml0aW5n
RGlyZWN0aW9uOiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIlNldCBXcml0aW5nIERpcmVjdGlv
biIsICJTZXQgV3JpdGluZyBEaXJlY3Rpb24gKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0
aW9uIG5hbWUiKTsKKyAgICBjYXNlIEVkaXRBY3Rpb25TdWJzY3JpcHQ6IHJldHVybiBXRUJfVUlf
U1RSSU5HX0tFWSgiU3Vic2NyaXB0IiwgIlN1YnNjcmlwdCAoVW5kbyBhY3Rpb24gbmFtZSkiLCAi
VW5kbyBhY3Rpb24gbmFtZSIpOworICAgIGNhc2UgRWRpdEFjdGlvblN1cGVyc2NyaXB0OiByZXR1
cm4gV0VCX1VJX1NUUklOR19LRVkoIlN1cGVyc2NyaXB0IiwgIlN1cGVyc2NyaXB0IChVbmRvIGFj
dGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CisgICAgY2FzZSBFZGl0QWN0aW9uVW5k
ZXJsaW5lOiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIlVuZGVybGluZSIsICJVbmRlcmxpbmUg
KFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKKyAgICBjYXNlIEVkaXRB
Y3Rpb25PdXRsaW5lOiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIk91dGxpbmUiLCAiT3V0bGlu
ZSAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOworICAgIGNhc2UgRWRp
dEFjdGlvblVuc2NyaXB0OiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIlVuc2NyaXB0IiwgIlVu
c2NyaXB0IChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CisgICAgY2Fz
ZSBFZGl0QWN0aW9uRHJhZzogcmV0dXJuIFdFQl9VSV9TVFJJTkdfS0VZKCJEcmFnIiwgIkRyYWcg
KFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKKyAgICBjYXNlIEVkaXRB
Y3Rpb25DdXQ6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiQ3V0IiwgIkN1dCAoVW5kbyBhY3Rp
b24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOworICAgIGNhc2UgRWRpdEFjdGlvblBhc3Rl
OiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIlBhc3RlIiwgIlBhc3RlIChVbmRvIGFjdGlvbiBu
YW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CisgICAgY2FzZSBFZGl0QWN0aW9uUGFzdGVGb250
OiByZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIlBhc3RlIEZvbnQiLCAiUGFzdGUgRm9udCAoVW5k
byBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOworICAgIGNhc2UgRWRpdEFjdGlv
blBhc3RlUnVsZXI6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiUGFzdGUgUnVsZXIiLCAiUGFz
dGUgUnVsZXIgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKKyAgICBj
YXNlIEVkaXRBY3Rpb25UeXBpbmc6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiVHlwaW5nIiwg
IlR5cGluZyAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOworICAgIGNh
c2UgRWRpdEFjdGlvbkNyZWF0ZUxpbms6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tFWSgiQ3JlYXRl
IExpbmsiLCAiQ3JlYXRlIExpbmsgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5h
bWUiKTsKKyAgICBjYXNlIEVkaXRBY3Rpb25Vbmxpbms6IHJldHVybiBXRUJfVUlfU1RSSU5HX0tF
WSgiVW5saW5rIiwgIlVubGluayAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFt
ZSIpOworICAgIGNhc2UgRWRpdEFjdGlvbkluc2VydExpc3Q6IHJldHVybiBXRUJfVUlfU1RSSU5H
X0tFWSgiSW5zZXJ0IExpc3QiLCAiSW5zZXJ0IExpc3QgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVu
ZG8gYWN0aW9uIG5hbWUiKTsKKyAgICBjYXNlIEVkaXRBY3Rpb25Gb3JtYXRCbG9jazogcmV0dXJu
IFdFQl9VSV9TVFJJTkdfS0VZKCJGb3JtYXR0aW5nIiwgIkZvcm1hdCBCbG9jayAoVW5kbyBhY3Rp
b24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOworICAgIGNhc2UgRWRpdEFjdGlvbkluZGVu
dDogcmV0dXJuIFdFQl9VSV9TVFJJTkdfS0VZKCJJbmRlbnQiLCAiSW5kZW50IChVbmRvIGFjdGlv
biBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CisgICAgY2FzZSBFZGl0QWN0aW9uT3V0ZGVu
dDogcmV0dXJuIFdFQl9VSV9TVFJJTkdfS0VZKCJPdXRkZW50IiwgIk91dGRlbnQgKFVuZG8gYWN0
aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKICAgICB9CiAgICAgcmV0dXJuIDA7CiB9
CkBAIC01MzAsMTcgKzUzMCwxNCBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6cmVnaXN0ZXJDb21t
YW5kRm9yCiB7CiAgICAgSVdlYlVJRGVsZWdhdGUqIHVpRGVsZWdhdGUgPSAwOwogICAgIGlmIChT
VUNDRUVERUQobV93ZWJWaWV3LT51aURlbGVnYXRlKCZ1aURlbGVnYXRlKSkpIHsKLSAgICAgICAg
TFBDVFNUUiBhY3Rpb25OYW1lID0gdW5kb05hbWVGb3JFZGl0QWN0aW9uKGNvbW1hbmQtPmVkaXRp
bmdBY3Rpb24oKSk7CisgICAgICAgIFN0cmluZyBhY3Rpb25OYW1lID0gdW5kb05hbWVGb3JFZGl0
QWN0aW9uKGNvbW1hbmQtPmVkaXRpbmdBY3Rpb24oKSk7CiAgICAgICAgIFdlYkVkaXRvclVuZG9D
b21tYW5kKiB1bmRvQ29tbWFuZCA9IG5ldyBXZWJFZGl0b3JVbmRvQ29tbWFuZChjb21tYW5kLCB0
cnVlKTsKICAgICAgICAgaWYgKCF1bmRvQ29tbWFuZCkKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgdWlEZWxlZ2F0ZS0+cmVnaXN0ZXJVbmRvV2l0aFRhcmdldChtX3VuZG9UYXJnZXQsIDAs
IHVuZG9Db21tYW5kKTsKICAgICAgICAgdW5kb0NvbW1hbmQtPlJlbGVhc2UoKTsgLy8gdGhlIHVu
ZG8gbWFuYWdlciBvd25zIHRoZSByZWZlcmVuY2UKLSAgICAgICAgQlNUUiBhY3Rpb25OYW1lQlNU
UiA9IFN5c0FsbG9jU3RyaW5nKGFjdGlvbk5hbWUpOwotICAgICAgICBpZiAoYWN0aW9uTmFtZUJT
VFIpIHsKLSAgICAgICAgICAgIHVpRGVsZWdhdGUtPnNldEFjdGlvblRpdGxlKGFjdGlvbk5hbWVC
U1RSKTsKLSAgICAgICAgICAgIFN5c0ZyZWVTdHJpbmcoYWN0aW9uTmFtZUJTVFIpOwotICAgICAg
ICB9CisgICAgICAgIGlmICghYWN0aW9uTmFtZS5pc0VtcHR5KCkpCisgICAgICAgICAgICB1aURl
bGVnYXRlLT5zZXRBY3Rpb25UaXRsZShCU3RyaW5nKGFjdGlvbk5hbWUpKTsKICAgICAgICAgdWlE
ZWxlZ2F0ZS0+UmVsZWFzZSgpOwogICAgIH0KIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAko
cmV2aXNpb24gODQwOTApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNiwxMyArMjYsOSBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogCi0j
aW5jbHVkZSAiV2ViTG9jYWxpemFibGVTdHJpbmdzLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9JbnRT
aXplLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdl
R3JvdXAuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGFiYXNlLmg+Ci0jaW5jbHVkZSA8
d3RmL01hdGhFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCkBAIC01NiwxMSArNTIsNiBAQCBQbHVnaW5TdHJhdGVneSogV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjpjCiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKLUxvY2FsaXphdGlv
blN0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZUxvY2FsaXphdGlvblN0cmF0
ZWd5KCkKLXsKLSAgICByZXR1cm4gdGhpczsKLX0KLQogVmlzaXRlZExpbmtTdHJhdGVneSogV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKIHsKICAgICBy
ZXR1cm4gdGhpczsKQEAgLTEwOCw1NjAgKzk5LDYgQEAgdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXM6OmdldFBsdWdpbkluZgogICAgIH0KIH0KIAotLy8gTG9jYWxpemF0aW9uU3RyYXRlZ3kgICAg
Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnNlYXJjaGFibGVJbmRleEludHJvZHVj
dGlvbigpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiVGhpcyBpcyBhIHNlYXJjaGFibGUgaW5k
ZXguIEVudGVyIHNlYXJjaCBrZXl3b3JkczogIiwgInRleHQgdGhhdCBhcHBlYXJzIGF0IHRoZSBz
dGFydCBvZiBuZWFybHktb2Jzb2xldGUgd2ViIHBhZ2VzIGluIHRoZSBmb3JtIG9mIGEgJ3NlYXJj
aGFibGUgaW5kZXgnIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnN1Ym1p
dEJ1dHRvbkRlZmF1bHRMYWJlbCgpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiU3VibWl0Iiwg
ImRlZmF1bHQgbGFiZWwgZm9yIFN1Ym1pdCBidXR0b25zIGluIGZvcm1zIG9uIHdlYiBwYWdlcyIp
OwotfQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppbnB1dEVsZW1lbnRBbHRUZXh0
KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HX0tFWSgiU3VibWl0IiwgIlN1Ym1pdCAoaW5wdXQg
ZWxlbWVudCkiLCAiYWx0IHRleHQgZm9yIDxpbnB1dD4gZWxlbWVudHMgd2l0aCBubyBhbHQsIHRp
dGxlLCBvciB2YWx1ZSIpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpyZXNl
dEJ1dHRvbkRlZmF1bHRMYWJlbCgpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiUmVzZXQiLCAi
ZGVmYXVsdCBsYWJlbCBmb3IgUmVzZXQgYnV0dG9ucyBpbiBmb3JtcyBvbiB3ZWIgcGFnZXMiKTsK
LX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6ZmlsZUJ1dHRvbkNob29zZUZpbGVM
YWJlbCgpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiQ2hvb3NlIEZpbGUiLCAidGl0bGUgZm9y
IGZpbGUgYnV0dG9uIHVzZWQgaW4gSFRNTCBmb3JtcyIpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjpmaWxlQnV0dG9uTm9GaWxlU2VsZWN0ZWRMYWJlbCgpCi17Ci0gICAgcmV0
dXJuIFVJX1NUUklORygibm8gZmlsZSBzZWxlY3RlZCIsICJ0ZXh0IHRvIGRpc3BsYXkgaW4gZmls
ZSBidXR0b24gdXNlZCBpbiBIVE1MIGZvcm1zIHdoZW4gbm8gZmlsZSBpcyBzZWxlY3RlZCIpOwot
fQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpkZWZhdWx0RGV0YWlsc1N1bW1hcnlU
ZXh0KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJEZXRhaWxzIiwgInRleHQgdG8gZGlzcGxh
eSBpbiA8ZGV0YWlscz4gdGFnIHdoZW4gaXQgaGFzIG5vIDxzdW1tYXJ5PiBjaGlsZCIpOwotfQot
Ci1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjb250ZXh0TWVudUl0ZW1UYWdPcGVuTGlu
a0luTmV3V2luZG93KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJPcGVuIExpbmsgaW4gTmV3
IFdpbmRvdyIsICJPcGVuIGluIE5ldyBXaW5kb3cgY29udGV4dCBtZW51IGl0ZW0iKTsKLX0KLQot
U3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRM
aW5rVG9EaXNrKCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJEb3dubG9hZCBMaW5rZWQgRmls
ZSIsICJEb3dubG9hZCBMaW5rZWQgRmlsZSBjb250ZXh0IG1lbnUgaXRlbSIpOwotfQotCi1TdHJp
bmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjb250ZXh0TWVudUl0ZW1UYWdDb3B5TGlua1RvQ2xp
cGJvYXJkKCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJDb3B5IExpbmsiLCAiQ29weSBMaW5r
IGNvbnRleHQgbWVudSBpdGVtIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6
OmNvbnRleHRNZW51SXRlbVRhZ09wZW5JbWFnZUluTmV3V2luZG93KCkKLXsKLSAgICByZXR1cm4g
VUlfU1RSSU5HKCJPcGVuIEltYWdlIGluIE5ldyBXaW5kb3ciLCAiT3BlbiBJbWFnZSBpbiBOZXcg
V2luZG93IGNvbnRleHQgbWVudSBpdGVtIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OmNvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkSW1hZ2VUb0Rpc2soKQotewotICAgIHJl
dHVybiBVSV9TVFJJTkcoIkRvd25sb2FkIEltYWdlIiwgIkRvd25sb2FkIEltYWdlIGNvbnRleHQg
bWVudSBpdGVtIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRleHRN
ZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5H
KCJDb3B5IEltYWdlIiwgIkNvcHkgSW1hZ2UgY29udGV4dCBtZW51IGl0ZW0iKTsKLX0KLQotU3Ry
aW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y29udGV4dE1lbnVJdGVtVGFnT3BlblZpZGVvSW5O
ZXdXaW5kb3coKQotewotICAgIHJldHVybiBVSV9TVFJJTkcoIk9wZW4gVmlkZW8gaW4gTmV3IFdp
bmRvdyIsICJPcGVuIFZpZGVvIGluIE5ldyBXaW5kb3cgY29udGV4dCBtZW51IGl0ZW0iKTsKLX0K
LQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y29udGV4dE1lbnVJdGVtVGFnT3BlbkF1
ZGlvSW5OZXdXaW5kb3coKQotewotICAgIHJldHVybiBVSV9TVFJJTkcoIk9wZW4gQXVkaW8gaW4g
TmV3IFdpbmRvdyIsICJPcGVuIEF1ZGlvIGluIE5ldyBXaW5kb3cgY29udGV4dCBtZW51IGl0ZW0i
KTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y29udGV4dE1lbnVJdGVtVGFn
Q29weVZpZGVvTGlua1RvQ2xpcGJvYXJkKCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJDb3B5
IFZpZGVvIEFkZHJlc3MiLCAiQ29weSBWaWRlbyBBZGRyZXNzIExvY2F0aW9uIGNvbnRleHQgbWVu
dSBpdGVtIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRleHRNZW51
SXRlbVRhZ0NvcHlBdWRpb0xpbmtUb0NsaXBib2FyZCgpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklO
RygiQ29weSBBdWRpbyBBZGRyZXNzIiwgIkNvcHkgQXVkaW8gQWRkcmVzcyBMb2NhdGlvbiBjb250
ZXh0IG1lbnUgaXRlbSIpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjb250
ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzKCkKLXsKLSAgICByZXR1cm4gVUlfU1RS
SU5HKCJDb250cm9scyIsICJNZWRpYSBDb250cm9scyBjb250ZXh0IG1lbnUgaXRlbSIpOwotfQot
Ci1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVN
ZWRpYUxvb3AoKQotewotICAgIHJldHVybiBVSV9TVFJJTkcoIkxvb3AiLCAiTWVkaWEgTG9vcCBj
b250ZXh0IG1lbnUgaXRlbSIpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpj
b250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpCi17Ci0gICAgcmV0dXJuIFVJ
X1NUUklORygiRW50ZXIgRnVsbHNjcmVlbiIsICJWaWRlbyBFbnRlciBGdWxsc2NyZWVuIGNvbnRl
eHQgbWVudSBpdGVtIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRl
eHRNZW51SXRlbVRhZ01lZGlhUGxheSgpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiUGxheSIs
ICJNZWRpYSBQbGF5IGNvbnRleHQgbWVudSBpdGVtIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OmNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGF1c2UoKQotewotICAgIHJldHVy
biBVSV9TVFJJTkcoIlBhdXNlIiwgIk1lZGlhIFBhdXNlIGNvbnRleHQgbWVudSBpdGVtIik7Ci19
Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRleHRNZW51SXRlbVRhZ01lZGlh
TXV0ZSgpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiTXV0ZSIsICJNZWRpYSBNdXRlIGNvbnRl
eHQgbWVudSBpdGVtIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRl
eHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KCkKLXsKLSAgICByZXR1cm4gVUlfU1RS
SU5HKCJPcGVuIEZyYW1lIGluIE5ldyBXaW5kb3ciLCAiT3BlbiBGcmFtZSBpbiBOZXcgV2luZG93
IGNvbnRleHQgbWVudSBpdGVtIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6
OmNvbnRleHRNZW51SXRlbVRhZ0NvcHkoKQotewotICAgIHJldHVybiBVSV9TVFJJTkcoIkNvcHki
LCAiQ29weSBjb250ZXh0IG1lbnUgaXRlbSIpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJh
dGVnaWVzOjpjb250ZXh0TWVudUl0ZW1UYWdHb0JhY2soKQotewotICAgIHJldHVybiBVSV9TVFJJ
TkcoIkJhY2siLCAiQmFjayBjb250ZXh0IG1lbnUgaXRlbSIpOwotfQotCi1TdHJpbmcgV2ViUGxh
dGZvcm1TdHJhdGVnaWVzOjpjb250ZXh0TWVudUl0ZW1UYWdHb0ZvcndhcmQoKQotewotICAgIHJl
dHVybiBVSV9TVFJJTkcoIkZvcndhcmQiLCAiRm9yd2FyZCBjb250ZXh0IG1lbnUgaXRlbSIpOwot
fQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjb250ZXh0TWVudUl0ZW1UYWdTdG9w
KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJTdG9wIiwgIlN0b3AgY29udGV4dCBtZW51IGl0
ZW0iKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y29udGV4dE1lbnVJdGVt
VGFnUmVsb2FkKCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJSZWxvYWQiLCAiUmVsb2FkIGNv
bnRleHQgbWVudSBpdGVtIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNv
bnRleHRNZW51SXRlbVRhZ0N1dCgpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiQ3V0IiwgIkN1
dCBjb250ZXh0IG1lbnUgaXRlbSIpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVz
Ojpjb250ZXh0TWVudUl0ZW1UYWdQYXN0ZSgpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiUGFz
dGUiLCAiUGFzdGUgY29udGV4dCBtZW51IGl0ZW0iKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3Jt
U3RyYXRlZ2llczo6Y29udGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91bmQoKQotewotICAgIHJl
dHVybiBVSV9TVFJJTkcoIk5vIEd1ZXNzZXMgRm91bmQiLCAiTm8gR3Vlc3NlcyBGb3VuZCBjb250
ZXh0IG1lbnUgaXRlbSIpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjb250
ZXh0TWVudUl0ZW1UYWdJZ25vcmVTcGVsbGluZygpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygi
SWdub3JlIFNwZWxsaW5nIiwgIklnbm9yZSBTcGVsbGluZyBjb250ZXh0IG1lbnUgaXRlbSIpOwot
fQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjb250ZXh0TWVudUl0ZW1UYWdMZWFy
blNwZWxsaW5nKCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJMZWFybiBTcGVsbGluZyIsICJM
ZWFybiBTcGVsbGluZyBjb250ZXh0IG1lbnUgaXRlbSIpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjpjb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hXZWIoKQotewotICAgIHJldHVy
biBVSV9TVFJJTkcoIlNlYXJjaCB3aXRoIEdvb2dsZSIsICJTZWFyY2ggaW4gR29vZ2xlIGNvbnRl
eHQgbWVudSBpdGVtIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRl
eHRNZW51SXRlbVRhZ0xvb2tVcEluRGljdGlvbmFyeShjb25zdCBTdHJpbmcmKQotewotICAgIHJl
dHVybiBVSV9TVFJJTkcoIkxvb2sgVXAgaW4gRGljdGlvbmFyeSIsICJMb29rIFVwIGluIERpY3Rp
b25hcnkgY29udGV4dCBtZW51IGl0ZW0iKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRl
Z2llczo6Y29udGV4dE1lbnVJdGVtVGFnT3BlbkxpbmsoKQotewotICAgIHJldHVybiBVSV9TVFJJ
TkcoIk9wZW4gTGluayIsICJPcGVuIExpbmsgY29udGV4dCBtZW51IGl0ZW0iKTsKLX0KLQotU3Ry
aW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y29udGV4dE1lbnVJdGVtVGFnSWdub3JlR3JhbW1h
cigpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiSWdub3JlIEdyYW1tYXIiLCAiSWdub3JlIEdy
YW1tYXIgY29udGV4dCBtZW51IGl0ZW0iKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRl
Z2llczo6Y29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdNZW51KCkKLXsKLSAgICByZXR1cm4gVUlf
U1RSSU5HKCJTcGVsbGluZyBhbmQgR3JhbW1hciIsICJTcGVsbGluZyBhbmQgR3JhbW1hciBjb250
ZXh0IHN1Yi1tZW51IGl0ZW0iKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6
Y29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGluZygpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklO
RygiQ2hlY2sgRG9jdW1lbnQgTm93IiwgIkNoZWNrIHNwZWxsaW5nIGNvbnRleHQgbWVudSBpdGVt
Iik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRleHRNZW51SXRlbVRh
Z0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZygpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiQ2hl
Y2sgU3BlbGxpbmcgV2hpbGUgVHlwaW5nIiwgIkNoZWNrIHNwZWxsaW5nIHdoaWxlIHR5cGluZyBj
b250ZXh0IG1lbnUgaXRlbSIpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpj
b250ZXh0TWVudUl0ZW1UYWdDaGVja0dyYW1tYXJXaXRoU3BlbGxpbmcoKQotewotICAgIHJldHVy
biBVSV9TVFJJTkcoIkNoZWNrIEdyYW1tYXIgV2l0aCBTcGVsbGluZyIsICJDaGVjayBncmFtbWFy
IHdpdGggc3BlbGxpbmcgY29udGV4dCBtZW51IGl0ZW0iKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRm
b3JtU3RyYXRlZ2llczo6Y29udGV4dE1lbnVJdGVtVGFnRm9udE1lbnUoKQotewotICAgIHJldHVy
biBVSV9TVFJJTkcoIkZvbnQiLCAiRm9udCBjb250ZXh0IHN1Yi1tZW51IGl0ZW0iKTsKLX0KLQot
U3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y29udGV4dE1lbnVJdGVtVGFnQm9sZCgpCi17
Ci0gICAgcmV0dXJuIFVJX1NUUklORygiQm9sZCIsICJCb2xkIGNvbnRleHQgbWVudSBpdGVtIik7
Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRleHRNZW51SXRlbVRhZ0l0
YWxpYygpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiSXRhbGljIiwgIkl0YWxpYyBjb250ZXh0
IG1lbnUgaXRlbSIpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjb250ZXh0
TWVudUl0ZW1UYWdVbmRlcmxpbmUoKQotewotICAgIHJldHVybiBVSV9TVFJJTkcoIlVuZGVybGlu
ZSIsICJVbmRlcmxpbmUgY29udGV4dCBtZW51IGl0ZW0iKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRm
b3JtU3RyYXRlZ2llczo6Y29udGV4dE1lbnVJdGVtVGFnT3V0bGluZSgpCi17Ci0gICAgcmV0dXJu
IFVJX1NUUklORygiT3V0bGluZSIsICJPdXRsaW5lIGNvbnRleHQgbWVudSBpdGVtIik7Ci19Ci0K
LVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRleHRNZW51SXRlbVRhZ1dyaXRpbmdE
aXJlY3Rpb25NZW51KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJQYXJhZ3JhcGggRGlyZWN0
aW9uIiwgIlBhcmFncmFwaCBkaXJlY3Rpb24gY29udGV4dCBzdWItbWVudSBpdGVtIik7Ci19Ci0K
LVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRleHRNZW51SXRlbVRhZ1RleHREaXJl
Y3Rpb25NZW51KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJTZWxlY3Rpb24gRGlyZWN0aW9u
IiwgIlNlbGVjdGlvbiBkaXJlY3Rpb24gY29udGV4dCBzdWItbWVudSBpdGVtIik7Ci19Ci0KLVN0
cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRleHRNZW51SXRlbVRhZ0RlZmF1bHREaXJl
Y3Rpb24oKQotewotICAgIHJldHVybiBVSV9TVFJJTkcoIkRlZmF1bHQiLCAiRGVmYXVsdCB3cml0
aW5nIGRpcmVjdGlvbiBjb250ZXh0IG1lbnUgaXRlbSIpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjpjb250ZXh0TWVudUl0ZW1UYWdMZWZ0VG9SaWdodCgpCi17Ci0gICAgcmV0
dXJuIFVJX1NUUklORygiTGVmdCB0byBSaWdodCIsICJMZWZ0IHRvIFJpZ2h0IGNvbnRleHQgbWVu
dSBpdGVtIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRleHRNZW51
SXRlbVRhZ1JpZ2h0VG9MZWZ0KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJSaWdodCB0byBM
ZWZ0IiwgIlJpZ2h0IHRvIExlZnQgY29udGV4dCBtZW51IGl0ZW0iKTsKLX0KLQotU3RyaW5nIFdl
YlBsYXRmb3JtU3RyYXRlZ2llczo6Y29udGV4dE1lbnVJdGVtVGFnU2hvd1NwZWxsaW5nUGFuZWwo
Ym9vbCBzaG93KQotewotICAgIGlmIChzaG93KQotICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJT
aG93IFNwZWxsaW5nIGFuZCBHcmFtbWFyIiwgIm1lbnUgaXRlbSB0aXRsZSIpOwotICAgIHJldHVy
biBVSV9TVFJJTkcoIkhpZGUgU3BlbGxpbmcgYW5kIEdyYW1tYXIiLCAibWVudSBpdGVtIHRpdGxl
Iik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRleHRNZW51SXRlbVRh
Z0luc3BlY3RFbGVtZW50KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJJbnNwZWN0IEVsZW1l
bnQiLCAiSW5zcGVjdCBFbGVtZW50IGNvbnRleHQgbWVudSBpdGVtIik7Ci19Ci0KLVN0cmluZyBX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnNlYXJjaE1lbnVOb1JlY2VudFNlYXJjaGVzVGV4dCgpCi17
Ci0gICAgcmV0dXJuIFVJX1NUUklORygiTm8gcmVjZW50IHNlYXJjaGVzIiwgIkxhYmVsIGZvciBv
bmx5IGl0ZW0gaW4gbWVudSB0aGF0IGFwcGVhcnMgd2hlbiBjbGlja2luZyBvbiB0aGUgc2VhcmNo
IGZpZWxkIGltYWdlLCB3aGVuIG5vIHNlYXJjaGVzIGhhdmUgYmVlbiBwZXJmb3JtZWQiKTsKLX0K
LQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6c2VhcmNoTWVudVJlY2VudFNlYXJjaGVz
VGV4dCgpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiUmVjZW50IFNlYXJjaGVzIiwgImxhYmVs
IGZvciBmaXJzdCBpdGVtIGluIHRoZSBtZW51IHRoYXQgYXBwZWFycyB3aGVuIGNsaWNraW5nIG9u
IHRoZSBzZWFyY2ggZmllbGQgaW1hZ2UsIHVzZWQgYXMgZW1iZWRkZWQgbWVudSB0aXRsZSIpOwot
fQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpzZWFyY2hNZW51Q2xlYXJSZWNlbnRT
ZWFyY2hlc1RleHQoKQotewotICAgIHJldHVybiBVSV9TVFJJTkcoIkNsZWFyIFJlY2VudCBTZWFy
Y2hlcyIsICJtZW51IGl0ZW0gaW4gUmVjZW50IFNlYXJjaGVzIG1lbnUgdGhhdCBlbXB0aWVzIG1l
bnUncyBjb250ZW50cyIpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpBWFdl
YkFyZWFUZXh0KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJ3ZWIgYXJlYSIsICJhY2Nlc3Np
YmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIHdlYiBhcmVhIik7Ci19Ci0KLVN0cmluZyBXZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXM6OkFYTGlua1RleHQoKQotewotICAgIHJldHVybiBVSV9TVFJJTkco
ImxpbmsiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBsaW5rIik7Ci19Ci0K
LVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OkFYTGlzdE1hcmtlclRleHQoKQotewotICAg
IHJldHVybiBVSV9TVFJJTkcoImxpc3QgbWFya2VyIiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNj
cmlwdGlvbiBmb3IgbGlzdCBtYXJrZXIiKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRl
Z2llczo6QVhJbWFnZU1hcFRleHQoKQotewotICAgIHJldHVybiBVSV9TVFJJTkcoImltYWdlIG1h
cCIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIGltYWdlIG1hcCIpOwotfQot
Ci1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpBWEhlYWRpbmdUZXh0KCkKLXsKLSAgICBy
ZXR1cm4gVUlfU1RSSU5HKCJoZWFkaW5nIiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNjcmlwdGlv
biBmb3IgaGVhZGluZ3MiKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6QVhE
ZWZpbml0aW9uTGlzdFRlcm1UZXh0KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJ0ZXJtIiwg
InRlcm0gd29yZCBvZiBhIGRlZmluaXRpb24iKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3Ry
YXRlZ2llczo6QVhEZWZpbml0aW9uTGlzdERlZmluaXRpb25UZXh0KCkKLXsKLSAgICByZXR1cm4g
VUlfU1RSSU5HKCJkZWZpbml0aW9uIiwgImRlZmluaXRpb24gcGhyYXNlIik7Ci19Ci0KLVN0cmlu
ZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OkFYQnV0dG9uQWN0aW9uVmVyYigpCi17Ci0gICAgcmV0
dXJuIFVJX1NUUklORygicHJlc3MiLCAiVmVyYiBzdGF0aW5nIHRoZSBhY3Rpb24gdGhhdCB3aWxs
IG9jY3VyIHdoZW4gYSBidXR0b24gaXMgcHJlc3NlZCwgYXMgdXNlZCBieSBhY2Nlc3NpYmlsaXR5
Iik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OkFYUmFkaW9CdXR0b25BY3Rp
b25WZXJiKCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJzZWxlY3QiLCAiVmVyYiBzdGF0aW5n
IHRoZSBhY3Rpb24gdGhhdCB3aWxsIG9jY3VyIHdoZW4gYSByYWRpbyBidXR0b24gaXMgY2xpY2tl
ZCwgYXMgdXNlZCBieSBhY2Nlc3NpYmlsaXR5Iik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXM6OkFYVGV4dEZpZWxkQWN0aW9uVmVyYigpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklO
RygiYWN0aXZhdGUiLCAiVmVyYiBzdGF0aW5nIHRoZSBhY3Rpb24gdGhhdCB3aWxsIG9jY3VyIHdo
ZW4gYSB0ZXh0IGZpZWxkIGlzIHNlbGVjdGVkLCBhcyB1c2VkIGJ5IGFjY2Vzc2liaWxpdHkiKTsK
LX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6QVhDaGVja2VkQ2hlY2tCb3hBY3Rp
b25WZXJiKCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJ1bmNoZWNrIiwgIlZlcmIgc3RhdGlu
ZyB0aGUgYWN0aW9uIHRoYXQgd2lsbCBvY2N1ciB3aGVuIGEgY2hlY2tlZCBjaGVja2JveCBpcyBj
bGlja2VkLCBhcyB1c2VkIGJ5IGFjY2Vzc2liaWxpdHkiKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRm
b3JtU3RyYXRlZ2llczo6QVhVbmNoZWNrZWRDaGVja0JveEFjdGlvblZlcmIoKQotewotICAgIHJl
dHVybiBVSV9TVFJJTkcoImNoZWNrIiwgIlZlcmIgc3RhdGluZyB0aGUgYWN0aW9uIHRoYXQgd2ls
bCBvY2N1ciB3aGVuIGFuIHVuY2hlY2tlZCBjaGVja2JveCBpcyBjbGlja2VkLCBhcyB1c2VkIGJ5
IGFjY2Vzc2liaWxpdHkiKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6QVhM
aW5rQWN0aW9uVmVyYigpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygianVtcCIsICJWZXJiIHN0
YXRpbmcgdGhlIGFjdGlvbiB0aGF0IHdpbGwgb2NjdXIgd2hlbiBhIGxpbmsgaXMgY2xpY2tlZCwg
YXMgdXNlZCBieSBhY2Nlc3NpYmlsaXR5Iik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OkFYTWVudUxpc3RBY3Rpb25WZXJiKCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJv
cGVuIiwgIlZlcmIgc3RhdGluZyB0aGUgYWN0aW9uIHRoYXQgd2lsbCBvY2N1ciB3aGVuIGEgc2Vs
ZWN0IGVsZW1lbnQgaXMgY2xpY2tlZCwgYXMgdXNlZCBieSBhY2Nlc3NpYmlsaXR5Iik7Ci19Ci0K
LVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OkFYTWVudUxpc3RQb3B1cEFjdGlvblZlcmIo
KQotewotICAgIHJldHVybiBVSV9TVFJJTkdfS0VZKCJwcmVzcyIsICJwcmVzcyAoc2VsZWN0IGVs
ZW1lbnQpIiwgIlZlcmIgc3RhdGluZyB0aGUgYWN0aW9uIHRoYXQgd2lsbCBvY2N1ciB3aGVuIGEg
c2VsZWN0IGVsZW1lbnQncyBwb3B1cCBsaXN0IGlzIGNsaWNrZWQsIGFzIHVzZWQgYnkgYWNjZXNz
aWJpbGl0eSIpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp1bmtub3duRmls
ZVNpemVUZXh0KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJVbmtub3duIiwgIlVua25vd24g
ZmlsZXNpemUgRlRQIGRpcmVjdG9yeSBsaXN0aW5nIGl0ZW0iKTsKLX0KLQotU3RyaW5nIFdlYlBs
YXRmb3JtU3RyYXRlZ2llczo6dXBsb2FkRmlsZVRleHQoKQotewotICAgIHJldHVybiBVSV9TVFJJ
TkcoIlVwbG9hZCBmaWxlIiwgIihXaW5kb3dzKSBGb3JtIHN1Ym1pdCBmaWxlIHVwbG9hZCBkaWFs
b2cgdGl0bGUiKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6YWxsRmlsZXNU
ZXh0KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJBbGwgRmlsZXMiLCAiKFdpbmRvd3MpIEZv
cm0gc3VibWl0IGZpbGUgdXBsb2FkIGFsbCBmaWxlcyBwb3AtdXAiKTsKLX0KLQotU3RyaW5nIFdl
YlBsYXRmb3JtU3RyYXRlZ2llczo6bWlzc2luZ1BsdWdpblRleHQoKQotewotICAgIHJldHVybiBV
SV9TVFJJTkcoIk1pc3NpbmcgUGx1Zy1pbiIsICJMYWJlbCB0ZXh0IHRvIGJlIHVzZWQgd2hlbiBh
IHBsdWdpbiBpcyBtaXNzaW5nIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6
OmNyYXNoZWRQbHVnaW5UZXh0KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJQbHVnLWluIEZh
aWx1cmUiLCAiTGFiZWwgdGV4dCB0byBiZSB1c2VkIGlmIHBsdWdpbiBob3N0IHByb2Nlc3MgaGFz
IGNyYXNoZWQiKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aW1hZ2VUaXRs
ZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBjb25zdCBJbnRTaXplJiBzaXplKSAKLXsKLSAgICBS
ZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGZpbGVuYW1lQ0YoQWRvcHRDRiwgZmlsZW5hbWUuY3JlYXRl
Q0ZTdHJpbmcoKSk7Ci0gICAgcmV0dXJuIFJldGFpblB0cjxDRlN0cmluZ1JlZj4oQWRvcHRDRiwg
Q0ZTdHJpbmdDcmVhdGVXaXRoRm9ybWF0KDAsIDAsIFVJX1NUUklORygiJUAgJWRceEMzXHg5NyVk
IHBpeGVscyIsICJ3aW5kb3cgdGl0bGUgZm9yIGEgc3RhbmRhbG9uZSBpbWFnZSAodXNlcyBtdWx0
aXBsaWNhdGlvbiBzeW1ib2wsIG5vdCB4KSIpLCBmaWxlbmFtZUNGLmdldCgpLCBzaXplLndpZHRo
KCksIHNpemUuaGVpZ2h0KCkpKS5nZXQoKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRl
Z2llczo6bXVsdGlwbGVGaWxlVXBsb2FkVGV4dCh1bnNpZ25lZCBudW1iZXJPZkZpbGVzKQotewot
ICAgIHJldHVybiBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+KEFkb3B0Q0YsIENGU3RyaW5nQ3JlYXRl
V2l0aEZvcm1hdCgwLCAwLCBVSV9TVFJJTkcoIiVkIGZpbGVzIiwgIkxhYmVsIHRvIGRlc2NyaWJl
IHRoZSBudW1iZXIgb2YgZmlsZXMgc2VsZWN0ZWQgaW4gYSBmaWxlIHVwbG9hZCBjb250cm9sIHRo
YXQgYWxsb3dzIG11bHRpcGxlIGZpbGVzIiksIG51bWJlck9mRmlsZXMpKS5nZXQoKTsKLX0KLQot
U3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6bWVkaWFFbGVtZW50TG9hZGluZ1N0YXRlVGV4
dCgpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiTG9hZGluZy4uLiIsICJNZWRpYSBjb250cm9s
bGVyIHN0YXR1cyBtZXNzYWdlIHdoZW4gdGhlIG1lZGlhIGlzIGxvYWRpbmciKTsKLX0KLQotU3Ry
aW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6bWVkaWFFbGVtZW50TGl2ZUJyb2FkY2FzdFN0YXRl
VGV4dCgpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygiTGl2ZSBCcm9hZGNhc3QiLCAiTWVkaWEg
Y29udHJvbGxlciBzdGF0dXMgbWVzc2FnZSB3aGVuIHdhdGNoaW5nIGEgbGl2ZSBicm9hZGNhc3Qi
KTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6bG9jYWxpemVkTWVkaWFDb250
cm9sRWxlbWVudFN0cmluZyhjb25zdCBTdHJpbmcmIG5hbWUpCi17Ci0gICAgaWYgKG5hbWUgPT0g
IkF1ZGlvRWxlbWVudCIpCi0gICAgICAgIHJldHVybiBVSV9TVFJJTkcoImF1ZGlvIGVsZW1lbnQg
Y29udHJvbGxlciIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIGF1ZGlvIGVs
ZW1lbnQgY29udHJvbGxlciIpOwotICAgIGlmIChuYW1lID09ICJWaWRlb0VsZW1lbnQiKQotICAg
ICAgICByZXR1cm4gVUlfU1RSSU5HKCJ2aWRlbyBlbGVtZW50IGNvbnRyb2xsZXIiLCAiYWNjZXNz
aWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciB2aWRlbyBlbGVtZW50IGNvbnRyb2xsZXIiKTsK
LSAgICBpZiAobmFtZSA9PSAiTXV0ZUJ1dHRvbiIpCi0gICAgICAgIHJldHVybiBVSV9TVFJJTkco
Im11dGUiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBtdXRlIGJ1dHRvbiIp
OwotICAgIGlmIChuYW1lID09ICJVbk11dGVCdXR0b24iKQotICAgICAgICByZXR1cm4gVUlfU1RS
SU5HKCJ1bm11dGUiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciB0dXJuIG11
dGUgb2ZmIGJ1dHRvbiIpOwotICAgIGlmIChuYW1lID09ICJQbGF5QnV0dG9uIikKLSAgICAgICAg
cmV0dXJuIFVJX1NUUklORygicGxheSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24g
Zm9yIHBsYXkgYnV0dG9uIik7Ci0gICAgaWYgKG5hbWUgPT0gIlBhdXNlQnV0dG9uIikKLSAgICAg
ICAgcmV0dXJuIFVJX1NUUklORygicGF1c2UiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0
aW9uIGZvciBwYXVzZSBidXR0b24iKTsKLSAgICBpZiAobmFtZSA9PSAiU2xpZGVyIikKLSAgICAg
ICAgcmV0dXJuIFVJX1NUUklORygibW92aWUgdGltZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVz
Y3JpcHRpb24gZm9yIHRpbWVsaW5lIHNsaWRlciIpOwotICAgIGlmIChuYW1lID09ICJTbGlkZXJU
aHVtYiIpCi0gICAgICAgIHJldHVybiBVSV9TVFJJTkcoInRpbWVsaW5lIHNsaWRlciB0aHVtYiIs
ICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIHRpbWVsaW5lIHRodW1iIik7Ci0g
ICAgaWYgKG5hbWUgPT0gIlJld2luZEJ1dHRvbiIpCi0gICAgICAgIHJldHVybiBVSV9TVFJJTkco
ImJhY2sgMzAgc2Vjb25kcyIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIHNl
ZWsgYmFjayAzMCBzZWNvbmRzIGJ1dHRvbiIpOwotICAgIGlmIChuYW1lID09ICJSZXR1cm5Ub1Jl
YWx0aW1lQnV0dG9uIikKLSAgICAgICAgcmV0dXJuIFVJX1NUUklORygicmV0dXJuIHRvIHJlYWx0
aW1lIiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3IgcmV0dXJuIHRvIHJlYWwg
dGltZSBidXR0b24iKTsKLSAgICBpZiAobmFtZSA9PSAiQ3VycmVudFRpbWVEaXNwbGF5IikKLSAg
ICAgICAgcmV0dXJuIFVJX1NUUklORygiZWxhcHNlZCB0aW1lIiwgImFjY2Vzc2liaWxpdHkgcm9s
ZSBkZXNjcmlwdGlvbiBmb3IgZWxhcHNlZCB0aW1lIGRpc3BsYXkiKTsKLSAgICBpZiAobmFtZSA9
PSAiVGltZVJlbWFpbmluZ0Rpc3BsYXkiKQotICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJyZW1h
aW5pbmcgdGltZSIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIHRpbWUgcmVt
YWluaW5nIGRpc3BsYXkiKTsKLSAgICBpZiAobmFtZSA9PSAiU3RhdHVzRGlzcGxheSIpCi0gICAg
ICAgIHJldHVybiBVSV9TVFJJTkcoInN0YXR1cyIsICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3Jp
cHRpb24gZm9yIG1vdmllIHN0YXR1cyIpOwotICAgIGlmIChuYW1lID09ICJGdWxsc2NyZWVuQnV0
dG9uIikKLSAgICAgICAgcmV0dXJuIFVJX1NUUklORygiZnVsbHNjcmVlbiIsICJhY2Nlc3NpYmls
aXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIGVudGVyIGZ1bGxzY3JlZW4gYnV0dG9uIik7Ci0gICAg
aWYgKG5hbWUgPT0gIlNlZWtGb3J3YXJkQnV0dG9uIikKLSAgICAgICAgcmV0dXJuIFVJX1NUUklO
RygiZmFzdCBmb3J3YXJkIiwgImFjY2Vzc2liaWxpdHkgcm9sZSBkZXNjcmlwdGlvbiBmb3IgZmFz
dCBmb3J3YXJkIGJ1dHRvbiIpOwotICAgIGlmIChuYW1lID09ICJTZWVrQmFja0J1dHRvbiIpCi0g
ICAgICAgIHJldHVybiBVSV9TVFJJTkcoImZhc3QgcmV2ZXJzZSIsICJhY2Nlc3NpYmlsaXR5IHJv
bGUgZGVzY3JpcHRpb24gZm9yIGZhc3QgcmV2ZXJzZSBidXR0b24iKTsKLSAgICBpZiAobmFtZSA9
PSAiU2hvd0Nsb3NlZENhcHRpb25zQnV0dG9uIikKLSAgICAgICAgcmV0dXJuIFVJX1NUUklORygi
c2hvdyBjbG9zZWQgY2FwdGlvbnMiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZv
ciBzaG93IGNsb3NlZCBjYXB0aW9ucyBidXR0b24iKTsKLSAgICBpZiAobmFtZSA9PSAiSGlkZUNs
b3NlZENhcHRpb25zQnV0dG9uIikKLSAgICAgICAgcmV0dXJuIFVJX1NUUklORygiaGlkZSBjbG9z
ZWQgY2FwdGlvbnMiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBoaWRlIGNs
b3NlZCBjYXB0aW9ucyBidXR0b24iKTsKLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
IHJldHVybiBTdHJpbmcoKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6bG9j
YWxpemVkTWVkaWFDb250cm9sRWxlbWVudEhlbHBUZXh0KGNvbnN0IFN0cmluZyYgbmFtZSkKLXsK
LSAgICBpZiAobmFtZSA9PSAiQXVkaW9FbGVtZW50IikKLSAgICAgICAgcmV0dXJuIFVJX1NUUklO
RygiYXVkaW8gZWxlbWVudCBwbGF5YmFjayBjb250cm9scyBhbmQgc3RhdHVzIGRpc3BsYXkiLCAi
YWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciBhdWRpbyBlbGVtZW50IGNvbnRyb2xs
ZXIiKTsKLSAgICBpZiAobmFtZSA9PSAiVmlkZW9FbGVtZW50IikKLSAgICAgICAgcmV0dXJuIFVJ
X1NUUklORygidmlkZW8gZWxlbWVudCBwbGF5YmFjayBjb250cm9scyBhbmQgc3RhdHVzIGRpc3Bs
YXkiLCAiYWNjZXNzaWJpbGl0eSByb2xlIGRlc2NyaXB0aW9uIGZvciB2aWRlbyBlbGVtZW50IGNv
bnRyb2xsZXIiKTsKLSAgICBpZiAobmFtZSA9PSAiTXV0ZUJ1dHRvbiIpCi0gICAgICAgIHJldHVy
biBVSV9TVFJJTkcoIm11dGUgYXVkaW8gdHJhY2tzIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0
IGZvciBtdXRlIGJ1dHRvbiIpOwotICAgIGlmIChuYW1lID09ICJVbk11dGVCdXR0b24iKQotICAg
ICAgICByZXR1cm4gVUlfU1RSSU5HKCJ1bm11dGUgYXVkaW8gdHJhY2tzIiwgImFjY2Vzc2liaWxp
dHkgaGVscCB0ZXh0IGZvciB1biBtdXRlIGJ1dHRvbiIpOwotICAgIGlmIChuYW1lID09ICJQbGF5
QnV0dG9uIikKLSAgICAgICAgcmV0dXJuIFVJX1NUUklORygiYmVnaW4gcGxheWJhY2siLCAiYWNj
ZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9yIHBsYXkgYnV0dG9uIik7Ci0gICAgaWYgKG5hbWUgPT0g
IlBhdXNlQnV0dG9uIikKLSAgICAgICAgcmV0dXJuIFVJX1NUUklORygicGF1c2UgcGxheWJhY2si
LCAiYWNjZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9yIHBhdXNlIGJ1dHRvbiIpOwotICAgIGlmIChu
YW1lID09ICJTbGlkZXIiKQotICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJtb3ZpZSB0aW1lIHNj
cnViYmVyIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciB0aW1lbGluZSBzbGlkZXIiKTsK
LSAgICBpZiAobmFtZSA9PSAiU2xpZGVyVGh1bWIiKQotICAgICAgICByZXR1cm4gVUlfU1RSSU5H
KCJtb3ZpZSB0aW1lIHNjcnViYmVyIHRodW1iIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZv
ciB0aW1lbGluZSBzbGlkZXIgdGh1bWIiKTsKLSAgICBpZiAobmFtZSA9PSAiUmV3aW5kQnV0dG9u
IikKLSAgICAgICAgcmV0dXJuIFVJX1NUUklORygic2VlayBtb3ZpZSBiYWNrIDMwIHNlY29uZHMi
LCAiYWNjZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9yIGp1bXAgYmFjayAzMCBzZWNvbmRzIGJ1dHRv
biIpOwotICAgIGlmIChuYW1lID09ICJSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uIikKLSAgICAgICAg
cmV0dXJuIFVJX1NUUklORygicmV0dXJuIHN0cmVhbWluZyBtb3ZpZSB0byByZWFsIHRpbWUiLCAi
YWNjZXNzaWJpbGl0eSBoZWxwIHRleHQgZm9yIHJldHVybiBzdHJlYW1pbmcgbW92aWUgdG8gcmVh
bCB0aW1lIGJ1dHRvbiIpOwotICAgIGlmIChuYW1lID09ICJDdXJyZW50VGltZURpc3BsYXkiKQot
ICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJjdXJyZW50IG1vdmllIHRpbWUgaW4gc2Vjb25kcyIs
ICJhY2Nlc3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgZWxhcHNlZCB0aW1lIGRpc3BsYXkiKTsKLSAg
ICBpZiAobmFtZSA9PSAiVGltZVJlbWFpbmluZ0Rpc3BsYXkiKQotICAgICAgICByZXR1cm4gVUlf
U1RSSU5HKCJudW1iZXIgb2Ygc2Vjb25kcyBvZiBtb3ZpZSByZW1haW5pbmciLCAiYWNjZXNzaWJp
bGl0eSBoZWxwIHRleHQgZm9yIHJlbWFpbmluZyB0aW1lIGRpc3BsYXkiKTsKLSAgICBpZiAobmFt
ZSA9PSAiU3RhdHVzRGlzcGxheSIpCi0gICAgICAgIHJldHVybiBVSV9TVFJJTkcoImN1cnJlbnQg
bW92aWUgc3RhdHVzIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciBtb3ZpZSBzdGF0dXMg
ZGlzcGxheSIpOwotICAgIGlmIChuYW1lID09ICJTZWVrQmFja0J1dHRvbiIpCi0gICAgICAgIHJl
dHVybiBVSV9TVFJJTkcoInNlZWsgcXVpY2tseSBiYWNrIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0
ZXh0IGZvciBmYXN0IHJld2luZCBidXR0b24iKTsKLSAgICBpZiAobmFtZSA9PSAiU2Vla0Zvcndh
cmRCdXR0b24iKQotICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJzZWVrIHF1aWNrbHkgZm9yd2Fy
ZCIsICJhY2Nlc3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgZmFzdCBmb3J3YXJkIGJ1dHRvbiIpOwot
ICAgIGlmIChuYW1lID09ICJGdWxsc2NyZWVuQnV0dG9uIikKLSAgICAgICAgcmV0dXJuIFVJX1NU
UklORygiUGxheSBtb3ZpZSBpbiBmdWxsc2NyZWVuIG1vZGUiLCAiYWNjZXNzaWJpbGl0eSBoZWxw
IHRleHQgZm9yIGVudGVyIGZ1bGxzY3JlZW4gYnV0dG9uIik7Ci0gICAgaWYgKG5hbWUgPT0gIlNo
b3dDbG9zZWRDYXB0aW9uc0J1dHRvbiIpCi0gICAgICAgIHJldHVybiBVSV9TVFJJTkcoInN0YXJ0
IGRpc3BsYXlpbmcgY2xvc2VkIGNhcHRpb25zIiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZv
ciBzaG93IGNsb3NlZCBjYXB0aW9ucyBidXR0b24iKTsKLSAgICBpZiAobmFtZSA9PSAiSGlkZUNs
b3NlZENhcHRpb25zQnV0dG9uIikKLSAgICAgICAgcmV0dXJuIFVJX1NUUklORygic3RvcCBkaXNw
bGF5aW5nIGNsb3NlZCBjYXB0aW9ucyIsICJhY2Nlc3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgaGlk
ZSBjbG9zZWQgY2FwdGlvbnMgYnV0dG9uIik7Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LSAgICByZXR1cm4gU3RyaW5nKCk7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6
OmxvY2FsaXplZE1lZGlhVGltZURlc2NyaXB0aW9uKGZsb2F0IHRpbWUpCi17Ci0gICAgaWYgKCFp
c2Zpbml0ZSh0aW1lKSkKLSAgICAgICAgcmV0dXJuIFVJX1NUUklORygiaW5kZWZpbml0ZSB0aW1l
IiwgImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciBhbiBpbmRlZmluaXRlIG1lZGlhIGNvbnRy
b2xsZXIgdGltZSB2YWx1ZSIpOwotCi0gICAgaW50IHNlY29uZHMgPSAoaW50KWZhYnNmKHRpbWUp
OwotICAgIGludCBkYXlzID0gc2Vjb25kcyAvICg2MCAqIDYwICogMjQpOwotICAgIGludCBob3Vy
cyA9IHNlY29uZHMgLyAoNjAgKiA2MCk7Ci0gICAgaW50IG1pbnV0ZXMgPSAoc2Vjb25kcyAvIDYw
KSAlIDYwOwotICAgIHNlY29uZHMgJT0gNjA7Ci0KLSAgICBpZiAoZGF5cykKLSAgICAgICAgcmV0
dXJuIFJldGFpblB0cjxDRlN0cmluZ1JlZj4oQWRvcHRDRiwgQ0ZTdHJpbmdDcmVhdGVXaXRoRm9y
bWF0KDAsIDAsIFVJX1NUUklORygiJTEkZCBkYXlzICUyJGQgaG91cnMgJTMkZCBtaW51dGVzICU0
JGQgc2Vjb25kcyIsICJhY2Nlc3NpYmlsaXR5IGhlbHAgdGV4dCBmb3IgbWVkaWEgY29udHJvbGxl
ciB0aW1lIHZhbHVlID49IDEgZGF5IiksIGRheXMsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKSku
Z2V0KCk7Ci0KLSAgICBpZiAoaG91cnMpCi0gICAgICAgIHJldHVybiBSZXRhaW5QdHI8Q0ZTdHJp
bmdSZWY+KEFkb3B0Q0YsIENGU3RyaW5nQ3JlYXRlV2l0aEZvcm1hdCgwLCAwLCBVSV9TVFJJTkco
IiUxJGQgaG91cnMgJTIkZCBtaW51dGVzICUzJGQgc2Vjb25kcyIsICJhY2Nlc3NpYmlsaXR5IGhl
bHAgdGV4dCBmb3IgbWVkaWEgY29udHJvbGxlciB0aW1lIHZhbHVlID49IDYwIG1pbnV0ZXMiKSwg
aG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpKS5nZXQoKTsKLQotICAgIGlmIChtaW51dGVzKQotICAg
ICAgICByZXR1cm4gUmV0YWluUHRyPENGU3RyaW5nUmVmPihBZG9wdENGLCBDRlN0cmluZ0NyZWF0
ZVdpdGhGb3JtYXQoMCwgMCwgVUlfU1RSSU5HKCIlMSRkIG1pbnV0ZXMgJTIkZCBzZWNvbmRzIiwg
ImFjY2Vzc2liaWxpdHkgaGVscCB0ZXh0IGZvciBtZWRpYSBjb250cm9sbGVyIHRpbWUgdmFsdWUg
Pj0gNjAgc2Vjb25kcyIpLCBtaW51dGVzLCBzZWNvbmRzKSkuZ2V0KCk7Ci0KLSAgICByZXR1cm4g
UmV0YWluUHRyPENGU3RyaW5nUmVmPihBZG9wdENGLCBDRlN0cmluZ0NyZWF0ZVdpdGhGb3JtYXQo
MCwgMCwgVUlfU1RSSU5HKCIlMSRkIHNlY29uZHMiLCAiYWNjZXNzaWJpbGl0eSBoZWxwIHRleHQg
Zm9yIG1lZGlhIGNvbnRyb2xsZXIgdGltZSB2YWx1ZSA8IDYwIHNlY29uZHMiKSwgc2Vjb25kcykp
LmdldCgpOwotfQotCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp2YWxpZGF0aW9uTWVz
c2FnZVZhbHVlTWlzc2luZ1RleHQoKQotewotICAgIHJldHVybiBVSV9TVFJJTkcoInZhbHVlIG1p
c3NpbmciLCAiVmFsaWRhdGlvbiBtZXNzYWdlIGZvciByZXF1aXJlZCBmb3JtIGNvbnRyb2wgZWxl
bWVudHMgdGhhdCBoYXZlIG5vIHZhbHVlIik7Ci19Ci0KLVN0cmluZyBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OnZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4dCgpCi17Ci0gICAgcmV0dXJu
IFVJX1NUUklORygidHlwZSBtaXNtYXRjaCIsICJWYWxpZGF0aW9uIG1lc3NhZ2UgZm9yIGlucHV0
IGZvcm0gY29udHJvbHMgd2l0aCBhIHZhbHVlIG5vdCBtYXRjaGluZyB0eXBlIik7Ci19Ci0KLVN0
cmluZyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnZhbGlkYXRpb25NZXNzYWdlUGF0dGVybk1pc21h
dGNoVGV4dCgpCi17Ci0gICAgcmV0dXJuIFVJX1NUUklORygicGF0dGVybiBtaXNtYXRjaCIsICJW
YWxpZGF0aW9uIG1lc3NhZ2UgZm9yIGlucHV0IGZvcm0gY29udHJvbHMgcmVxdWlyaW5nIGEgY29u
c3RyYWluZWQgdmFsdWUgYWNjb3JkaW5nIHRvIHBhdHRlcm4iKTsKLX0KLQotU3RyaW5nIFdlYlBs
YXRmb3JtU3RyYXRlZ2llczo6dmFsaWRhdGlvbk1lc3NhZ2VUb29Mb25nVGV4dCgpCi17Ci0gICAg
cmV0dXJuIFVJX1NUUklORygidG9vIGxvbmciLCAiVmFsaWRhdGlvbiBtZXNzYWdlIGZvciBmb3Jt
IGNvbnRyb2wgZWxlbWVudHMgd2l0aCBhIHZhbHVlIGxvbmdlciB0aGFuIG1heGltdW0gYWxsb3dl
ZCBsZW5ndGgiKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6dmFsaWRhdGlv
bk1lc3NhZ2VSYW5nZVVuZGVyZmxvd1RleHQoKQotewotICAgIHJldHVybiBVSV9TVFJJTkcoInJh
bmdlIHVuZGVyZmxvdyIsICJWYWxpZGF0aW9uIG1lc3NhZ2UgZm9yIGlucHV0IGZvcm0gY29udHJv
bHMgd2l0aCB2YWx1ZSBsb3dlciB0aGFuIGFsbG93ZWQgbWluaW11bSIpOwotfQotCi1TdHJpbmcg
V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp2YWxpZGF0aW9uTWVzc2FnZVJhbmdlT3ZlcmZsb3dUZXh0
KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5HKCJyYW5nZSBvdmVyZmxvdyIsICJWYWxpZGF0aW9u
IG1lc3NhZ2UgZm9yIGlucHV0IGZvcm0gY29udHJvbHMgd2l0aCB2YWx1ZSBoaWdoZXIgdGhhbiBh
bGxvd2VkIG1heGltdW0iKTsKLX0KLQotU3RyaW5nIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6dmFs
aWRhdGlvbk1lc3NhZ2VTdGVwTWlzbWF0Y2hUZXh0KCkKLXsKLSAgICByZXR1cm4gVUlfU1RSSU5H
KCJzdGVwIG1pc21hdGNoIiwgIlZhbGlkYXRpb24gbWVzc2FnZSBmb3IgaW5wdXQgZm9ybSBjb250
cm9scyB3aXRoIHZhbHVlIG5vdCByZXNwZWN0aW5nIHRoZSBzdGVwIGF0dHJpYnV0ZSIpOwotfQot
CiBib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aXNMaW5rVmlzaXRlZChQYWdlKiBwYWdlLCBM
aW5rSGFzaCBoYXNoKQogewogICAgIHJldHVybiBwYWdlLT5ncm91cCgpLmlzTGlua1Zpc2l0ZWQo
aGFzaCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAkocmV2aXNpb24gODQwOTApCisrKyBTb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMjcsMTIgKzI3LDExIEBACiAjZGVmaW5lIFdlYlBsYXRmb3JtU3RyYXRlZ2llc19o
CiAKICNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZXNTdHJhdGVneS5oPgotI2luY2x1ZGUgPFdlYkNv
cmUvTG9jYWxpemF0aW9uU3RyYXRlZ3kuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtU3Ry
YXRlZ2llcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luU3RyYXRlZ3kuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAotY2xhc3MgV2ViUGxhdGZvcm1TdHJh
dGVnaWVzIDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJD
b3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3ksIHBy
aXZhdGUgV2ViQ29yZTo6TG9jYWxpemF0aW9uU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6Vmlz
aXRlZExpbmtTdHJhdGVneSB7CitjbGFzcyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMgOiBwdWJsaWMg
V2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tpZXNTdHJh
dGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpW
aXNpdGVkTGlua1N0cmF0ZWd5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXpl
KCk7CiAgICAgCkBAIC00Miw3ICs0MSw2IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGxh
dGZvcm1TdHJhdGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNy
ZWF0ZUNvb2tpZXNTdHJhdGVneSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6UGx1Z2luU3RyYXRl
Z3kqIGNyZWF0ZVBsdWdpblN0cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpMb2NhbGl6
YXRpb25TdHJhdGVneSogY3JlYXRlTG9jYWxpemF0aW9uU3RyYXRlZ3koKTsKICAgICB2aXJ0dWFs
IFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kqIGNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3ko
KTsKIAogICAgIC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQpAQCAtNTIsMTAxICs1MCw2IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHJlZnJlc2hQbHVnaW5zKCk7CiAgICAgdmlydHVh
bCB2b2lkIGdldFBsdWdpbkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3Jl
OjpQbHVnaW5JbmZvPiYpOwogCi0gICAgLy8gV2ViQ29yZTo6TG9jYWxpemF0aW9uU3RyYXRlZ3kg
ICAgCi0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBpbnB1dEVsZW1lbnRBbHRUZXh0KCk7Ci0gICAg
dmlydHVhbCBXVEY6OlN0cmluZyByZXNldEJ1dHRvbkRlZmF1bHRMYWJlbCgpOwotICAgIHZpcnR1
YWwgV1RGOjpTdHJpbmcgc2VhcmNoYWJsZUluZGV4SW50cm9kdWN0aW9uKCk7Ci0gICAgdmlydHVh
bCBXVEY6OlN0cmluZyBzdWJtaXRCdXR0b25EZWZhdWx0TGFiZWwoKTsKLSAgICB2aXJ0dWFsIFdU
Rjo6U3RyaW5nIGZpbGVCdXR0b25DaG9vc2VGaWxlTGFiZWwoKTsKLSAgICB2aXJ0dWFsIFdURjo6
U3RyaW5nIGZpbGVCdXR0b25Ob0ZpbGVTZWxlY3RlZExhYmVsKCk7Ci0gICAgdmlydHVhbCBXVEY6
OlN0cmluZyBkZWZhdWx0RGV0YWlsc1N1bW1hcnlUZXh0KCk7Ci0jaWYgRU5BQkxFKENPTlRFWFRf
TUVOVVMpCi0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuTGlu
a0luTmV3V2luZG93KCk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdEb3dubG9hZExpbmtUb0Rpc2soKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ0NvcHlMaW5rVG9DbGlwYm9hcmQoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ09wZW5JbWFnZUluTmV3V2luZG93KCk7Ci0gICAgdmlydHVhbCBX
VEY6OlN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZEltYWdlVG9EaXNrKCk7Ci0gICAg
dmlydHVhbCBXVEY6OlN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2Fy
ZCgpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1l
SW5OZXdXaW5kb3coKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z0NvcHkoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0dvQmFj
aygpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnR29Gb3J3YXJk
KCk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTdG9wKCk7Ci0g
ICAgdmlydHVhbCBXVEY6OlN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdSZWxvYWQoKTsKLSAgICB2
aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0N1dCgpOwotICAgIHZpcnR1YWwg
V1RGOjpTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnUGFzdGUoKTsKLSAgICB2aXJ0dWFsIFdURjo6
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ05vR3Vlc3Nlc0ZvdW5kKCk7Ci0gICAgdmlydHVhbCBX
VEY6OlN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJZ25vcmVTcGVsbGluZygpOwotICAgIHZpcnR1
YWwgV1RGOjpTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGluZygpOwotICAgIHZp
cnR1YWwgV1RGOjpTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2VhcmNoV2ViKCk7Ci0gICAgdmly
dHVhbCBXVEY6OlN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdMb29rVXBJbkRpY3Rpb25hcnkoY29u
c3QgV1RGOjpTdHJpbmcmKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ09wZW5MaW5rKCk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdJZ25vcmVHcmFtbWFyKCk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdTcGVsbGluZ01lbnUoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ1Nob3dTcGVsbGluZ1BhbmVsKGJvb2wgc2hvdyk7Ci0gICAgdmlydHVhbCBXVEY6OlN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nKCk7Ci0gICAgdmlydHVhbCBXVEY6
OlN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nV2hpbGVUeXBpbmcoKTsKLSAg
ICB2aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NoZWNrR3JhbW1hcldpdGhT
cGVsbGluZygpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRm9u
dE1lbnUoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0JvbGQo
KTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0l0YWxpYygpOwot
ICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5lKCk7Ci0g
ICAgdmlydHVhbCBXVEY6OlN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5lKCk7Ci0gICAg
dmlydHVhbCBXVEY6OlN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVu
dSgpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVj
dGlvbk1lbnUoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0Rl
ZmF1bHREaXJlY3Rpb24oKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ0xlZnRUb1JpZ2h0KCk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdSaWdodFRvTGVmdCgpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnSW5zcGVjdEVsZW1lbnQoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ09wZW5WaWRlb0luTmV3V2luZG93KCk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuQXVkaW9Jbk5ld1dpbmRvdygpOwotICAgIHZpcnR1YWwg
V1RGOjpTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weVZpZGVvTGlua1RvQ2xpcGJvYXJkKCk7
Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDb3B5QXVkaW9MaW5r
VG9DbGlwYm9hcmQoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z1RvZ2dsZU1lZGlhQ29udHJvbHMoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCgpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4oKTsKLSAgICB2aXJ0dWFsIFdURjo6
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheSgpOwotICAgIHZpcnR1YWwgV1RGOjpT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQYXVzZSgpOwotICAgIHZpcnR1YWwgV1RGOjpT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKCk7Ci0jZW5kaWYgLy8gRU5BQkxFKENP
TlRFWFRfTUVOVVMpCi0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBzZWFyY2hNZW51Tm9SZWNlbnRT
ZWFyY2hlc1RleHQoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIHNlYXJjaE1lbnVSZWNlbnRT
ZWFyY2hlc1RleHQoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIHNlYXJjaE1lbnVDbGVhclJl
Y2VudFNlYXJjaGVzVGV4dCgpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgQVhXZWJBcmVhVGV4
dCgpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgQVhMaW5rVGV4dCgpOwotICAgIHZpcnR1YWwg
V1RGOjpTdHJpbmcgQVhMaXN0TWFya2VyVGV4dCgpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcg
QVhJbWFnZU1hcFRleHQoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIEFYSGVhZGluZ1RleHQo
KTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIEFYRGVmaW5pdGlvbkxpc3RUZXJtVGV4dCgpOwot
ICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgQVhEZWZpbml0aW9uTGlzdERlZmluaXRpb25UZXh0KCk7
Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBBWEJ1dHRvbkFjdGlvblZlcmIoKTsKLSAgICB2aXJ0
dWFsIFdURjo6U3RyaW5nIEFYUmFkaW9CdXR0b25BY3Rpb25WZXJiKCk7Ci0gICAgdmlydHVhbCBX
VEY6OlN0cmluZyBBWFRleHRGaWVsZEFjdGlvblZlcmIoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3Ry
aW5nIEFYQ2hlY2tlZENoZWNrQm94QWN0aW9uVmVyYigpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJp
bmcgQVhVbmNoZWNrZWRDaGVja0JveEFjdGlvblZlcmIoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3Ry
aW5nIEFYTWVudUxpc3RBY3Rpb25WZXJiKCk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBBWE1l
bnVMaXN0UG9wdXBBY3Rpb25WZXJiKCk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBBWExpbmtB
Y3Rpb25WZXJiKCk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBtaXNzaW5nUGx1Z2luVGV4dCgp
OwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgY3Jhc2hlZFBsdWdpblRleHQoKTsKLSAgICB2aXJ0
dWFsIFdURjo6U3RyaW5nIG11bHRpcGxlRmlsZVVwbG9hZFRleHQodW5zaWduZWQgbnVtYmVyT2ZG
aWxlcyk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyB1bmtub3duRmlsZVNpemVUZXh0KCk7Ci0g
ICAgdmlydHVhbCBXVEY6OlN0cmluZyB1cGxvYWRGaWxlVGV4dCgpOwotICAgIHZpcnR1YWwgV1RG
OjpTdHJpbmcgYWxsRmlsZXNUZXh0KCk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBpbWFnZVRp
dGxlKGNvbnN0IFdURjo6U3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYp
OwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgbWVkaWFFbGVtZW50TG9hZGluZ1N0YXRlVGV4dCgp
OwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgbWVkaWFFbGVtZW50TGl2ZUJyb2FkY2FzdFN0YXRl
VGV4dCgpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgbG9jYWxpemVkTWVkaWFDb250cm9sRWxl
bWVudFN0cmluZyhjb25zdCBXVEY6OlN0cmluZyYpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcg
bG9jYWxpemVkTWVkaWFDb250cm9sRWxlbWVudEhlbHBUZXh0KGNvbnN0IFdURjo6U3RyaW5nJik7
Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyBsb2NhbGl6ZWRNZWRpYVRpbWVEZXNjcmlwdGlvbihm
bG9hdCk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlz
c2luZ1RleHQoKTsKLSAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlw
ZU1pc21hdGNoVGV4dCgpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcgdmFsaWRhdGlvbk1lc3Nh
Z2VQYXR0ZXJuTWlzbWF0Y2hUZXh0KCk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyB2YWxpZGF0
aW9uTWVzc2FnZVRvb0xvbmdUZXh0KCk7Ci0gICAgdmlydHVhbCBXVEY6OlN0cmluZyB2YWxpZGF0
aW9uTWVzc2FnZVJhbmdlVW5kZXJmbG93VGV4dCgpOwotICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcg
dmFsaWRhdGlvbk1lc3NhZ2VSYW5nZU92ZXJmbG93VGV4dCgpOwotICAgIHZpcnR1YWwgV1RGOjpT
dHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VTdGVwTWlzbWF0Y2hUZXh0KCk7Ci0KICAgICAvLyBXZWJD
b3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5CiAgICAgdmlydHVhbCBib29sIGlzTGlua1Zpc2l0ZWQo
V2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OkxpbmtIYXNoKTsKICAgICB2aXJ0dWFsIHZvaWQgYWRk
VmlzaXRlZExpbmsoV2ViQ29yZTo6UGFnZSosIFdlYkNvcmU6OkxpbmtIYXNoKTsK
</data>
<flag name="review"
          id="82649"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>