<?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>160911</bug_id>
          
          <creation_ts>2016-08-16 14:18:33 -0700</creation_ts>
          <short_desc>Align isDefaultNamespace() / lookupPrefix() / lookupNamespaceURI() with the specification</short_desc>
          <delta_ts>2016-08-16 15:57:39 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1220567</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-16 14:18:33 -0700</bug_when>
    <thetext>Align isDefaultNamespace() / lookupPrefix() / lookupNamespaceURI() with the specification:
- https://dom.spec.whatwg.org/#dom-node-isdefaultnamespace
- https://dom.spec.whatwg.org/#dom-node-lookupprefix
- https://dom.spec.whatwg.org/#dom-node-lookupnamespaceuri</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1220571</commentid>
    <comment_count>1</comment_count>
      <attachid>286205</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-16 14:32:56 -0700</bug_when>
    <thetext>Created attachment 286205
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1220632</commentid>
    <comment_count>2</comment_count>
      <attachid>286205</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-16 15:55:28 -0700</bug_when>
    <thetext>Comment on attachment 286205
Patch

Rejecting attachment 286205 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 286205, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
c70b42b03c9045ce4485f398383a1eab21d
r204531 = e91d4fda08a70fd061e00038353626dcdc3f24b9
r204532 = 0f2d682f0a5c313fd1b171ffafc15dd511e8c8d1
r204533 = ecefae21d8526d35b88c0af719c0afae40e2599f
r204534 = d917847f16bfcf82f114fee0f47fe0eae2f4406c
r204535 = fdcd408fbed3a1eda4bbff7d4339219dff708281
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-queues.webkit.org/results/1883659</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1220633</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-16 15:57:39 -0700</bug_when>
    <thetext>Committed r204536: &lt;http://trac.webkit.org/changeset/204536&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286205</attachid>
            <date>2016-08-16 14:32:56 -0700</date>
            <delta_ts>2016-08-16 15:55:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160911-20160816143109.patch</filename>
            <type>text/plain</type>
            <size>43051</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0NTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTFmYmY1ODkyYWNlZjNi
ZjU3NzgxMmI0NWYzMWUxNDM5YTc2MDgwMC4uZjhjMTgwMjkyODAxNzkzZTFmNTYwZDRjZjZjNDIw
YTk0OTk5YTZjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM5IEBACiAyMDE2LTA4LTE2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgQWxpZ24gaXNEZWZhdWx0TmFt
ZXNwYWNlKCkgLyBsb29rdXBQcmVmaXgoKSAvIGxvb2t1cE5hbWVzcGFjZVVSSSgpIHdpdGggdGhl
IHNwZWNpZmljYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFsaWduIGlzRGVmYXVsdE5hbWVzcGFjZSgpIC8gbG9va3VwUHJlZml4KCkgLyBsb29r
dXBOYW1lc3BhY2VVUkkoKSB3aXRoIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAtIGh0dHBz
Oi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jZG9tLW5vZGUtaXNkZWZhdWx0bmFtZXNwYWNlCisgICAg
ICAgIC0gaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20tbm9kZS1sb29rdXBwcmVmaXgK
KyAgICAgICAgLSBodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2RvbS1ub2RlLWxvb2t1cG5h
bWVzcGFjZXVyaQorCisgICAgICAgIE91ciBpbXBsZW1lbnRhdGlvbiBub3cgbWF0Y2hlcyBjbG9z
ZWx5IHRoZSB0ZXh0IG9mIHRoZSBET00gc3BlY2lmaWNhdGlvbgorICAgICAgICBhbmQgd2UgcGFz
cyBtb3JlIFczQyB0ZXN0cyBhcyBpdCBmaXhlcyB0aGUgZm9sbG93aW5nIGJ1ZzoKKyAgICAgICAg
LSBpc0RlZmF1bHROYW1lc3BhY2UobnVsbCkgLyBpc0RlZmF1bHROYW1lc3BhY2UoJycpIHdhcyBu
b3QgcmV0dXJuaW5nIHRydWUgZm9yIGluIGNhc2VzCisgICAgICAgICAgd2hlcmUgdGhlIG5vZGUn
cyBkZWZhdWx0IG5hbWVzcGFjZSB3YXMgbnVsbC4gT3VyIGltcGxlbWVudGF0aW9uIHdhcyByZXR1
cm5pbmcgZmFsc2UKKyAgICAgICAgICBpbnN0ZWFkIG9mIGNvbXBhcmluZyB0aGUgbm9kZSdzIGRl
ZmF1bHQgbmFtZXNwYWNlIChpbiB0aGlzIGNhc2UgbnVsbCkgd2l0aCB0aGUgaW5wdXQKKyAgICAg
ICAgICBuYW1lc3BhY2UgKGluIHRoaXMgY2FzZSBudWxsKS4KKworICAgICAgICBObyBuZXcgdGVz
dHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5nIHRlc3QuCisKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpsb2NhdGVEZWZhdWx0TmFtZXNwYWNlKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OmlzRGVmYXVsdE5hbWVzcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2Rl
Ojpsb29rdXBOYW1lc3BhY2VVUkkpOgorICAgICAgICAoV2ViQ29yZTo6bG9jYXRlTmFtZXNwYWNl
UHJlZml4KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6Omxvb2t1cFByZWZpeCk6CisgICAgICAg
IChXZWJDb3JlOjphcHBlbmRUZXh0Q29udGVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpOb2RlOjp0ZXh0Q29udGVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpz
ZXRUZXh0Q29udGVudCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAg
KiB4bWwvTmF0aXZlWFBhdGhOU1Jlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdGl2
ZVhQYXRoTlNSZXNvbHZlcjo6bG9va3VwTmFtZXNwYWNlVVJJKToKKworMjAxNi0wOC0xNiAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIGN0eC5kcmF3SW1hZ2Ugc2hv
dWxkIGNsaXAgc291cmNlIHJlY3QgaWYgaXQgaXMgb3V0c2lkZSB0aGUgc291cmNlIGltYWdlCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjA4MDQKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwCmluZGV4IDRiOTA1OTFmYWRlMDFhOGNmMmUwYjQ4YWY3NDlhOWFmZGI3YmIx
NzIuLjQ0YTczMmJlODg4MDQ0OGEzYjBhMmY0YzE2MmY5Y2NiMzc3YTczZDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5jcHAKQEAgLTcwLDYgKzcwLDcgQEAKICNpbmNsdWRlICJUb3VjaEV2ZW50LmgiCiAjaW5jbHVk
ZSAiVHJlZVNjb3BlQWRvcHRlci5oIgogI2luY2x1ZGUgIldoZWVsRXZlbnQuaCIKKyNpbmNsdWRl
ICJYTUxOU05hbWVzLmgiCiAjaW5jbHVkZSAiWE1MTmFtZXMuaCIKICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZExlYWtDb3VudGVyLmg+CiAjaW5jbHVkZSA8d3RmL1NIQTEuaD4KQEAgLTEzMTMsMTU5
ICsxMzE0LDEwMyBAQCBib29sIE5vZGU6OmlzRXF1YWxOb2RlKE5vZGUqIG90aGVyKSBjb25zdAog
ICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIE5vZGU6OmlzRGVmYXVsdE5hbWVzcGFjZShjb25z
dCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSU1heWJlRW1wdHkpIGNvbnN0CisvLyBodHRwczov
L2RvbS5zcGVjLndoYXR3Zy5vcmcvI2xvY2F0ZS1hLW5hbWVzcGFjZQorc3RhdGljIGNvbnN0IEF0
b21pY1N0cmluZyYgbG9jYXRlRGVmYXVsdE5hbWVzcGFjZShjb25zdCBOb2RlJiBub2RlLCBjb25z
dCBBdG9taWNTdHJpbmcmIHByZWZpeCkKIHsKLSAgICBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVz
cGFjZVVSSSA9IG5hbWVzcGFjZVVSSU1heWJlRW1wdHkuaXNFbXB0eSgpID8gbnVsbEF0b20gOiBu
YW1lc3BhY2VVUklNYXliZUVtcHR5OwotCi0gICAgc3dpdGNoIChub2RlVHlwZSgpKSB7Ci0gICAg
ICAgIGNhc2UgRUxFTUVOVF9OT0RFOiB7Ci0gICAgICAgICAgICBjb25zdCBFbGVtZW50JiBlbGVt
ZW50ID0gZG93bmNhc3Q8RWxlbWVudD4oKnRoaXMpOwotICAgICAgICAgICAgCi0gICAgICAgICAg
ICBpZiAoZWxlbWVudC5wcmVmaXgoKS5pc051bGwoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4g
ZWxlbWVudC5uYW1lc3BhY2VVUkkoKSA9PSBuYW1lc3BhY2VVUkk7Ci0KLSAgICAgICAgICAgIGlm
IChlbGVtZW50Lmhhc0F0dHJpYnV0ZXMoKSkgewotICAgICAgICAgICAgICAgIGZvciAoY29uc3Qg
QXR0cmlidXRlJiBhdHRyaWJ1dGUgOiBlbGVtZW50LmF0dHJpYnV0ZXNJdGVyYXRvcigpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGUubG9jYWxOYW1lKCkgPT0geG1sbnNBdG9t
KQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZS52YWx1ZSgpID09IG5h
bWVzcGFjZVVSSTsKKyAgICBzd2l0Y2ggKG5vZGUubm9kZVR5cGUoKSkgeworICAgIGNhc2UgTm9k
ZTo6RUxFTUVOVF9OT0RFOiB7CisgICAgICAgIGF1dG8mIGVsZW1lbnQgPSBkb3duY2FzdDxFbGVt
ZW50Pihub2RlKTsKKyAgICAgICAgYXV0byYgbmFtZXNwYWNlVVJJID0gZWxlbWVudC5uYW1lc3Bh
Y2VVUkkoKTsKKyAgICAgICAgaWYgKCFuYW1lc3BhY2VVUkkuaXNOdWxsKCkgJiYgZWxlbWVudC5w
cmVmaXgoKSA9PSBwcmVmaXgpCisgICAgICAgICAgICByZXR1cm4gbmFtZXNwYWNlVVJJOworCisg
ICAgICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZXMoKSkgeworICAgICAgICAgICAgZm9yIChh
dXRvJiBhdHRyaWJ1dGUgOiBlbGVtZW50LmF0dHJpYnV0ZXNJdGVyYXRvcigpKSB7CisgICAgICAg
ICAgICAgICAgaWYgKGF0dHJpYnV0ZS5uYW1lc3BhY2VVUkkoKSAhPSBYTUxOU05hbWVzOjp4bWxu
c05hbWVzcGFjZVVSSSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg
ICAgICAgICBpZiAoKHByZWZpeC5pc051bGwoKSAmJiBhdHRyaWJ1dGUucHJlZml4KCkuaXNOdWxs
KCkgJiYgYXR0cmlidXRlLmxvY2FsTmFtZSgpID09IHhtbG5zQXRvbSkgfHwgKGF0dHJpYnV0ZS5w
cmVmaXgoKSA9PSB4bWxuc0F0b20gJiYgYXR0cmlidXRlLmxvY2FsTmFtZSgpID09IHByZWZpeCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byYgcmVzdWx0ID0gYXR0cmlidXRlLnZhbHVlKCk7
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuaXNFbXB0eSgpID8gbnVsbEF0b20g
OiByZXN1bHQ7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotCi0gICAgICAgICAg
ICBpZiAoYXV0byogcGFyZW50ID0gcGFyZW50RWxlbWVudCgpKQotICAgICAgICAgICAgICAgIHJl
dHVybiBwYXJlbnQtPmlzRGVmYXVsdE5hbWVzcGFjZShuYW1lc3BhY2VVUkkpOwotCi0gICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBET0NVTUVOVF9OT0RF
OgotICAgICAgICAgICAgaWYgKEVsZW1lbnQqIGRvY3VtZW50RWxlbWVudCA9IGRvd25jYXN0PERv
Y3VtZW50PigqdGhpcykuZG9jdW1lbnRFbGVtZW50KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IGRvY3VtZW50RWxlbWVudC0+aXNEZWZhdWx0TmFtZXNwYWNlKG5hbWVzcGFjZVVSSSk7Ci0gICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGNhc2UgRE9DVU1FTlRfVFlQRV9OT0RFOgot
ICAgICAgICBjYXNlIERPQ1VNRU5UX0ZSQUdNRU5UX05PREU6Ci0gICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgIGNhc2UgQVRUUklCVVRFX05PREU6IHsKLSAgICAgICAgICAgIGNvbnN0
IEF0dHIqIGF0dHIgPSBzdGF0aWNfY2FzdDxjb25zdCBBdHRyKj4odGhpcyk7Ci0gICAgICAgICAg
ICBpZiAoYXR0ci0+b3duZXJFbGVtZW50KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGF0dHIt
Pm93bmVyRWxlbWVudCgpLT5pc0RlZmF1bHROYW1lc3BhY2UobmFtZXNwYWNlVVJJKTsKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQotICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgaWYgKGF1dG8qIHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKSkKLSAgICAgICAgICAgICAg
ICByZXR1cm4gcGFyZW50LT5pc0RlZmF1bHROYW1lc3BhY2UobmFtZXNwYWNlVVJJKTsKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgYXV0byogcGFyZW50ID0gbm9kZS5wYXJlbnRF
bGVtZW50KCk7CisgICAgICAgIHJldHVybiBwYXJlbnQgPyBsb2NhdGVEZWZhdWx0TmFtZXNwYWNl
KCpwYXJlbnQsIHByZWZpeCkgOiBudWxsQXRvbTsKKyAgICB9CisgICAgY2FzZSBOb2RlOjpET0NV
TUVOVF9OT0RFOgorICAgICAgICBpZiAoYXV0byogZG9jdW1lbnRFbGVtZW50ID0gZG93bmNhc3Q8
RG9jdW1lbnQ+KG5vZGUpLmRvY3VtZW50RWxlbWVudCgpKQorICAgICAgICAgICAgcmV0dXJuIGxv
Y2F0ZURlZmF1bHROYW1lc3BhY2UoKmRvY3VtZW50RWxlbWVudCwgcHJlZml4KTsKKyAgICAgICAg
cmV0dXJuIG51bGxBdG9tOworICAgIGNhc2UgTm9kZTo6RE9DVU1FTlRfVFlQRV9OT0RFOgorICAg
IGNhc2UgTm9kZTo6RE9DVU1FTlRfRlJBR01FTlRfTk9ERToKKyAgICAgICAgcmV0dXJuIG51bGxB
dG9tOworICAgIGNhc2UgTm9kZTo6QVRUUklCVVRFX05PREU6CisgICAgICAgIGlmIChhdXRvKiBv
d25lckVsZW1lbnQgPSBkb3duY2FzdDxBdHRyPihub2RlKS5vd25lckVsZW1lbnQoKSkKKyAgICAg
ICAgICAgIHJldHVybiBsb2NhdGVEZWZhdWx0TmFtZXNwYWNlKCpvd25lckVsZW1lbnQsIHByZWZp
eCk7CisgICAgICAgIHJldHVybiBudWxsQXRvbTsKKyAgICBkZWZhdWx0OgorICAgICAgICBpZiAo
YXV0byogcGFyZW50ID0gbm9kZS5wYXJlbnRFbGVtZW50KCkpCisgICAgICAgICAgICByZXR1cm4g
bG9jYXRlRGVmYXVsdE5hbWVzcGFjZSgqcGFyZW50LCBwcmVmaXgpOworICAgICAgICByZXR1cm4g
bnVsbEF0b207CiAgICAgfQogfQogCi1TdHJpbmcgTm9kZTo6bG9va3VwUHJlZml4KGNvbnN0IEF0
b21pY1N0cmluZyAmbmFtZXNwYWNlVVJJKSBjb25zdAorLy8gaHR0cHM6Ly9kb20uc3BlYy53aGF0
d2cub3JnLyNkb20tbm9kZS1pc2RlZmF1bHRuYW1lc3BhY2UKK2Jvb2wgTm9kZTo6aXNEZWZhdWx0
TmFtZXNwYWNlKGNvbnN0IEF0b21pY1N0cmluZyYgcG90ZW50aWFsbHlFbXB0eU5hbWVzcGFjZSkg
Y29uc3QKIHsKLSAgICAvLyBJbXBsZW1lbnRlZCBhY2NvcmRpbmcgdG8KLSAgICAvLyBodHRwOi8v
d3d3LnczLm9yZy9UUi8yMDA0L1JFQy1ET00tTGV2ZWwtMy1Db3JlLTIwMDQwNDA3L25hbWVzcGFj
ZXMtYWxnb3JpdGhtcy5odG1sI2xvb2t1cE5hbWVzcGFjZVByZWZpeEFsZ28KLSAgICAKLSAgICBp
ZiAobmFtZXNwYWNlVVJJLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAg
IAotICAgIHN3aXRjaCAobm9kZVR5cGUoKSkgewotICAgICAgICBjYXNlIEVMRU1FTlRfTk9ERToK
LSAgICAgICAgICAgIHJldHVybiBsb29rdXBOYW1lc3BhY2VQcmVmaXgobmFtZXNwYWNlVVJJLCBz
dGF0aWNfY2FzdDxjb25zdCBFbGVtZW50ICo+KHRoaXMpKTsKLSAgICAgICAgY2FzZSBET0NVTUVO
VF9OT0RFOgotICAgICAgICAgICAgaWYgKEVsZW1lbnQqIGRvY3VtZW50RWxlbWVudCA9IGRvd25j
YXN0PERvY3VtZW50PigqdGhpcykuZG9jdW1lbnRFbGVtZW50KCkpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIGRvY3VtZW50RWxlbWVudC0+bG9va3VwUHJlZml4KG5hbWVzcGFjZVVSSSk7Ci0gICAg
ICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgRE9DVU1FTlRfRlJBR01FTlRf
Tk9ERToKLSAgICAgICAgY2FzZSBET0NVTUVOVF9UWVBFX05PREU6Ci0gICAgICAgICAgICByZXR1
cm4gU3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgQVRUUklCVVRFX05PREU6IHsKLSAgICAgICAgICAg
IGNvbnN0IEF0dHIgKmF0dHIgPSBzdGF0aWNfY2FzdDxjb25zdCBBdHRyICo+KHRoaXMpOwotICAg
ICAgICAgICAgaWYgKGF0dHItPm93bmVyRWxlbWVudCgpKQotICAgICAgICAgICAgICAgIHJldHVy
biBhdHRyLT5vd25lckVsZW1lbnQoKS0+bG9va3VwUHJlZml4KG5hbWVzcGFjZVVSSSk7Ci0gICAg
ICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgICAgIH0KLSAgICAgICAgZGVmYXVsdDoKLSAg
ICAgICAgICAgIGlmIChhdXRvKiBwYXJlbnQgPSBwYXJlbnRFbGVtZW50KCkpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuIHBhcmVudC0+bG9va3VwUHJlZml4KG5hbWVzcGFjZVVSSSk7Ci0gICAgICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgfQorICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbmFt
ZXNwYWNlVVJJID0gcG90ZW50aWFsbHlFbXB0eU5hbWVzcGFjZS5pc0VtcHR5KCkgPyBudWxsQXRv
bSA6IHBvdGVudGlhbGx5RW1wdHlOYW1lc3BhY2U7CisgICAgcmV0dXJuIGxvY2F0ZURlZmF1bHRO
YW1lc3BhY2UoKnRoaXMsIG51bGxBdG9tKSA9PSBuYW1lc3BhY2VVUkk7CiB9CiAKLVN0cmluZyBO
b2RlOjpsb29rdXBOYW1lc3BhY2VVUkkoY29uc3QgU3RyaW5nICZwcmVmaXgpIGNvbnN0CisvLyBo
dHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2RvbS1ub2RlLWxvb2t1cG5hbWVzcGFjZXVyaQor
Y29uc3QgQXRvbWljU3RyaW5nJiBOb2RlOjpsb29rdXBOYW1lc3BhY2VVUkkoY29uc3QgQXRvbWlj
U3RyaW5nJiBwb3RlbnRpYWxseUVtcHR5UHJlZml4KSBjb25zdAogewotICAgIC8vIEltcGxlbWVu
dGVkIGFjY29yZGluZyB0bwotICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDQvUkVDLURP
TS1MZXZlbC0zLUNvcmUtMjAwNDA0MDcvbmFtZXNwYWNlcy1hbGdvcml0aG1zLmh0bWwjbG9va3Vw
TmFtZXNwYWNlVVJJQWxnbwotICAgIAotICAgIGlmICghcHJlZml4LmlzTnVsbCgpICYmIHByZWZp
eC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICAKLSAgICBzd2l0Y2gg
KG5vZGVUeXBlKCkpIHsKLSAgICAgICAgY2FzZSBFTEVNRU5UX05PREU6IHsKLSAgICAgICAgICAg
IGNvbnN0IEVsZW1lbnQgKmVsZW0gPSBzdGF0aWNfY2FzdDxjb25zdCBFbGVtZW50ICo+KHRoaXMp
OwotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIWVsZW0tPm5hbWVzcGFjZVVSSSgpLmlz
TnVsbCgpICYmIGVsZW0tPnByZWZpeCgpID09IHByZWZpeCkKLSAgICAgICAgICAgICAgICByZXR1
cm4gZWxlbS0+bmFtZXNwYWNlVVJJKCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChl
bGVtLT5oYXNBdHRyaWJ1dGVzKCkpIHsKLSAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IEF0dHJp
YnV0ZSYgYXR0cmlidXRlIDogZWxlbS0+YXR0cmlidXRlc0l0ZXJhdG9yKCkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGUucHJlZml4KCkg
PT0geG1sbnNBdG9tICYmIGF0dHJpYnV0ZS5sb2NhbE5hbWUoKSA9PSBwcmVmaXgpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICghYXR0cmlidXRlLnZhbHVlKCkuaXNFbXB0eSgpKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhdHRyaWJ1dGUudmFsdWUoKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFN0cmlu
ZygpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGlmIChhdHRy
aWJ1dGUubG9jYWxOYW1lKCkgPT0geG1sbnNBdG9tICYmIHByZWZpeC5pc051bGwoKSkgewotICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKCFhdHRyaWJ1dGUudmFsdWUoKS5pc0VtcHR5KCkpCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZS52YWx1ZSgpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gU3Ry
aW5nKCk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBpZiAoYXV0byogcGFyZW50ID0gcGFyZW50RWxlbWVudCgpKQot
ICAgICAgICAgICAgICAgIHJldHVybiBwYXJlbnQtPmxvb2t1cE5hbWVzcGFjZVVSSShwcmVmaXgp
OwotICAgICAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgICAgICB9Ci0gICAgICAgIGNhc2Ug
RE9DVU1FTlRfTk9ERToKLSAgICAgICAgICAgIGlmIChFbGVtZW50KiBkb2N1bWVudEVsZW1lbnQg
PSBkb3duY2FzdDxEb2N1bWVudD4oKnRoaXMpLmRvY3VtZW50RWxlbWVudCgpKQotICAgICAgICAg
ICAgICAgIHJldHVybiBkb2N1bWVudEVsZW1lbnQtPmxvb2t1cE5hbWVzcGFjZVVSSShwcmVmaXgp
OwotICAgICAgICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgICAgICBjYXNlIERPQ1VNRU5UX1RZ
UEVfTk9ERToKLSAgICAgICAgY2FzZSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFOgotICAgICAgICAg
ICAgcmV0dXJuIFN0cmluZygpOwotICAgICAgICBjYXNlIEFUVFJJQlVURV9OT0RFOiB7Ci0gICAg
ICAgICAgICBjb25zdCBBdHRyICphdHRyID0gc3RhdGljX2Nhc3Q8Y29uc3QgQXR0ciAqPih0aGlz
KTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKGF0dHItPm93bmVyRWxlbWVudCgpKQot
ICAgICAgICAgICAgICAgIHJldHVybiBhdHRyLT5vd25lckVsZW1lbnQoKS0+bG9va3VwTmFtZXNw
YWNlVVJJKHByZWZpeCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcmV0dXJu
IFN0cmluZygpOwotICAgICAgICB9Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBpZiAo
YXV0byogcGFyZW50ID0gcGFyZW50RWxlbWVudCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBw
YXJlbnQtPmxvb2t1cE5hbWVzcGFjZVVSSShwcmVmaXgpOwotICAgICAgICAgICAgcmV0dXJuIFN0
cmluZygpOwotICAgIH0KKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIHByZWZpeCA9IHBvdGVudGlh
bGx5RW1wdHlQcmVmaXguaXNFbXB0eSgpID8gbnVsbEF0b20gOiBwb3RlbnRpYWxseUVtcHR5UHJl
Zml4OworICAgIHJldHVybiBsb2NhdGVEZWZhdWx0TmFtZXNwYWNlKCp0aGlzLCBwcmVmaXgpOwog
fQogCi1TdHJpbmcgTm9kZTo6bG9va3VwTmFtZXNwYWNlUHJlZml4KGNvbnN0IEF0b21pY1N0cmlu
ZyAmX25hbWVzcGFjZVVSSSwgY29uc3QgRWxlbWVudCAqb3JpZ2luYWxFbGVtZW50KSBjb25zdAor
Ly8gaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNsb2NhdGUtYS1uYW1lc3BhY2UtcHJlZml4
CitzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhdGVOYW1lc3BhY2VQcmVmaXgoY29uc3Qg
RWxlbWVudCYgZWxlbWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkpCiB7Ci0g
ICAgaWYgKF9uYW1lc3BhY2VVUkkuaXNOdWxsKCkpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsK
LSAgICAgICAgICAgIAotICAgIGlmIChvcmlnaW5hbEVsZW1lbnQtPmxvb2t1cE5hbWVzcGFjZVVS
SShwcmVmaXgoKSkgPT0gX25hbWVzcGFjZVVSSSkKLSAgICAgICAgcmV0dXJuIHByZWZpeCgpOwot
ICAgIAotICAgIEFTU0VSVChpczxFbGVtZW50PigqdGhpcykpOwotICAgIGNvbnN0IEVsZW1lbnQm
IHRoaXNFbGVtZW50ID0gZG93bmNhc3Q8RWxlbWVudD4oKnRoaXMpOwotICAgIGlmICh0aGlzRWxl
bWVudC5oYXNBdHRyaWJ1dGVzKCkpIHsKLSAgICAgICAgZm9yIChjb25zdCBBdHRyaWJ1dGUmIGF0
dHJpYnV0ZSA6IHRoaXNFbGVtZW50LmF0dHJpYnV0ZXNJdGVyYXRvcigpKSB7Ci0gICAgICAgICAg
ICBpZiAoYXR0cmlidXRlLnByZWZpeCgpID09IHhtbG5zQXRvbSAmJiBhdHRyaWJ1dGUudmFsdWUo
KSA9PSBfbmFtZXNwYWNlVVJJCi0gICAgICAgICAgICAgICAgJiYgb3JpZ2luYWxFbGVtZW50LT5s
b29rdXBOYW1lc3BhY2VVUkkoYXR0cmlidXRlLmxvY2FsTmFtZSgpKSA9PSBfbmFtZXNwYWNlVVJJ
KQorICAgIGlmIChlbGVtZW50Lm5hbWVzcGFjZVVSSSgpID09IG5hbWVzcGFjZVVSSSkKKyAgICAg
ICAgcmV0dXJuIGVsZW1lbnQucHJlZml4KCk7CisKKyAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1
dGVzKCkpIHsKKyAgICAgICAgZm9yIChhdXRvJiBhdHRyaWJ1dGUgOiBlbGVtZW50LmF0dHJpYnV0
ZXNJdGVyYXRvcigpKSB7CisgICAgICAgICAgICBpZiAoYXR0cmlidXRlLnByZWZpeCgpID09IHht
bG5zQXRvbSAmJiBhdHRyaWJ1dGUudmFsdWUoKSA9PSBuYW1lc3BhY2VVUkkpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIGF0dHJpYnV0ZS5sb2NhbE5hbWUoKTsKICAgICAgICAgfQogICAgIH0KKyAg
ICBhdXRvKiBwYXJlbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQoKTsKKyAgICByZXR1cm4gcGFy
ZW50ID8gbG9jYXRlTmFtZXNwYWNlUHJlZml4KCpwYXJlbnQsIG5hbWVzcGFjZVVSSSkgOiBudWxs
QXRvbTsKK30KKworLy8gaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20tbm9kZS1sb29r
dXBwcmVmaXgKK2NvbnN0IEF0b21pY1N0cmluZyYgTm9kZTo6bG9va3VwUHJlZml4KGNvbnN0IEF0
b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJKSBjb25zdAoreworICAgIGlmIChuYW1lc3BhY2VVUkku
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gbnVsbEF0b207CiAgICAgCi0gICAgaWYgKGF1dG8q
IHBhcmVudCA9IHBhcmVudEVsZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIHBhcmVudC0+bG9va3Vw
TmFtZXNwYWNlUHJlZml4KF9uYW1lc3BhY2VVUkksIG9yaWdpbmFsRWxlbWVudCk7Ci0gICAgcmV0
dXJuIFN0cmluZygpOworICAgIHN3aXRjaCAobm9kZVR5cGUoKSkgeworICAgIGNhc2UgRUxFTUVO
VF9OT0RFOgorICAgICAgICByZXR1cm4gbG9jYXRlTmFtZXNwYWNlUHJlZml4KGRvd25jYXN0PEVs
ZW1lbnQ+KCp0aGlzKSwgbmFtZXNwYWNlVVJJKTsKKyAgICBjYXNlIERPQ1VNRU5UX05PREU6Cisg
ICAgICAgIGlmIChhdXRvKiBkb2N1bWVudEVsZW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4oKnRo
aXMpLmRvY3VtZW50RWxlbWVudCgpKQorICAgICAgICAgICAgcmV0dXJuIGxvY2F0ZU5hbWVzcGFj
ZVByZWZpeCgqZG9jdW1lbnRFbGVtZW50LCBuYW1lc3BhY2VVUkkpOworICAgICAgICByZXR1cm4g
bnVsbEF0b207CisgICAgY2FzZSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFOgorICAgIGNhc2UgRE9D
VU1FTlRfVFlQRV9OT0RFOgorICAgICAgICByZXR1cm4gbnVsbEF0b207CisgICAgY2FzZSBBVFRS
SUJVVEVfTk9ERToKKyAgICAgICAgaWYgKGF1dG8qIG93bmVyRWxlbWVudCA9IGRvd25jYXN0PEF0
dHI+KCp0aGlzKS5vd25lckVsZW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBsb2NhdGVOYW1l
c3BhY2VQcmVmaXgoKm93bmVyRWxlbWVudCwgbmFtZXNwYWNlVVJJKTsKKyAgICAgICAgcmV0dXJu
IG51bGxBdG9tOworICAgIGRlZmF1bHQ6CisgICAgICAgIGlmIChhdXRvKiBwYXJlbnQgPSBwYXJl
bnRFbGVtZW50KCkpCisgICAgICAgICAgICByZXR1cm4gbG9jYXRlTmFtZXNwYWNlUHJlZml4KCpw
YXJlbnQsIG5hbWVzcGFjZVVSSSk7CisgICAgICAgIHJldHVybiBudWxsQXRvbTsKKyAgICB9CiB9
CiAKIHN0YXRpYyB2b2lkIGFwcGVuZFRleHRDb250ZW50KGNvbnN0IE5vZGUqIG5vZGUsIGJvb2wg
Y29udmVydEJSc1RvTmV3bGluZXMsIGJvb2wmIGlzTnVsbFN0cmluZywgU3RyaW5nQnVpbGRlciYg
Y29udGVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDI1YzFlZWQzYmIwY2Q3MDY0MTNmOWYyZjI2YzBhNzUw
MDRjN2FiNzUuLjQ0ZThiNWYwMTg4YTg3NTI4ZjBlNDk3YWMzYTczMWVlOTM3NjBkOWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuaApAQCAtMTkyLDkgKzE5Miw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzU2FtZU5vZGUo
Tm9kZSogb3RoZXIpIGNvbnN0IHsgcmV0dXJuIHRoaXMgPT0gb3RoZXI7IH0KICAgICBib29sIGlz
RXF1YWxOb2RlKE5vZGUqKSBjb25zdDsKICAgICBib29sIGlzRGVmYXVsdE5hbWVzcGFjZShjb25z
dCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSkgY29uc3Q7Ci0gICAgU3RyaW5nIGxvb2t1cFBy
ZWZpeChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSkgY29uc3Q7Ci0gICAgU3RyaW5n
IGxvb2t1cE5hbWVzcGFjZVVSSShjb25zdCBTdHJpbmcmIHByZWZpeCkgY29uc3Q7Ci0gICAgU3Ry
aW5nIGxvb2t1cE5hbWVzcGFjZVByZWZpeChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVS
SSwgY29uc3QgRWxlbWVudCogb3JpZ2luYWxFbGVtZW50KSBjb25zdDsKKyAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIGxvb2t1cFByZWZpeChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSkg
Y29uc3Q7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBsb29rdXBOYW1lc3BhY2VVUkkoY29uc3Qg
QXRvbWljU3RyaW5nJiBwcmVmaXgpIGNvbnN0OwogICAgIAogICAgIFdFQkNPUkVfRVhQT1JUIFN0
cmluZyB0ZXh0Q29udGVudChib29sIGNvbnZlcnRCUnNUb05ld2xpbmVzID0gZmFsc2UpIGNvbnN0
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VGV4dENvbnRlbnQoY29uc3QgU3RyaW5nJiwg
RXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL05hdGl2ZVhQ
YXRoTlNSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvTmF0aXZlWFBhdGhOU1Jlc29s
dmVyLmNwcAppbmRleCBmYjExNDczZDZiN2I2YzQ5MTMzZmE1NjYyMjAzMTMwNzY4YzM3OWE0Li5h
YmE3NDM1ZWQyMTIzMDdjY2ZlZmI1MGM2NTI3YmMxMzk3YzkyNDRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvTmF0aXZlWFBhdGhOU1Jlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvTmF0aXZlWFBhdGhOU1Jlc29sdmVyLmNwcApAQCAtNDgsNyArNDgsNyBAQCBTdHJp
bmcgTmF0aXZlWFBhdGhOU1Jlc29sdmVyOjpsb29rdXBOYW1lc3BhY2VVUkkoY29uc3QgU3RyaW5n
JiBwcmVmaXgpCiAgICAgaWYgKHByZWZpeCA9PSAieG1sIikKICAgICAgICAgcmV0dXJuIFhNTE5h
bWVzOjp4bWxOYW1lc3BhY2VVUkk7CiAgICAgCi0gICAgcmV0dXJuIG1fbm9kZSA/IG1fbm9kZS0+
bG9va3VwTmFtZXNwYWNlVVJJKHByZWZpeCkgOiBTdHJpbmcoKTsKKyAgICByZXR1cm4gbV9ub2Rl
ID8gbV9ub2RlLT5sb29rdXBOYW1lc3BhY2VVUkkocHJlZml4KS5zdHJpbmcoKSA6IFN0cmluZygp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2RmZTQ2OTBlOTkxYWMwNTRh
ZDc0Yjc1YzhjMGRiZmRmOTFkNGM0NC4uZDI2NjJmZjc3ZmExODEzOGIxNmE3ZjE0MTNjZmI3Nzcy
NWQ0MTdkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACiAyMDE2LTA4LTE2ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgQWxpZ24gaXNEZWZhdWx0TmFtZXNwYWNlKCkg
LyBsb29rdXBQcmVmaXgoKSAvIGxvb2t1cE5hbWVzcGFjZVVSSSgpIHdpdGggdGhlIHNwZWNpZmlj
YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MDkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERy
b3Agc2V2ZXJhbCBvdXRkYXRlZCB0ZXN0cy4KKworICAgICAgICAqIGRvbS94aHRtbC9sZXZlbDMv
Y29yZS9ub2RlaXNkZWZhdWx0bmFtZXNwYWNlMDMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGRvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlaXNkZWZhdWx0bmFtZXNwYWNlMDMuanM6
IFJlbW92ZWQuCisgICAgICAgICogZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVpc2RlZmF1bHRu
YW1lc3BhY2UwMy54aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2Nv
cmUvbm9kZWxvb2t1cG5hbWVzcGFjZXVyaTA4LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cG5hbWVzcGFjZXVyaTA4LmpzOiBS
ZW1vdmVkLgorICAgICAgICAqIGRvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlbG9va3VwbmFtZXNw
YWNldXJpMDgueGh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZG9tL3hodG1sL2xldmVsMy9jb3Jl
L25vZGVsb29rdXBuYW1lc3BhY2V1cmkwOS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVsb29rdXBuYW1lc3BhY2V1cmkwOS5qczogUmVt
b3ZlZC4KKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cG5hbWVzcGFj
ZXVyaTA5LnhodG1sOiBSZW1vdmVkLgorCisyMDE2LTA4LTE2ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CisKICAgICAgICAgY3R4LmRyYXdJbWFnZSBzaG91bGQgY2xpcCBzb3VyY2Ug
cmVjdCBpZiBpdCBpcyBvdXRzaWRlIHRoZSBzb3VyY2UgaW1hZ2UKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDgwNAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwppbmRleCA2ZTEyYzZjNjIzZjBlYzE4MWYxNDYyOGYwMDI3OGQ5MjY0MGI0OTU4
Li5kYWQ2NGZhYWViOWUxMTI0NjU0ZjQ5MjJmMjA0NGFmMDQwMGM2NmY4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wOC0xNiAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFsaWduIGlzRGVmYXVsdE5hbWVzcGFj
ZSgpIC8gbG9va3VwUHJlZml4KCkgLyBsb29rdXBOYW1lc3BhY2VVUkkoKSB3aXRoIHRoZSBzcGVj
aWZpY2F0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjA5MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZWJhc2VsaW5lIFczQyB0ZXN0IG5vdyB0aGF0IG1vcmUgY2hlY2tzIGFyZSBwYXNzaW5nLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Ob2RlLWxvb2t1cE5hbWVz
cGFjZVVSSS1leHBlY3RlZC50eHQ6CisKIDIwMTYtMDgtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlICdlbWJlZHMnIC8gJ3BsdWdpbnMnLyAnc2NyaXB0
cycgYXR0cmlidXRlcyBmcm9tIEhUTUxEb2N1bWVudCB0byBEb2N1bWVudApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVpc2RlZmF1bHRuYW1lc3BhY2Uw
My1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWlz
ZGVmYXVsdG5hbWVzcGFjZTAzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMjdjN2M1NzExMTY0ZWVjMmE0OTdhMGM2NDY4MmQyNDY2NTFmOWU2MC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9kb20veGh0
bWwvbGV2ZWwzL2NvcmUvbm9kZWlzZGVmYXVsdG5hbWVzcGFjZTAzLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotVGVzdAlodHRwOi8vd3d3LnczLm9yZy8yMDAxL0RP
TS1UZXN0LVN1aXRlL2xldmVsMy9jb3JlL25vZGVpc2RlZmF1bHRuYW1lc3BhY2UwMwotU3RhdHVz
CVN1Y2Nlc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9u
b2RlaXNkZWZhdWx0bmFtZXNwYWNlMDMuanMgYi9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwz
L2NvcmUvbm9kZWlzZGVmYXVsdG5hbWVzcGFjZTAzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwOGQwNWYwYWNmZjYxZjhjODI0YTUwYmQ2ZGJjMThmZWIzNzA2MjYxLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2RvbS94
aHRtbC9sZXZlbDMvY29yZS9ub2RlaXNkZWZhdWx0bmFtZXNwYWNlMDMuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwxMTUgKzAsMCBAQAotCi0vKgotQ29weXJpZ2h0IMOCwqkgMjAwMS0yMDA0IFdvcmxk
IFdpZGUgV2ViIENvbnNvcnRpdW0sIAotKE1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hu
b2xvZ3ksIEV1cm9wZWFuIFJlc2VhcmNoIENvbnNvcnRpdW0gCi1mb3IgSW5mb3JtYXRpY3MgYW5k
IE1hdGhlbWF0aWNzLCBLZWlvIFVuaXZlcnNpdHkpLiBBbGwgCi1SaWdodHMgUmVzZXJ2ZWQuIFRo
aXMgd29yayBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVzNDw4LCriBTb2Z0d2FyZSBMaWNlbnNl
IFsxXSBpbiB0aGUgCi1ob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIAotdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAKLQotWzFdIGh0
dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwMi9jb3B5cmlnaHQtc29mdHdhcmUt
MjAwMjEyMzEKLSovCi0KLQotCi0gICAvKioKLSAgICAqICBHZXRzIFVSSSB0aGF0IGlkZW50aWZp
ZXMgdGhlIHRlc3QuCi0gICAgKiAgQHJldHVybiB1cmkgaWRlbnRpZmllciBvZiB0ZXN0Ci0gICAg
Ki8KLWZ1bmN0aW9uIGdldFRhcmdldFVSSSgpIHsKLSAgICAgIHJldHVybiAiaHR0cDovL3d3dy53
My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDMvY29yZS9ub2RlaXNkZWZhdWx0bmFtZXNw
YWNlMDMiOwotICAgfQotCi12YXIgZG9jc0xvYWRlZCA9IC0xMDAwMDAwOwotdmFyIGJ1aWxkZXIg
PSBudWxsOwotCi0vLwotLy8gICBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSB0aGUgdGVzdGlu
ZyBmcmFtZXdvcmsgYmVmb3JlCi0vLyAgICAgIHJ1bm5pbmcgdGhlIHRlc3Qgc3VpdGUuCi0vLwot
Ly8gICBJZiB0aGVyZSBhcmUgbm8gY29uZmlndXJhdGlvbiBleGNlcHRpb25zLCBhc3luY2hyb25v
dXMKLS8vICAgICAgICBkb2N1bWVudCBsb2FkaW5nIGlzIHN0YXJ0ZWQuICBPdGhlcndpc2UsIHRo
ZSBzdGF0dXMKLS8vICAgICAgICBpcyBzZXQgdG8gY29tcGxldGUgYW5kIHRoZSBleGNlcHRpb24g
aXMgaW1tZWRpYXRlbHkKLS8vICAgICAgICByYWlzZWQgd2hlbiBlbnRlcmluZyB0aGUgYm9keSBv
ZiB0aGUgdGVzdC4KLS8vCi1mdW5jdGlvbiBzZXRVcFBhZ2UoKSB7Ci0gICBzZXRVcFBhZ2VTdGF0
dXMgPSAncnVubmluZyc7Ci0gICB0cnkgewotICAgICAvLwotICAgICAvLyAgIGNyZWF0ZXMgdGVz
dCBkb2N1bWVudCBidWlsZGVyLCBtYXkgdGhyb3cgZXhjZXB0aW9uCi0gICAgIC8vCi0gICAgIGJ1
aWxkZXIgPSBjcmVhdGVDb25maWd1cmVkQnVpbGRlcigpOwotICAgICAgIHNldEltcGxlbWVudGF0
aW9uQXR0cmlidXRlKCJuYW1lc3BhY2VBd2FyZSIsIHRydWUpOwotCi0gICAgICBkb2NzTG9hZGVk
ID0gMDsKLSAgICAgIAotICAgICAgdmFyIGRvY1JlZiA9IG51bGw7Ci0gICAgICBpZiAodHlwZW9m
KHRoaXMuZG9jKSAhPSAndW5kZWZpbmVkJykgewotICAgICAgICBkb2NSZWYgPSB0aGlzLmRvYzsK
LSAgICAgIH0KLSAgICAgIGRvY3NMb2FkZWQgKz0gcHJlbG9hZChkb2NSZWYsICJkb2MiLCAiaGNf
c3RhZmYiKTsKLSAgICAgICAgCi0gICAgICAgaWYgKGRvY3NMb2FkZWQgPT0gMSkgewotICAgICAg
ICAgIHNldFVwUGFnZVN0YXR1cyA9ICdjb21wbGV0ZSc7Ci0gICAgICAgfQotICAgIH0gY2F0Y2go
ZXgpIHsKLSAgICAJY2F0Y2hJbml0aWFsaXphdGlvbkVycm9yKGJ1aWxkZXIsIGV4KTsKLSAgICAg
ICAgc2V0VXBQYWdlU3RhdHVzID0gJ2NvbXBsZXRlJzsKLSAgICB9Ci19Ci0KLQotCi0vLwotLy8g
ICBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgb24gdGhlIGNvbXBsZXRpb24gb2YgCi0vLyAgICAgIGVh
Y2ggYXN5Y2hyb25vdXMgbG9hZCBzdGFydGVkIGluIHNldFVwVGVzdHMuCi0vLwotLy8gICBXaGVu
IGV2ZXJ5IHN5bmNocm9ub3VzIGxvYWRlZCBkb2N1bWVudCBoYXMgY29tcGxldGVkLAotLy8gICAg
ICB0aGUgcGFnZSBzdGF0dXMgaXMgY2hhbmdlZCB3aGljaCBhbGxvd3MgdGhlCi0vLyAgICAgIGJv
ZHkgb2YgdGhlIHRlc3QgdG8gYmUgZXhlY3V0ZWQuCi1mdW5jdGlvbiBsb2FkQ29tcGxldGUoKSB7
Ci0gICAgaWYgKCsrZG9jc0xvYWRlZCA9PSAxKSB7Ci0gICAgICAgIHNldFVwUGFnZVN0YXR1cyA9
ICdjb21wbGV0ZSc7Ci0gICAgfQotfQotCi0KLS8qKgotKiAKLQotCi0KLQlVc2luZyBpc0RlZmF1
bHROYW1lc3BhY2Ugb24gdGhpcyBEb2N1bWVudFR5cGUgbm9kZSB3aXRoIHRoZSB2YWx1ZSBvZiB0
aGUgbmFtZXNwYWNlVVJJIHBhcmFtZXRlcgotCWFzIG51bGwgY2hlY2sgaWYgdGhlIHZhbHVlIHJl
dHVybmVkIGlzIGZhbHNlLgotCi0qIEBhdXRob3IgSUJNCi0qIEBhdXRob3IgTmVpbCBEZWxpbWEK
LSogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA0L1JFQy1ET00tTGV2ZWwtMy1Db3JlLTIw
MDQwNDA3L2NvcmUjTm9kZTMtaXNEZWZhdWx0TmFtZXNwYWNlCi0qLwotZnVuY3Rpb24gbm9kZWlz
ZGVmYXVsdG5hbWVzcGFjZTAzKCkgewotICAgdmFyIHN1Y2Nlc3M7Ci0gICAgaWYoY2hlY2tJbml0
aWFsaXphdGlvbihidWlsZGVyLCAibm9kZWlzZGVmYXVsdG5hbWVzcGFjZTAzIikgIT0gbnVsbCkg
cmV0dXJuOwotICAgIHZhciBkb2M7Ci0gICAgICB2YXIgZG9jVHlwZTsKLSAgICAgIHZhciBpc0Rl
ZmF1bHQ7Ci0gICAgICB2YXIgbnVsbE5TVVJJID0gbnVsbDsKLQotICAgICAgCi0gICAgICB2YXIg
ZG9jUmVmID0gbnVsbDsKLSAgICAgIGlmICh0eXBlb2YodGhpcy5kb2MpICE9ICd1bmRlZmluZWQn
KSB7Ci0gICAgICAgIGRvY1JlZiA9IHRoaXMuZG9jOwotICAgICAgfQotICAgICAgZG9jID0gbG9h
ZChkb2NSZWYsICJkb2MiLCAiaGNfc3RhZmYiKTsKLSAgICAgIGRvY1R5cGUgPSBkb2MuZG9jdHlw
ZTsKLQotICAgICAgaXNEZWZhdWx0ID0gZG9jVHlwZS5pc0RlZmF1bHROYW1lc3BhY2UobnVsbE5T
VVJJKTsKLSAgICAgIGFzc2VydEZhbHNlKCJub2RlaXNkZWZhdWx0bmFtZXNwYWNlMDMiLGlzRGVm
YXVsdCk7Ci0KLX0KLQotCi0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgIG5vZGVpc2RlZmF1
bHRuYW1lc3BhY2UwMygpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xl
dmVsMy9jb3JlL25vZGVpc2RlZmF1bHRuYW1lc3BhY2UwMy54aHRtbCBiL0xheW91dFRlc3RzL2Rv
bS94aHRtbC9sZXZlbDMvY29yZS9ub2RlaXNkZWZhdWx0bmFtZXNwYWNlMDMueGh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjMGNlN2IxMDg1YzVkYjM3ZmRjMDY1NzRlOTk5ODVk
MTUwYmQxYzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVpc2RlZmF1bHRuYW1lc3BhY2Uw
My54aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEu
MCI/Pjw/VEVTVC1TVFlMRSBQSURBVEE/PgotPCFET0NUWVBFIGh0bWwKLSAgIFBVQkxJQyAiLS8v
VzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iCi0gICAieGh0bWwxLXN0cmljdC5kdGQiIFsK
LSAgIDwhRU5USVRZIGFscGhhICImIzk0NTsiPgotICAgPCFFTlRJVFkgYmV0YSAiJiM5NDY7Ij4K
LSAgIDwhRU5USVRZIGdhbW1hICImIzk0NzsiPgotICAgPCFFTlRJVFkgZGVsdGEgIiYjOTQ4OyI+
Ci0gICA8IUVOVElUWSBlcHNpbG9uICImIzk0OTsiPgotICAgPCFFTlRJVFkgYWxwaGEgIiYjOTUw
OyI+Ci0gICA8IU5PVEFUSU9OIG5vdGF0aW9uMSBQVUJMSUMgIm5vdGF0aW9uMUZpbGUiPgotICAg
PCFOT1RBVElPTiBub3RhdGlvbjIgU1lTVEVNICJub3RhdGlvbjJGaWxlIj4KLSAgIDwhQVRUTElT
VCBwCi0gICAgICAgIGRpciBDREFUQSAncnRsJwotICAgICAgICB4bWxuczpkbXN0YyBDREFUQSAj
SU1QTElFRAotICAgICAgICB4bWxuczpubSBDREFUQSAjSU1QTElFRAotICAgICAgICB4bWxuczpl
bXAyIENEQVRBICNJTVBMSUVEPgotICAgPCFBVFRMSVNUIGh0bWwKLSAgICAgICAgICAgICAgICAg
ICB4bWxuczp4c2kgQ0RBVEEgI0lNUExJRUQKLSAgICAgICAgICAgICAgICAgICB4c2k6c2NoZW1h
TG9jYXRpb24gQ0RBVEEgI0lNUExJRUQ+Ci0gICA8IUFUVExJU1QgYWNyb255bSB4c2k6bm9OYW1l
c3BhY2VTY2hlbWFMb2NhdGlvbiBDREFUQSAjSU1QTElFRD4KLSAgIDwhRU5USVRZIGVudDQgIjxz
cGFuIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJz5FbGVtZW50IGRhdGE8L3Nw
YW4+PD9QSXRhcmdldCBQSWRhdGE/PiI+Ci0gICA8IUFUVExJU1Qgc3BhbiB4bWxucyBDREFUQSAj
SU1QTElFRD4KLV0+Ci08IS0tIFRoaXMgaXMgY29tbWVudCBudW1iZXIgMS4tLT4KLTxodG1sIHht
bG5zPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJwotICAgICAgICB4bWxuczp4c2k9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgotICAgICAgICB4c2k6c2No
ZW1hTG9jYXRpb249Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwgaGNfc3RhZmYueHNkIj48
aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsg
Y2hhcnNldD1VVEYtOCIvPjx0aXRsZT5oY19zdGFmZjwvdGl0bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0ic2VsZnhodG1sLmpzIi8+PHNjcmlwdCBjaGFyc2V0PSJVVEYtOCIg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Im5vZGVpc2RlZmF1bHRuYW1lc3BhY2UwMy5qcyIv
PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5mdW5jdGlvbiBsb2FkQ29tcGxldGUoKSB7
IHN0YXJ0VGVzdCgpOyB9PC9zY3JpcHQ+PC9oZWFkPjxib2R5IG9ubG9hZD0ibG9hZENvbXBsZXRl
KCkiPgotIDxwIHhtbG5zOmRtc3RjPSJodHRwOi8vd3d3LnVzYS5jb20iPgotICA8ZW0+RU1QMDAw
MTwvZW0+Ci0gIDxzdHJvbmc+TWFyZ2FyZXQgTWFydGluPC9zdHJvbmc+Ci0gIDxjb2RlPkFjY291
bnRhbnQ8L2NvZGU+Ci0gIDxzdXA+NTYsMDAwPC9zdXA+Ci0gIDx2YXI+RmVtYWxlPC92YXI+Ci0g
IDxhY3JvbnltIHRpdGxlPSJZZXMiIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJZZXMi
PjEyMzAgTm9ydGggQXZlLiBEYWxsYXMsIFRleGFzIDk4NTUxPC9hY3JvbnltPgotIDwvcD4KLSA8
cCB4bWxuczpkbXN0Yz0iaHR0cDovL3d3dy51c2EuY29tIj4KLSAgPGVtPkVNUDAwMDI8L2VtPgot
ICA8c3Ryb25nPk1hcnRoYSBSYXlub2xkcwotPCFbQ0RBVEFbVGhpcyBpcyBhIENEQVRBU2VjdGlv
biB3aXRoIEVudGl0eVJlZmVyZW5jZSBudW1iZXIgMiAmZW50MjtdXT4KLTwhW0NEQVRBW1RoaXMg
aXMgYW4gYWRqYWNlbnQgQ0RBVEFTZWN0aW9uIHdpdGggYSByZWZlcmVuY2UgdG8gYSB0YWIgJnRh
YjtdXT48L3N0cm9uZz4KLSAgPGNvZGU+U2VjcmV0YXJ5PC9jb2RlPgotICA8c3VwPjM1LDAwMDwv
c3VwPgotICA8dmFyPkZlbWFsZTwvdmFyPgotICA8YWNyb255bSB0aXRsZT0iWWVzIiBjbGFzcz0i
WWVzIiB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iWWVzIj4mYmV0YTsgRGFsbGFzLCAm
Z2FtbWE7Ci0gOTg1NTQ8L2Fjcm9ueW0+Ci0gPC9wPgotIDxwIHhtbG5zOmRtc3RjPSJodHRwOi8v
d3d3Lm5ldHplcm8uY29tIj4KLSAgPGVtPkVNUDAwMDM8L2VtPgotICA8c3Ryb25nPlJvZ2VyCi0g
Sm9uZXM8L3N0cm9uZz4KLSAgPGNvZGU+RGVwYXJ0bWVudCBNYW5hZ2VyPC9jb2RlPgotICA8c3Vw
PjEwMCwwMDA8L3N1cD4KLSAgPHZhcj4mZW50NDs8L3Zhcj4KLSAgPGFjcm9ueW0gdGl0bGU9Illl
cyIgY2xhc3M9Ik5vIiBpZD0iXzk4NTUzIiB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0i
WWVzIj5QTyBCb3ggMjcgSXJ2aW5nLCB0ZXhhcyA5ODU1MzwvYWNyb255bT4KLSA8L3A+Ci0gPHAg
eG1sbnM6bm09Imh0dHA6Ly93d3cuYWx0YXZpc3RhLmNvbSI+Ci0gIDxlbT5FTVAwMDA0PC9lbT4K
LSAgPHN0cm9uZz5KZW55IE9jb25ub3I8L3N0cm9uZz4KLSAgPGNvZGU+UGVyc29ubmVsIERpcmVj
dG9yPC9jb2RlPgotICA8c3VwPjk1LDAwMDwvc3VwPgotICA8dmFyPkZlbWFsZTwvdmFyPgotICA8
YWNyb255bSB0aXRsZT0iWWVzIiBjbGFzcz0iWSZhbHBoYTsiIGlkPSJfOTg1NTYiIHhzaTpub05h
bWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJZZXMiPjI3IFNvdXRoIFJvYWQuIERhbGxhcywgVGV4YXMg
OTg1NTY8L2Fjcm9ueW0+Ci0gPC9wPgotIDxwIHhtbG5zOmVtcDI9Imh0dHA6Ly93d3cubmlzdC5n
b3YiPgotICA8ZW0+RU1QMDAwNTwvZW0+Ci0gIDxzdHJvbmc+Um9iZXJ0IE15ZXJzPC9zdHJvbmc+
Ci0gIDxjb2RlPkNvbXB1dGVyIFNwZWNpYWxpc3Q8L2NvZGU+Ci0gIDxzdXA+OTAsMDAwPC9zdXA+
Ci0gIDx2YXI+bWFsZTwvdmFyPgotICA8YWNyb255bSB0aXRsZT0iWWVzIiBjbGFzcz0iWWVzIiB4
c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iWWVzIj4xODIxIE5vcmRpYy4gUm9hZCwgSXJ2
aW5nIFRleGFzIDk4NTU4PC9hY3JvbnltPgotIDwvcD4KLTwvYm9keT48L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cG5hbWVzcGFj
ZXVyaTA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9u
b2RlbG9va3VwbmFtZXNwYWNldXJpMDgtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMGZlOWEyNmJkYjI1YjRhMTRjMjA0NTY5ZTNiOWJlMzNkYTIyMjU0Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Rv
bS94aHRtbC9sZXZlbDMvY29yZS9ub2RlbG9va3VwbmFtZXNwYWNldXJpMDgtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1UZXN0CWh0dHA6Ly93d3cudzMub3JnLzIw
MDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cG5hbWVzcGFjZXVyaTA4Ci1T
dGF0dXMJU3VjY2VzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9j
b3JlL25vZGVsb29rdXBuYW1lc3BhY2V1cmkwOC5qcyBiL0xheW91dFRlc3RzL2RvbS94aHRtbC9s
ZXZlbDMvY29yZS9ub2RlbG9va3VwbmFtZXNwYWNldXJpMDguanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDE5OWY0ZjI5OTY1OTQ1OTU0MjkyZGVjYzllOWYwMmVhMzg1YmViYzYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVsb29rdXBuYW1lc3BhY2V1cmkwOC5qcworKysgL2Rl
di9udWxsCkBAIC0xLDExNiArMCwwIEBACi0KLS8qCi1Db3B5cmlnaHQgw4LCqSAyMDAxLTIwMDQg
V29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSwgCi0oTWFzc2FjaHVzZXR0cyBJbnN0aXR1dGUgb2Yg
VGVjaG5vbG9neSwgRXVyb3BlYW4gUmVzZWFyY2ggQ29uc29ydGl1bSAKLWZvciBJbmZvcm1hdGlj
cyBhbmQgTWF0aGVtYXRpY3MsIEtlaW8gVW5pdmVyc2l0eSkuIEFsbCAKLVJpZ2h0cyBSZXNlcnZl
ZC4gVGhpcyB3b3JrIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBXM0PDgsKuIFNvZnR3YXJlIExp
Y2Vuc2UgWzFdIGluIHRoZSAKLWhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gCi10aGUgaW1wbGllZCB3YXJyYW50eSBvZiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIAotCi1b
MV0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDAyL2NvcHlyaWdodC1zb2Z0
d2FyZS0yMDAyMTIzMQotKi8KLQotCi0KLSAgIC8qKgotICAgICogIEdldHMgVVJJIHRoYXQgaWRl
bnRpZmllcyB0aGUgdGVzdC4KLSAgICAqICBAcmV0dXJuIHVyaSBpZGVudGlmaWVyIG9mIHRlc3QK
LSAgICAqLwotZnVuY3Rpb24gZ2V0VGFyZ2V0VVJJKCkgewotICAgICAgcmV0dXJuICJodHRwOi8v
d3d3LnczLm9yZy8yMDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMy9jb3JlL25vZGVsb29rdXBuYW1l
c3BhY2V1cmkwOCI7Ci0gICB9Ci0KLXZhciBkb2NzTG9hZGVkID0gLTEwMDAwMDA7Ci12YXIgYnVp
bGRlciA9IG51bGw7Ci0KLS8vCi0vLyAgIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IHRoZSB0
ZXN0aW5nIGZyYW1ld29yayBiZWZvcmUKLS8vICAgICAgcnVubmluZyB0aGUgdGVzdCBzdWl0ZS4K
LS8vCi0vLyAgIElmIHRoZXJlIGFyZSBubyBjb25maWd1cmF0aW9uIGV4Y2VwdGlvbnMsIGFzeW5j
aHJvbm91cwotLy8gICAgICAgIGRvY3VtZW50IGxvYWRpbmcgaXMgc3RhcnRlZC4gIE90aGVyd2lz
ZSwgdGhlIHN0YXR1cwotLy8gICAgICAgIGlzIHNldCB0byBjb21wbGV0ZSBhbmQgdGhlIGV4Y2Vw
dGlvbiBpcyBpbW1lZGlhdGVseQotLy8gICAgICAgIHJhaXNlZCB3aGVuIGVudGVyaW5nIHRoZSBi
b2R5IG9mIHRoZSB0ZXN0LgotLy8KLWZ1bmN0aW9uIHNldFVwUGFnZSgpIHsKLSAgIHNldFVwUGFn
ZVN0YXR1cyA9ICdydW5uaW5nJzsKLSAgIHRyeSB7Ci0gICAgIC8vCi0gICAgIC8vICAgY3JlYXRl
cyB0ZXN0IGRvY3VtZW50IGJ1aWxkZXIsIG1heSB0aHJvdyBleGNlcHRpb24KLSAgICAgLy8KLSAg
ICAgYnVpbGRlciA9IGNyZWF0ZUNvbmZpZ3VyZWRCdWlsZGVyKCk7Ci0gICAgICAgc2V0SW1wbGVt
ZW50YXRpb25BdHRyaWJ1dGUoIm5hbWVzcGFjZUF3YXJlIiwgdHJ1ZSk7Ci0KLSAgICAgIGRvY3NM
b2FkZWQgPSAwOwotICAgICAgCi0gICAgICB2YXIgZG9jUmVmID0gbnVsbDsKLSAgICAgIGlmICh0
eXBlb2YodGhpcy5kb2MpICE9ICd1bmRlZmluZWQnKSB7Ci0gICAgICAgIGRvY1JlZiA9IHRoaXMu
ZG9jOwotICAgICAgfQotICAgICAgZG9jc0xvYWRlZCArPSBwcmVsb2FkKGRvY1JlZiwgImRvYyIs
ICJoY19zdGFmZiIpOwotICAgICAgICAKLSAgICAgICBpZiAoZG9jc0xvYWRlZCA9PSAxKSB7Ci0g
ICAgICAgICAgc2V0VXBQYWdlU3RhdHVzID0gJ2NvbXBsZXRlJzsKLSAgICAgICB9Ci0gICAgfSBj
YXRjaChleCkgewotICAgIAljYXRjaEluaXRpYWxpemF0aW9uRXJyb3IoYnVpbGRlciwgZXgpOwot
ICAgICAgICBzZXRVcFBhZ2VTdGF0dXMgPSAnY29tcGxldGUnOwotICAgIH0KLX0KLQotCi0KLS8v
Ci0vLyAgIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBvbiB0aGUgY29tcGxldGlvbiBvZiAKLS8vICAg
ICAgZWFjaCBhc3ljaHJvbm91cyBsb2FkIHN0YXJ0ZWQgaW4gc2V0VXBUZXN0cy4KLS8vCi0vLyAg
IFdoZW4gZXZlcnkgc3luY2hyb25vdXMgbG9hZGVkIGRvY3VtZW50IGhhcyBjb21wbGV0ZWQsCi0v
LyAgICAgIHRoZSBwYWdlIHN0YXR1cyBpcyBjaGFuZ2VkIHdoaWNoIGFsbG93cyB0aGUKLS8vICAg
ICAgYm9keSBvZiB0aGUgdGVzdCB0byBiZSBleGVjdXRlZC4KLWZ1bmN0aW9uIGxvYWRDb21wbGV0
ZSgpIHsKLSAgICBpZiAoKytkb2NzTG9hZGVkID09IDEpIHsKLSAgICAgICAgc2V0VXBQYWdlU3Rh
dHVzID0gJ2NvbXBsZXRlJzsKLSAgICB9Ci19Ci0KLQotLyoqCi0qIAotCUludm9rZSBsb29rdXBO
YW1lc3BhY2VVUkkgb24gYW4gRWxlbWVudCBub2RlIHdpdGggbm8gcHJlZml4LCB3aGljaCBoYXMg
MiBuYW1lc3BhY2UKLQlhdHRyaWJ1dGUgZGVjbGFyYXRpb25zIHdpdGggYW5kIHdpdGhvdXQgbmFt
ZXNwYWNlIHByZWZpeGVzIGFuZCBjaGVjayBpZiB0aGUgdmFsdWUgb2YgdGhlIHByZWZpeAotCXJl
dHVybmVkIGJ5IHVzaW5nIGEgdmFsaWQgcHJlZml4IGFuZCBhbiBlbXB0eSBwcmVmaXggYXMgYSBw
YXJhbWV0ZXIgaXMgYSB2YWxpZAotCW5hbWVzcGFjZVVSSSBvciBudWxsLgotCi0qIEBhdXRob3Ig
SUJNCi0qIEBhdXRob3IgTmVpbCBEZWxpbWEKLSogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8y
MDA0L1JFQy1ET00tTGV2ZWwtMy1Db3JlLTIwMDQwNDA3L2NvcmUjTm9kZTMtbG9va3VwTmFtZXNw
YWNlVVJJCi0qLwotZnVuY3Rpb24gbm9kZWxvb2t1cG5hbWVzcGFjZXVyaTA4KCkgewotICAgdmFy
IHN1Y2Nlc3M7Ci0gICAgaWYoY2hlY2tJbml0aWFsaXphdGlvbihidWlsZGVyLCAibm9kZWxvb2t1
cG5hbWVzcGFjZXVyaTA4IikgIT0gbnVsbCkgcmV0dXJuOwotICAgIHZhciBkb2M7Ci0gICAgICB2
YXIgZWxlbTsKLSAgICAgIHZhciBlbGVtTGlzdDsKLSAgICAgIHZhciBuYW1lc3BhY2VVUkk7Ci0g
ICAgICB2YXIgbmFtZXNwYWNlVVJJRW1wdHk7Ci0gICAgICAKLSAgICAgIHZhciBkb2NSZWYgPSBu
dWxsOwotICAgICAgaWYgKHR5cGVvZih0aGlzLmRvYykgIT0gJ3VuZGVmaW5lZCcpIHsKLSAgICAg
ICAgZG9jUmVmID0gdGhpcy5kb2M7Ci0gICAgICB9Ci0gICAgICBkb2MgPSBsb2FkKGRvY1JlZiwg
ImRvYyIsICJoY19zdGFmZiIpOwotICAgICAgZWxlbUxpc3QgPSBkb2MuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoInAiKTsKLSAgICAgIGVsZW0gPSBlbGVtTGlzdC5pdGVtKDApOwotICAgICAgbmFtZXNw
YWNlVVJJID0gZWxlbS5sb29rdXBOYW1lc3BhY2VVUkkoImRtc3RjIik7Ci0gICAgICBhc3NlcnRF
cXVhbHMoIm5vZGVsb29rdXBuYW1lc3BhY2V1cmkwOCIsImh0dHA6Ly93d3cudXNhLmNvbSIsbmFt
ZXNwYWNlVVJJKTsKLSAgICAgICBuYW1lc3BhY2VVUklFbXB0eSA9IGVsZW0ubG9va3VwTmFtZXNw
YWNlVVJJKCIiKTsKLSAgICAgIGFzc2VydE51bGwoIm5vZGVsb29rdXBuYW1lc3BhY2VwcmVmaXhF
bXB0eTA4IixuYW1lc3BhY2VVUklFbXB0eSk7Ci0gICAgCi19Ci0KLQotCi0KLWZ1bmN0aW9uIHJ1
blRlc3QoKSB7Ci0gICBub2RlbG9va3VwbmFtZXNwYWNldXJpMDgoKTsKLX0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlbG9va3VwbmFtZXNwYWNldXJp
MDgueGh0bWwgYi9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cG5h
bWVzcGFjZXVyaTA4LnhodG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTg5YmM3
NzFjNmNlZTlmMThhZTZhN2Y3ZTdhMWRkMWY2YjE4NWM4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29y
ZS9ub2RlbG9va3VwbmFtZXNwYWNldXJpMDgueGh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3MyAr
MCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz48P1RFU1QtU1RZTEUgUElEQVRBPz4KLTwhRE9D
VFlQRSBodG1sCi0gICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgot
ICAgInhodG1sMS1zdHJpY3QuZHRkIiBbCi0gICA8IUVOVElUWSBhbHBoYSAiJiM5NDU7Ij4KLSAg
IDwhRU5USVRZIGJldGEgIiYjOTQ2OyI+Ci0gICA8IUVOVElUWSBnYW1tYSAiJiM5NDc7Ij4KLSAg
IDwhRU5USVRZIGRlbHRhICImIzk0ODsiPgotICAgPCFFTlRJVFkgZXBzaWxvbiAiJiM5NDk7Ij4K
LSAgIDwhRU5USVRZIGFscGhhICImIzk1MDsiPgotICAgPCFOT1RBVElPTiBub3RhdGlvbjEgUFVC
TElDICJub3RhdGlvbjFGaWxlIj4KLSAgIDwhTk9UQVRJT04gbm90YXRpb24yIFNZU1RFTSAibm90
YXRpb24yRmlsZSI+Ci0gICA8IUFUVExJU1QgcAotICAgICAgICBkaXIgQ0RBVEEgJ3J0bCcKLSAg
ICAgICAgeG1sbnM6ZG1zdGMgQ0RBVEEgI0lNUExJRUQKLSAgICAgICAgeG1sbnM6bm0gQ0RBVEEg
I0lNUExJRUQKLSAgICAgICAgeG1sbnM6ZW1wMiBDREFUQSAjSU1QTElFRD4KLSAgIDwhQVRUTElT
VCBodG1sCi0gICAgICAgICAgICAgICAgICAgeG1sbnM6eHNpIENEQVRBICNJTVBMSUVECi0gICAg
ICAgICAgICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uIENEQVRBICNJTVBMSUVEPgotICAgPCFB
VFRMSVNUIGFjcm9ueW0geHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb24gQ0RBVEEgI0lNUExJ
RUQ+Ci0gICA8IUVOVElUWSBlbnQ0ICI8c3BhbiB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMTk5
OS94aHRtbCc+RWxlbWVudCBkYXRhPC9zcGFuPjw/UEl0YXJnZXQgUElkYXRhPz4iPgotICAgPCFB
VFRMSVNUIHNwYW4geG1sbnMgQ0RBVEEgI0lNUExJRUQ+Ci1dPgotPCEtLSBUaGlzIGlzIGNvbW1l
bnQgbnVtYmVyIDEuLS0+Ci08aHRtbCB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCcKLSAgICAgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1p
bnN0YW5jZSIKLSAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hodG1sIGhjX3N0YWZmLnhzZCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1U
eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz48dGl0bGU+aGNfc3RhZmY8
L3RpdGxlPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNlbGZ4aHRtbC5qcyIv
PjxzY3JpcHQgY2hhcnNldD0iVVRGLTgiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJub2Rl
bG9va3VwbmFtZXNwYWNldXJpMDguanMiLz48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+
ZnVuY3Rpb24gbG9hZENvbXBsZXRlKCkgeyBzdGFydFRlc3QoKTsgfTwvc2NyaXB0PjwvaGVhZD48
Ym9keSBvbmxvYWQ9ImxvYWRDb21wbGV0ZSgpIj4KLSA8cCB4bWxuczpkbXN0Yz0iaHR0cDovL3d3
dy51c2EuY29tIj4KLSAgPGVtPkVNUDAwMDE8L2VtPgotICA8c3Ryb25nPk1hcmdhcmV0IE1hcnRp
bjwvc3Ryb25nPgotICA8Y29kZT5BY2NvdW50YW50PC9jb2RlPgotICA8c3VwPjU2LDAwMDwvc3Vw
PgotICA8dmFyPkZlbWFsZTwvdmFyPgotICA8YWNyb255bSB0aXRsZT0iWWVzIiB4c2k6bm9OYW1l
c3BhY2VTY2hlbWFMb2NhdGlvbj0iWWVzIj4xMjMwIE5vcnRoIEF2ZS4gRGFsbGFzLCBUZXhhcyA5
ODU1MTwvYWNyb255bT4KLSA8L3A+Ci0gPHAgeG1sbnM6ZG1zdGM9Imh0dHA6Ly93d3cudXNhLmNv
bSI+Ci0gIDxlbT5FTVAwMDAyPC9lbT4KLSAgPHN0cm9uZz5NYXJ0aGEgUmF5bm9sZHMKLTwhW0NE
QVRBW1RoaXMgaXMgYSBDREFUQVNlY3Rpb24gd2l0aCBFbnRpdHlSZWZlcmVuY2UgbnVtYmVyIDIg
JmVudDI7XV0+Ci08IVtDREFUQVtUaGlzIGlzIGFuIGFkamFjZW50IENEQVRBU2VjdGlvbiB3aXRo
IGEgcmVmZXJlbmNlIHRvIGEgdGFiICZ0YWI7XV0+PC9zdHJvbmc+Ci0gIDxjb2RlPlNlY3JldGFy
eTwvY29kZT4KLSAgPHN1cD4zNSwwMDA8L3N1cD4KLSAgPHZhcj5GZW1hbGU8L3Zhcj4KLSAgPGFj
cm9ueW0gdGl0bGU9IlllcyIgY2xhc3M9IlllcyIgeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRp
b249IlllcyI+JmJldGE7IERhbGxhcywgJmdhbW1hOwotIDk4NTU0PC9hY3JvbnltPgotIDwvcD4K
LSA8cCB4bWxuczpkbXN0Yz0iaHR0cDovL3d3dy5uZXR6ZXJvLmNvbSI+Ci0gIDxlbT5FTVAwMDAz
PC9lbT4KLSAgPHN0cm9uZz5Sb2dlcgotIEpvbmVzPC9zdHJvbmc+Ci0gIDxjb2RlPkRlcGFydG1l
bnQgTWFuYWdlcjwvY29kZT4KLSAgPHN1cD4xMDAsMDAwPC9zdXA+Ci0gIDx2YXI+JmVudDQ7PC92
YXI+Ci0gIDxhY3JvbnltIHRpdGxlPSJZZXMiIGNsYXNzPSJObyIgaWQ9Il85ODU1MyIgeHNpOm5v
TmFtZXNwYWNlU2NoZW1hTG9jYXRpb249IlllcyI+UE8gQm94IDI3IElydmluZywgdGV4YXMgOTg1
NTM8L2Fjcm9ueW0+Ci0gPC9wPgotIDxwIHhtbG5zOm5tPSJodHRwOi8vd3d3LmFsdGF2aXN0YS5j
b20iPgotICA8ZW0+RU1QMDAwNDwvZW0+Ci0gIDxzdHJvbmc+SmVueSBPY29ubm9yPC9zdHJvbmc+
Ci0gIDxjb2RlPlBlcnNvbm5lbCBEaXJlY3RvcjwvY29kZT4KLSAgPHN1cD45NSwwMDA8L3N1cD4K
LSAgPHZhcj5GZW1hbGU8L3Zhcj4KLSAgPGFjcm9ueW0gdGl0bGU9IlllcyIgY2xhc3M9IlkmYWxw
aGE7IiBpZD0iXzk4NTU2IiB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iWWVzIj4yNyBT
b3V0aCBSb2FkLiBEYWxsYXMsIFRleGFzIDk4NTU2PC9hY3JvbnltPgotIDwvcD4KLSA8cCB4bWxu
czplbXAyPSJodHRwOi8vd3d3Lm5pc3QuZ292Ij4KLSAgPGVtPkVNUDAwMDU8L2VtPgotICA8c3Ry
b25nPlJvYmVydCBNeWVyczwvc3Ryb25nPgotICA8Y29kZT5Db21wdXRlciBTcGVjaWFsaXN0PC9j
b2RlPgotICA8c3VwPjkwLDAwMDwvc3VwPgotICA8dmFyPm1hbGU8L3Zhcj4KLSAgPGFjcm9ueW0g
dGl0bGU9IlllcyIgY2xhc3M9IlllcyIgeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249Illl
cyI+MTgyMSBOb3JkaWMuIFJvYWQsIElydmluZyBUZXhhcyA5ODU1ODwvYWNyb255bT4KLSA8L3A+
Ci08L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVs
My9jb3JlL25vZGVsb29rdXBuYW1lc3BhY2V1cmkwOS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cG5hbWVzcGFjZXVyaTA5LWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjNiZjFhMTY3NWMwMjVlNDBkOTc4
OTE3MThhNTFlNmI3OTdlNjM4Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cG5h
bWVzcGFjZXVyaTA5LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAot
VGVzdAlodHRwOi8vd3d3LnczLm9yZy8yMDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMy9jb3JlL25v
ZGVsb29rdXBuYW1lc3BhY2V1cmkwOQotU3RhdHVzCVN1Y2Nlc3MKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlbG9va3VwbmFtZXNwYWNldXJpMDkuanMg
Yi9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cG5hbWVzcGFjZXVy
aTA5LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4M2RjOWNlODg1ZWY0MzQwMzU0
NDA3ZjY5OGVmNjE0MzA3Y2I5ZTEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlbG9va3Vw
bmFtZXNwYWNldXJpMDkuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMTUgKzAsMCBAQAotCi0vKgot
Q29weXJpZ2h0IMOCwqkgMjAwMS0yMDA0IFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0sIAotKE1h
c3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3ksIEV1cm9wZWFuIFJlc2VhcmNoIENv
bnNvcnRpdW0gCi1mb3IgSW5mb3JtYXRpY3MgYW5kIE1hdGhlbWF0aWNzLCBLZWlvIFVuaXZlcnNp
dHkpLiBBbGwgCi1SaWdodHMgUmVzZXJ2ZWQuIFRoaXMgd29yayBpcyBkaXN0cmlidXRlZCB1bmRl
ciB0aGUgVzNDw4LCriBTb2Z0d2FyZSBMaWNlbnNlIFsxXSBpbiB0aGUgCi1ob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIAot
dGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAKLQotWzFdIGh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0v
TGVnYWwvMjAwMi9jb3B5cmlnaHQtc29mdHdhcmUtMjAwMjEyMzEKLSovCi0KLQotCi0gICAvKioK
LSAgICAqICBHZXRzIFVSSSB0aGF0IGlkZW50aWZpZXMgdGhlIHRlc3QuCi0gICAgKiAgQHJldHVy
biB1cmkgaWRlbnRpZmllciBvZiB0ZXN0Ci0gICAgKi8KLWZ1bmN0aW9uIGdldFRhcmdldFVSSSgp
IHsKLSAgICAgIHJldHVybiAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9s
ZXZlbDMvY29yZS9ub2RlbG9va3VwbmFtZXNwYWNldXJpMDkiOwotICAgfQotCi12YXIgZG9jc0xv
YWRlZCA9IC0xMDAwMDAwOwotdmFyIGJ1aWxkZXIgPSBudWxsOwotCi0vLwotLy8gICBUaGlzIGZ1
bmN0aW9uIGlzIGNhbGxlZCBieSB0aGUgdGVzdGluZyBmcmFtZXdvcmsgYmVmb3JlCi0vLyAgICAg
IHJ1bm5pbmcgdGhlIHRlc3Qgc3VpdGUuCi0vLwotLy8gICBJZiB0aGVyZSBhcmUgbm8gY29uZmln
dXJhdGlvbiBleGNlcHRpb25zLCBhc3luY2hyb25vdXMKLS8vICAgICAgICBkb2N1bWVudCBsb2Fk
aW5nIGlzIHN0YXJ0ZWQuICBPdGhlcndpc2UsIHRoZSBzdGF0dXMKLS8vICAgICAgICBpcyBzZXQg
dG8gY29tcGxldGUgYW5kIHRoZSBleGNlcHRpb24gaXMgaW1tZWRpYXRlbHkKLS8vICAgICAgICBy
YWlzZWQgd2hlbiBlbnRlcmluZyB0aGUgYm9keSBvZiB0aGUgdGVzdC4KLS8vCi1mdW5jdGlvbiBz
ZXRVcFBhZ2UoKSB7Ci0gICBzZXRVcFBhZ2VTdGF0dXMgPSAncnVubmluZyc7Ci0gICB0cnkgewot
ICAgICAvLwotICAgICAvLyAgIGNyZWF0ZXMgdGVzdCBkb2N1bWVudCBidWlsZGVyLCBtYXkgdGhy
b3cgZXhjZXB0aW9uCi0gICAgIC8vCi0gICAgIGJ1aWxkZXIgPSBjcmVhdGVDb25maWd1cmVkQnVp
bGRlcigpOwotICAgICAgIHNldEltcGxlbWVudGF0aW9uQXR0cmlidXRlKCJuYW1lc3BhY2VBd2Fy
ZSIsIHRydWUpOwotCi0gICAgICBkb2NzTG9hZGVkID0gMDsKLSAgICAgIAotICAgICAgdmFyIGRv
Y1JlZiA9IG51bGw7Ci0gICAgICBpZiAodHlwZW9mKHRoaXMuZG9jKSAhPSAndW5kZWZpbmVkJykg
ewotICAgICAgICBkb2NSZWYgPSB0aGlzLmRvYzsKLSAgICAgIH0KLSAgICAgIGRvY3NMb2FkZWQg
Kz0gcHJlbG9hZChkb2NSZWYsICJkb2MiLCAiaGNfc3RhZmYiKTsKLSAgICAgICAgCi0gICAgICAg
aWYgKGRvY3NMb2FkZWQgPT0gMSkgewotICAgICAgICAgIHNldFVwUGFnZVN0YXR1cyA9ICdjb21w
bGV0ZSc7Ci0gICAgICAgfQotICAgIH0gY2F0Y2goZXgpIHsKLSAgICAJY2F0Y2hJbml0aWFsaXph
dGlvbkVycm9yKGJ1aWxkZXIsIGV4KTsKLSAgICAgICAgc2V0VXBQYWdlU3RhdHVzID0gJ2NvbXBs
ZXRlJzsKLSAgICB9Ci19Ci0KLQotCi0vLwotLy8gICBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgb24g
dGhlIGNvbXBsZXRpb24gb2YgCi0vLyAgICAgIGVhY2ggYXN5Y2hyb25vdXMgbG9hZCBzdGFydGVk
IGluIHNldFVwVGVzdHMuCi0vLwotLy8gICBXaGVuIGV2ZXJ5IHN5bmNocm9ub3VzIGxvYWRlZCBk
b2N1bWVudCBoYXMgY29tcGxldGVkLAotLy8gICAgICB0aGUgcGFnZSBzdGF0dXMgaXMgY2hhbmdl
ZCB3aGljaCBhbGxvd3MgdGhlCi0vLyAgICAgIGJvZHkgb2YgdGhlIHRlc3QgdG8gYmUgZXhlY3V0
ZWQuCi1mdW5jdGlvbiBsb2FkQ29tcGxldGUoKSB7Ci0gICAgaWYgKCsrZG9jc0xvYWRlZCA9PSAx
KSB7Ci0gICAgICAgIHNldFVwUGFnZVN0YXR1cyA9ICdjb21wbGV0ZSc7Ci0gICAgfQotfQotCi0K
LS8qKgotKiAKLQlJbnZva2UgbG9va3VwTmFtZXNwYWNlVVJJIG9uIGFuIEVsZW1lbnQgbm9kZSB3
aXRoIG5vIHByZWZpeCwgd2hvc2UgcGFyZW50IGhhcyBubyBwcmVmaXggYW5kIAotCTIgbmFtZXNw
YWNlIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbnMgd2l0aCBhbmQgd2l0aG91dCBuYW1lc3BhY2UgcHJl
Zml4ZXMgYW5kIGNoZWNrIGlmIHRoZSB2YWx1ZSBvZiAKLQl0aGUgbmFtZXNwYWNlVVJJIHJldHVy
bmVkIGJ5IHVzaW5nIGVhY2ggcHJlZml4IGFzIGEgcGFyYW1ldGVyIGlzIHZhbGlkLgotCi0qIEBh
dXRob3IgSUJNCi0qIEBhdXRob3IgTmVpbCBEZWxpbWEKLSogQHNlZSBodHRwOi8vd3d3LnczLm9y
Zy9UUi8yMDA0L1JFQy1ET00tTGV2ZWwtMy1Db3JlLTIwMDQwNDA3L2NvcmUjTm9kZTMtbG9va3Vw
TmFtZXNwYWNlVVJJCi0qLwotZnVuY3Rpb24gbm9kZWxvb2t1cG5hbWVzcGFjZXVyaTA5KCkgewot
ICAgdmFyIHN1Y2Nlc3M7Ci0gICAgaWYoY2hlY2tJbml0aWFsaXphdGlvbihidWlsZGVyLCAibm9k
ZWxvb2t1cG5hbWVzcGFjZXVyaTA5IikgIT0gbnVsbCkgcmV0dXJuOwotICAgIHZhciBkb2M7Ci0g
ICAgICB2YXIgZWxlbTsKLSAgICAgIHZhciBlbGVtTGlzdDsKLSAgICAgIHZhciBuYW1lc3BhY2VV
Ukk7Ci0gICAgICB2YXIgbmFtZXNwYWNlVVJJRW1wdHk7Ci0gICAgICAKLSAgICAgIHZhciBkb2NS
ZWYgPSBudWxsOwotICAgICAgaWYgKHR5cGVvZih0aGlzLmRvYykgIT0gJ3VuZGVmaW5lZCcpIHsK
LSAgICAgICAgZG9jUmVmID0gdGhpcy5kb2M7Ci0gICAgICB9Ci0gICAgICBkb2MgPSBsb2FkKGRv
Y1JlZiwgImRvYyIsICJoY19zdGFmZiIpOwotICAgICAgZWxlbUxpc3QgPSBkb2MuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImVtIik7Ci0gICAgICBlbGVtID0gZWxlbUxpc3QuaXRlbSgwKTsKLSAgICAg
IG5hbWVzcGFjZVVSSSA9IGVsZW0ubG9va3VwTmFtZXNwYWNlVVJJKCJkbXN0YyIpOwotICAgICAg
YXNzZXJ0RXF1YWxzKCJub2RlbG9va3VwbmFtZXNwYWNldXJpMDkiLCJodHRwOi8vd3d3LnVzYS5j
b20iLG5hbWVzcGFjZVVSSSk7Ci0gICAgICAgbmFtZXNwYWNlVVJJRW1wdHkgPSBlbGVtLmxvb2t1
cE5hbWVzcGFjZVVSSSgiIik7Ci0gICAgICBhc3NlcnROdWxsKCJub2RlbG9va3VwbmFtZXNwYWNl
cHJlZml4RW1wdHkwOSIsbmFtZXNwYWNlVVJJRW1wdHkpOwotICAgIAotfQotCi0KLQotCi1mdW5j
dGlvbiBydW5UZXN0KCkgewotICAgbm9kZWxvb2t1cG5hbWVzcGFjZXVyaTA5KCk7Ci19CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwzL2NvcmUvbm9kZWxvb2t1cG5hbWVz
cGFjZXVyaTA5LnhodG1sIGIvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMy9jb3JlL25vZGVs
b29rdXBuYW1lc3BhY2V1cmkwOS54aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OGUxYWY1MjBjNjkyNDc0MDU2OTY3YmMzYjhiYmNjMThmYWRiNjU1Zi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2
ZWwzL2NvcmUvbm9kZWxvb2t1cG5hbWVzcGFjZXVyaTA5LnhodG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNzMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+PD9URVNULVNUWUxFIFBJREFUQT8+
Ci08IURPQ1RZUEUgaHRtbAotICAgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0
Ly9FTiIKLSAgICJ4aHRtbDEtc3RyaWN0LmR0ZCIgWwotICAgPCFFTlRJVFkgYWxwaGEgIiYjOTQ1
OyI+Ci0gICA8IUVOVElUWSBiZXRhICImIzk0NjsiPgotICAgPCFFTlRJVFkgZ2FtbWEgIiYjOTQ3
OyI+Ci0gICA8IUVOVElUWSBkZWx0YSAiJiM5NDg7Ij4KLSAgIDwhRU5USVRZIGVwc2lsb24gIiYj
OTQ5OyI+Ci0gICA8IUVOVElUWSBhbHBoYSAiJiM5NTA7Ij4KLSAgIDwhTk9UQVRJT04gbm90YXRp
b24xIFBVQkxJQyAibm90YXRpb24xRmlsZSI+Ci0gICA8IU5PVEFUSU9OIG5vdGF0aW9uMiBTWVNU
RU0gIm5vdGF0aW9uMkZpbGUiPgotICAgPCFBVFRMSVNUIHAKLSAgICAgICAgZGlyIENEQVRBICdy
dGwnCi0gICAgICAgIHhtbG5zOmRtc3RjIENEQVRBICNJTVBMSUVECi0gICAgICAgIHhtbG5zOm5t
IENEQVRBICNJTVBMSUVECi0gICAgICAgIHhtbG5zOmVtcDIgQ0RBVEEgI0lNUExJRUQ+Ci0gICA8
IUFUVExJU1QgaHRtbAotICAgICAgICAgICAgICAgICAgIHhtbG5zOnhzaSBDREFUQSAjSU1QTElF
RAotICAgICAgICAgICAgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbiBDREFUQSAjSU1QTElFRD4K
LSAgIDwhQVRUTElTVCBhY3JvbnltIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uIENEQVRB
ICNJTVBMSUVEPgotICAgPCFFTlRJVFkgZW50NCAiPHNwYW4geG1sbnM9J2h0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGh0bWwnPkVsZW1lbnQgZGF0YTwvc3Bhbj48P1BJdGFyZ2V0IFBJZGF0YT8+Ij4K
LSAgIDwhQVRUTElTVCBzcGFuIHhtbG5zIENEQVRBICNJTVBMSUVEPgotXT4KLTwhLS0gVGhpcyBp
cyBjb21tZW50IG51bWJlciAxLi0tPgotPGh0bWwgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzE5
OTkveGh0bWwnCi0gICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxT
Y2hlbWEtaW5zdGFuY2UiCi0gICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCBoY19zdGFmZi54c2QiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNv
bnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+PHRpdGxlPmhj
X3N0YWZmPC90aXRsZT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzZWxmeGh0
bWwuanMiLz48c2NyaXB0IGNoYXJzZXQ9IlVURi04IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0ibm9kZWxvb2t1cG5hbWVzcGFjZXVyaTA5LmpzIi8+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFz
Y3JpcHQnPmZ1bmN0aW9uIGxvYWRDb21wbGV0ZSgpIHsgc3RhcnRUZXN0KCk7IH08L3NjcmlwdD48
L2hlYWQ+PGJvZHkgb25sb2FkPSJsb2FkQ29tcGxldGUoKSI+Ci0gPHAgeG1sbnM6ZG1zdGM9Imh0
dHA6Ly93d3cudXNhLmNvbSI+Ci0gIDxlbT5FTVAwMDAxPC9lbT4KLSAgPHN0cm9uZz5NYXJnYXJl
dCBNYXJ0aW48L3N0cm9uZz4KLSAgPGNvZGU+QWNjb3VudGFudDwvY29kZT4KLSAgPHN1cD41Niww
MDA8L3N1cD4KLSAgPHZhcj5GZW1hbGU8L3Zhcj4KLSAgPGFjcm9ueW0gdGl0bGU9IlllcyIgeHNp
Om5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249IlllcyI+MTIzMCBOb3J0aCBBdmUuIERhbGxhcywg
VGV4YXMgOTg1NTE8L2Fjcm9ueW0+Ci0gPC9wPgotIDxwIHhtbG5zOmRtc3RjPSJodHRwOi8vd3d3
LnVzYS5jb20iPgotICA8ZW0+RU1QMDAwMjwvZW0+Ci0gIDxzdHJvbmc+TWFydGhhIFJheW5vbGRz
Ci08IVtDREFUQVtUaGlzIGlzIGEgQ0RBVEFTZWN0aW9uIHdpdGggRW50aXR5UmVmZXJlbmNlIG51
bWJlciAyICZlbnQyO11dPgotPCFbQ0RBVEFbVGhpcyBpcyBhbiBhZGphY2VudCBDREFUQVNlY3Rp
b24gd2l0aCBhIHJlZmVyZW5jZSB0byBhIHRhYiAmdGFiO11dPjwvc3Ryb25nPgotICA8Y29kZT5T
ZWNyZXRhcnk8L2NvZGU+Ci0gIDxzdXA+MzUsMDAwPC9zdXA+Ci0gIDx2YXI+RmVtYWxlPC92YXI+
Ci0gIDxhY3JvbnltIHRpdGxlPSJZZXMiIGNsYXNzPSJZZXMiIHhzaTpub05hbWVzcGFjZVNjaGVt
YUxvY2F0aW9uPSJZZXMiPiZiZXRhOyBEYWxsYXMsICZnYW1tYTsKLSA5ODU1NDwvYWNyb255bT4K
LSA8L3A+Ci0gPHAgeG1sbnM6ZG1zdGM9Imh0dHA6Ly93d3cubmV0emVyby5jb20iPgotICA8ZW0+
RU1QMDAwMzwvZW0+Ci0gIDxzdHJvbmc+Um9nZXIKLSBKb25lczwvc3Ryb25nPgotICA8Y29kZT5E
ZXBhcnRtZW50IE1hbmFnZXI8L2NvZGU+Ci0gIDxzdXA+MTAwLDAwMDwvc3VwPgotICA8dmFyPiZl
bnQ0OzwvdmFyPgotICA8YWNyb255bSB0aXRsZT0iWWVzIiBjbGFzcz0iTm8iIGlkPSJfOTg1NTMi
IHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJZZXMiPlBPIEJveCAyNyBJcnZpbmcsIHRl
eGFzIDk4NTUzPC9hY3JvbnltPgotIDwvcD4KLSA8cCB4bWxuczpubT0iaHR0cDovL3d3dy5hbHRh
dmlzdGEuY29tIj4KLSAgPGVtPkVNUDAwMDQ8L2VtPgotICA8c3Ryb25nPkplbnkgT2Nvbm5vcjwv
c3Ryb25nPgotICA8Y29kZT5QZXJzb25uZWwgRGlyZWN0b3I8L2NvZGU+Ci0gIDxzdXA+OTUsMDAw
PC9zdXA+Ci0gIDx2YXI+RmVtYWxlPC92YXI+Ci0gIDxhY3JvbnltIHRpdGxlPSJZZXMiIGNsYXNz
PSJZJmFscGhhOyIgaWQ9Il85ODU1NiIgeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249Illl
cyI+MjcgU291dGggUm9hZC4gRGFsbGFzLCBUZXhhcyA5ODU1NjwvYWNyb255bT4KLSA8L3A+Ci0g
PHAgeG1sbnM6ZW1wMj0iaHR0cDovL3d3dy5uaXN0LmdvdiI+Ci0gIDxlbT5FTVAwMDA1PC9lbT4K
LSAgPHN0cm9uZz5Sb2JlcnQgTXllcnM8L3N0cm9uZz4KLSAgPGNvZGU+Q29tcHV0ZXIgU3BlY2lh
bGlzdDwvY29kZT4KLSAgPHN1cD45MCwwMDA8L3N1cD4KLSAgPHZhcj5tYWxlPC92YXI+Ci0gIDxh
Y3JvbnltIHRpdGxlPSJZZXMiIGNsYXNzPSJZZXMiIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0
aW9uPSJZZXMiPjE4MjEgTm9yZGljLiBSb2FkLCBJcnZpbmcgVGV4YXMgOTg1NTg8L2Fjcm9ueW0+
Ci0gPC9wPgotPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGUtbG9va3VwTmFtZXNwYWNlVVJJ
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL25vZGVzL05vZGUtbG9va3VwTmFtZXNwYWNlVVJJLWV4cGVjdGVkLnR4dAppbmRleCAy
MTQxZmFjMmVkMTJkZDJhMmY3MjJjM2JhM2E4NzE0OTkzMTQ0NDg1Li5hOGRkZjdmNWE1MTA0NDRl
MWFkNTViNmEwY2QxNjdiYjQ1MjllN2IzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Ob2RlLWxvb2t1cE5hbWVzcGFjZVVS
SS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vbm9kZXMvTm9kZS1sb29rdXBOYW1lc3BhY2VVUkktZXhwZWN0ZWQudHh0CkBA
IC01LDggKzUsOCBAQCBQQVNTIERvY3VtZW50RnJhZ21lbnQgc2hvdWxkIGhhdmUgbnVsbCBuYW1l
c3BhY2UsIHByZWZpeCBudWxsCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgc2hvdWxkIGhhdmUgbnVs
bCBuYW1lc3BhY2UsIHByZWZpeCAiIiAKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBzaG91bGQgaGF2
ZSBudWxsIG5hbWVzcGFjZSwgcHJlZml4ICJmb28iIAogUEFTUyBEb2N1bWVudEZyYWdtZW50IHNo
b3VsZCBoYXZlIG51bGwgbmFtZXNwYWNlLCBwcmVmaXggInhtbG5zIiAKLUZBSUwgRG9jdW1lbnRG
cmFnbWVudCBpcyBpbiBkZWZhdWx0IG5hbWVzcGFjZSwgcHJlZml4IG51bGwgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCi1GQUlMIERvY3VtZW50RnJhZ21lbnQgaXMg
aW4gZGVmYXVsdCBuYW1lc3BhY2UsIHByZWZpeCAiIiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCB0
cnVlIGJ1dCBnb3QgZmFsc2UKK1BBU1MgRG9jdW1lbnRGcmFnbWVudCBpcyBpbiBkZWZhdWx0IG5h
bWVzcGFjZSwgcHJlZml4IG51bGwgCitQQVNTIERvY3VtZW50RnJhZ21lbnQgaXMgaW4gZGVmYXVs
dCBuYW1lc3BhY2UsIHByZWZpeCAiIiAKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpcyBpbiBkZWZh
dWx0IG5hbWVzcGFjZSwgcHJlZml4ICJmb28iIAogUEFTUyBEb2N1bWVudEZyYWdtZW50IGlzIGlu
IGRlZmF1bHQgbmFtZXNwYWNlLCBwcmVmaXggInhtbG5zIiAKIFBBU1MgRWxlbWVudCBzaG91bGQg
aGF2ZSBudWxsIG5hbWVzcGFjZSwgcHJlZml4IG51bGwgCkBAIC0xNCwxMiArMTQsMTIgQEAgUEFT
UyBFbGVtZW50IHNob3VsZCBoYXZlIG51bGwgbmFtZXNwYWNlLCBwcmVmaXggIiIKIFBBU1MgRWxl
bWVudCBzaG91bGQgbm90IGhhdmUgbmFtZXNwYWNlIG1hdGNoaW5nIHByZWZpeCB3aXRoIG5hbWVz
cGFjZVVSSSB2YWx1ZSAKIFBBU1MgRWxlbWVudCBzaG91bGQgbm90IGhhdmUgWE1MTlMgbmFtZXNw
YWNlIAogUEFTUyBFbGVtZW50IGhhcyBuYW1lc3BhY2UgVVJJIG1hdGNoaW5nIHByZWZpeCAKLUZB
SUwgRW1wdHkgbmFtZXNwYWNlIGlzIG5vdCBkZWZhdWx0LCBwcmVmaXggbnVsbCBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKLUZBSUwgRW1wdHkgbmFtZXNwYWNlIGlz
IG5vdCBkZWZhdWx0LCBwcmVmaXggIiIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgdHJ1ZSBidXQg
Z290IGZhbHNlCitQQVNTIEVtcHR5IG5hbWVzcGFjZSBpcyBub3QgZGVmYXVsdCwgcHJlZml4IG51
bGwgCitQQVNTIEVtcHR5IG5hbWVzcGFjZSBpcyBub3QgZGVmYXVsdCwgcHJlZml4ICIiIAogUEFT
UyBmb29OYW1lc3BhY2UgaXMgbm90IGRlZmF1bHQgCiBQQVNTIHhtbG5zIG5hbWVzcGFjZSBpcyBu
b3QgZGVmYXVsdCAKIFBBU1MgRWxlbWVudCBzaG91bGQgaGF2ZSBiYXogbmFtZXNwYWNlLCBwcmVm
aXggbnVsbCAKLUZBSUwgRWxlbWVudCBzaG91bGQgaGF2ZSBiYXogbmFtZXNwYWNlLCBwcmVmaXgg
IiIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgImJhelVSSSIgYnV0IGdvdCAob2Jq
ZWN0KSBudWxsCitQQVNTIEVsZW1lbnQgc2hvdWxkIGhhdmUgYmF6IG5hbWVzcGFjZSwgcHJlZml4
ICIiIAogUEFTUyBFbGVtZW50IGRvZXMgbm90IGhhcyBuYW1lc3BhY2Ugd2l0aCB4bG1ucyBwcmVm
aXggCiBQQVNTIEVsZW1lbnQgaGFzIGJhciBuYW1lc3BhY2UgCiBQQVNTIEVtcHR5IG5hbWVzcGFj
ZSBpcyBub3QgZGVmYXVsdCBvbiBmb29FbGVtLCBwcmVmaXggbnVsbCAKQEAgLTI3LDcgKzI3LDcg
QEAgUEFTUyBFbXB0eSBuYW1lc3BhY2UgaXMgbm90IGRlZmF1bHQgb24gZm9vRWxlbSwgcHJlZml4
ICIiCiBQQVNTIGJhciBuYW1lc3BhY2UgaXMgbm90IGRlZmF1bHQgCiBQQVNTIGJheiBuYW1lc3Bh
Y2UgaXMgZGVmYXVsdCAKIFBBU1MgQ29tbWVudCBzaG91bGQgaW5oZXJpdCBiYXogbmFtZXNwYWNl
IAotRkFJTCBDb21tZW50IHNob3VsZCBpbmhlcml0ICBiYXogbmFtZXNwYWNlIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIChzdHJpbmcpICJiYXpVUkkiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAorUEFT
UyBDb21tZW50IHNob3VsZCBpbmhlcml0ICBiYXogbmFtZXNwYWNlIAogUEFTUyBDb21tZW50IHNo
b3VsZCBpbmhlcml0IG5hbWVzcGFjZSBVUkkgbWF0Y2hpbmcgcHJlZml4IAogUEFTUyBDb21tZW50
IHNob3VsZCBpbmhlcml0IGJhciBuYW1lc3BhY2UgCiBQQVNTIEZvciBjb21tZW50LCBlbXB0eSBu
YW1lc3BhY2UgaXMgbm90IGRlZmF1bHQsIHByZWZpeCBudWxsIApAQCAtMzcsNyArMzcsNyBAQCBQ
QVNTIEZvciBjb21tZW50LCB4bWxucyBuYW1lc3BhY2UgaXMgbm90IGRlZmF1bHQKIFBBU1MgRm9y
IGNvbW1lbnQsIGluaGVyaXRlZCBiYXIgbmFtZXNwYWNlIGlzIG5vdCBkZWZhdWx0IAogUEFTUyBG
b3IgY29tbWVudCwgaW5oZXJpdGVkIGJheiBuYW1lc3BhY2UgaXMgZGVmYXVsdCAKIFBBU1MgQ2hp
bGQgZWxlbWVudCBzaG91bGQgaW5oZXJpdCBiYXogbmFtZXNwYWNlIAotRkFJTCBDaGlsZCBlbGVt
ZW50IHNob3VsZCBoYXZlIG51bGwgbmFtZXNwYWNlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChz
dHJpbmcpICJjaGlsZE5hbWVzcGFjZSIgYnV0IGdvdCAob2JqZWN0KSBudWxsCitQQVNTIENoaWxk
IGVsZW1lbnQgc2hvdWxkIGhhdmUgbnVsbCBuYW1lc3BhY2UgCiBQQVNTIENoaWxkIGVsZW1lbnQg
c2hvdWxkIG5vdCBoYXZlIFhNTE5TIG5hbWVzcGFjZSAKIFBBU1MgQ2hpbGQgZWxlbWVudCBoYXMg
bmFtZXNwYWNlIFVSSSBtYXRjaGluZyBwcmVmaXggCiBQQVNTIEVtcHR5IG5hbWVzcGFjZSBpcyBu
b3QgZGVmYXVsdCBmb3IgY2hpbGQsIHByZWZpeCBudWxsIApAQCAtNDgsNyArNDgsNyBAQCBQQVNT
IGJhciBuYW1lc3BhY2UgaXMgbm90IGRlZmF1bHQgZm9yIGNoaWxkCiBQQVNTIGJheiBuYW1lc3Bh
Y2UgaXMgZGVmYXVsdCBmb3IgY2hpbGQgCiBQQVNTIGNoaWxkTmFtZXNwYWNlIGlzIGRlZmF1bHQg
Zm9yIGNoaWxkIAogUEFTUyBEb2N1bWVudCBzaG91bGQgaGF2ZSB4aHRtbCBuYW1lc3BhY2UsIHBy
ZWZpeCBudWxsIAotRkFJTCBEb2N1bWVudCBzaG91bGQgaGF2ZSB4aHRtbCBuYW1lc3BhY2UsIHBy
ZWZpeCAiIiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiaHR0cDovL3d3dy53My5v
cmcvMTk5OS94aHRtbCIgYnV0IGdvdCAob2JqZWN0KSBudWxsCitQQVNTIERvY3VtZW50IHNob3Vs
ZCBoYXZlIHhodG1sIG5hbWVzcGFjZSwgcHJlZml4ICIiIAogUEFTUyBEb2N1bWVudCBoYXMgbm8g
bmFtZXNwYWNlIFVSSSBtYXRjaGluZyBwcmVmaXggCiBQQVNTIERvY3VtZW50IGhhcyBiYXIgbmFt
ZXNwYWNlIAogUEFTUyBGb3IgZG9jdW1lbnQsIGVtcHR5IG5hbWVzcGFjZSBpcyBub3QgZGVmYXVs
dCwgcHJlZml4IG51bGwgCg==
</data>
<flag name="review"
          id="309771"
          type_id="1"
          status="+"
          setter="rniwa"
    />
    <flag name="commit-queue"
          id="309777"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>