<?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>153722</bug_id>
          
          <creation_ts>2016-01-30 16:27:52 -0800</creation_ts>
          <short_desc>REGRESSION(r195799): Caused assertion failures, severely affecting EWS (Requested by ap on #webkit).</short_desc>
          <delta_ts>2016-01-30 22:59:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>153500</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>ap</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1160569</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-30 16:27:52 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/195799 broke the build:
Caused assertion failures, severely affecting EWS (Requested by ap on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160570</commentid>
    <comment_count>1</comment_count>
      <attachid>270326</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-30 16:28:15 -0800</bug_when>
    <thetext>Created attachment 270326
ROLLOUT of r195799

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160579</commentid>
    <comment_count>2</comment_count>
      <attachid>270326</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-30 16:42:04 -0800</bug_when>
    <thetext>Comment on attachment 270326
ROLLOUT of r195799

Clearing flags on attachment: 270326

Committed r195916: &lt;http://trac.webkit.org/changeset/195916&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160580</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-30 16:42:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160639</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-01-30 22:59:13 -0800</bug_when>
    <thetext>*** Bug 153721 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270326</attachid>
            <date>2016-01-30 16:28:15 -0800</date>
            <delta_ts>2016-01-30 16:42:04 -0800</delta_ts>
            <desc>ROLLOUT of r195799</desc>
            <filename>bug-153722-20160130162750.patch</filename>
            <type>text/plain</type>
            <size>55146</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1OTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
YjU1ZjIzMDA3ZDk5MDM5YzFiM2I3YjY4NGIyNTg3NzcxZmFkNmIyLi5kZDAxNjk0MjA0ODQ2NDdi
ZjA2MmZmZTNhODc5NDJkMDVjM2MxZDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxNi0wMS0zMCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE5NTc5OSBhbmQgcjE5
NTgyOC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
MzcyMgorCisgICAgICAgIENhdXNlZCBhc3NlcnRpb24gZmFpbHVyZXMsIHNldmVyZWx5IGFmZmVj
dGluZyBFV1MgKFJlcXVlc3RlZAorICAgICAgICBieSBhcCBvbiAjd2Via2l0KS4KKworICAgICAg
ICBSZXZlcnRlZCBjaGFuZ2VzZXRzOgorCisgICAgICAgICJXZWIgSW5zcGVjdG9yOiBJbnNwZWN0
b3JUaW1lbGluZUFnZW50IGRvZXNuJ3QgbmVlZCB0bworICAgICAgICByZWNvbXBpbGUgZnVuY3Rp
b25zIGJlY2F1c2UgaXQgbm93IHVzZXMgdGhlIHNhbXBsaW5nIHByb2ZpbGVyIgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNTAwCisgICAgICAgIGh0
dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE5NTc5OQorCisgICAgICAgICJBdHRlbXB0
IHRvIGZpeCB0aGUgV2luZG93cyBidWlsZCBhZnRlciByMTk1Nzk5IgorICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xOTU4MjgKKwogMjAxNi0wMS0zMCAgWXVzdWtlIFN1
enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbQjNdIEpldFN0cmVhbS9x
dWlja3NvcnQuYyBmYWlscy9oYW5ncyBvbiBMaW51eCB3aXRoIEdDQwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDUz
ZjEwZDg2YjM5YTEyMGUxMDJmMzliNzY1MjFiNWJlYjJjYTA1ODYuLjU1YTAxOGM4ZWVjM2UyZTY1
NDY5YjQ4ODdhYjdjZWU3YzkzMWRkNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAx
Ni0wMS0zMCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE5NTc5OSBhbmQgcjE5NTgyOC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzcyMgorCisgICAgICAg
IENhdXNlZCBhc3NlcnRpb24gZmFpbHVyZXMsIHNldmVyZWx5IGFmZmVjdGluZyBFV1MgKFJlcXVl
c3RlZAorICAgICAgICBieSBhcCBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFu
Z2VzZXRzOgorCisgICAgICAgICJXZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JUaW1lbGluZUFnZW50
IGRvZXNuJ3QgbmVlZCB0bworICAgICAgICByZWNvbXBpbGUgZnVuY3Rpb25zIGJlY2F1c2UgaXQg
bm93IHVzZXMgdGhlIHNhbXBsaW5nIHByb2ZpbGVyIgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNTAwCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0LzE5NTc5OQorCisgICAgICAgICJBdHRlbXB0IHRvIGZpeCB0aGUgV2lu
ZG93cyBidWlsZCBhZnRlciByMTk1Nzk5IgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xOTU4MjgKKwogMjAxNi0wMS0zMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgTW9kZXJuIElEQjogU29tZSB0ZXN0cyBjcmFzaCB3aXRoIHNw
ZWNpZmljIG9kZCBkYXRhYmFzZSBuYW1lcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAzMWVmMWQxOWRj
YTZhYWRjZTlkYzBkOGJiMjMxNGY4NzdmYzM2ZjYxLi5lZDQxN2Y1YTY3MTgxODg5NzgyNzQ1NDQw
ODk3ZjI1MWMwOWFmZTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTYt
MDEtMzAgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxOTU3OTkgYW5kIHIxOTU4MjguCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM3MjIKKworICAgICAgICBD
YXVzZWQgYXNzZXJ0aW9uIGZhaWx1cmVzLCBzZXZlcmVseSBhZmZlY3RpbmcgRVdTIChSZXF1ZXN0
ZWQKKyAgICAgICAgYnkgYXAgb24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdl
c2V0czoKKworICAgICAgICAiV2ViIEluc3BlY3RvcjogSW5zcGVjdG9yVGltZWxpbmVBZ2VudCBk
b2Vzbid0IG5lZWQgdG8KKyAgICAgICAgcmVjb21waWxlIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IG5v
dyB1c2VzIHRoZSBzYW1wbGluZyBwcm9maWxlciIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzUwMAorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQu
b3JnL2NoYW5nZXNldC8xOTU3OTkKKworICAgICAgICAiQXR0ZW1wdCB0byBmaXggdGhlIFdpbmRv
d3MgYnVpbGQgYWZ0ZXIgcjE5NTc5OSIKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9j
aGFuZ2VzZXQvMTk1ODI4CisKIDIwMTYtMDEtMzAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlcGxhY2UgQ2FzZUZvbGRpbmdIYXNoIHdpdGggQVNDSUlDYXNlSW5z
ZW5zaXRpdmVIYXNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4IDg1YTA1MTBkYTA4ZjY1ZjQ3YTI1
OGNjYzg0ODlhN2E3NjBmOGYwMzUuLmNhNmM1ZjlmMDAyZjYwOWIyMWU0MDc0ZTlkNjQ1Y2I1ZmE3
MDJlOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCkBAIC03NzcsNyArNzc3LDcgQEAgcHJvdGVjdGVk
OgogfTsKIAogY29uc3QgQ2xhc3NJbmZvIEdsb2JhbE9iamVjdDo6c19pbmZvID0geyAiZ2xvYmFs
IiwgJkpTR2xvYmFsT2JqZWN0OjpzX2luZm8sIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUo
R2xvYmFsT2JqZWN0KSB9OwotY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgR2xvYmFsT2Jq
ZWN0OjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlID0geyAmYWxsb3dzQWNjZXNzRnJvbSwgJnN1
cHBvcnRzTGVnYWN5UHJvZmlsaW5nLCAmc3VwcG9ydHNSaWNoU291cmNlSW5mbywgJnNob3VsZElu
dGVycnVwdFNjcmlwdCwgJmphdmFTY3JpcHRSdW50aW1lRmxhZ3MsIDAsICZzaG91bGRJbnRlcnJ1
cHRTY3JpcHRCZWZvcmVUaW1lb3V0LCAmbW9kdWxlTG9hZGVyUmVzb2x2ZSwgJm1vZHVsZUxvYWRl
ckZldGNoLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyIH07Citjb25zdCBHbG9iYWxPYmplY3RN
ZXRob2RUYWJsZSBHbG9iYWxPYmplY3Q6OnNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgPSB7ICZh
bGxvd3NBY2Nlc3NGcm9tLCAmc3VwcG9ydHNQcm9maWxpbmcsICZzdXBwb3J0c1JpY2hTb3VyY2VJ
bmZvLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0LCAmamF2YVNjcmlwdFJ1bnRpbWVGbGFncywgMCwg
JnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsICZtb2R1bGVMb2FkZXJSZXNvbHZl
LCAmbW9kdWxlTG9hZGVyRmV0Y2gsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIgfTsKIAogCiBH
bG9iYWxPYmplY3Q6Okdsb2JhbE9iamVjdChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcAppbmRleCA4YTU1
MDI2ZTI1ZmU1YTg2ODQ1ODljMjliYzNjZTg0YWU4MjBkODBkLi5iOWI5NTE1MGVmMzBhYzkyODQ0
NzNiZDM0ZTQ4YzdjMmExNDU5MDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9FeGVjdXRhYmxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FeGVjdXRhYmxlLmNwcApAQCAtMjk4LDcgKzI5OCw3IEBAIENvZGVCbG9jayogU2NyaXB0RXhl
Y3V0YWJsZTo6bmV3Q29kZUJsb2NrRm9yKAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBzY29wZS0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgUGFyc2VyRXJyb3IgZXJyb3I7CiAgICAg
RGVidWdnZXJNb2RlIGRlYnVnZ2VyTW9kZSA9IGdsb2JhbE9iamVjdC0+aGFzRGVidWdnZXIoKSA/
IERlYnVnZ2VyT24gOiBEZWJ1Z2dlck9mZjsKLSAgICBQcm9maWxlck1vZGUgcHJvZmlsZXJNb2Rl
ID0gZ2xvYmFsT2JqZWN0LT5oYXNMZWdhY3lQcm9maWxlcigpID8gUHJvZmlsZXJPbiA6IFByb2Zp
bGVyT2ZmOworICAgIFByb2ZpbGVyTW9kZSBwcm9maWxlck1vZGUgPSBnbG9iYWxPYmplY3QtPmhh
c1Byb2ZpbGVyKCkgPyBQcm9maWxlck9uIDogUHJvZmlsZXJPZmY7CiAgICAgVW5saW5rZWRGdW5j
dGlvbkNvZGVCbG9jayogdW5saW5rZWRDb2RlQmxvY2sgPSAKICAgICAgICAgZXhlY3V0YWJsZS0+
bV91bmxpbmtlZEV4ZWN1dGFibGUtPnVubGlua2VkQ29kZUJsb2NrRm9yKAogICAgICAgICAgICAg
KnZtLCBleGVjdXRhYmxlLT5tX3NvdXJjZSwga2luZCwgZGVidWdnZXJNb2RlLCBwcm9maWxlck1v
ZGUsIGVycm9yLCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcAppbmRleCBlMDJiYTc4MWFjNDIxM2NlYzI5Njk2ODY4OTcxMjEyMDQ1NmNmYzY2
Li4zNTRhMGVjNTc0YmE2ZjYxY2NlNGRkMDYyM2ZiNmY0YjYxNTdhYTg3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC0xNzMsNyAr
MTczLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNvbnN0IENsYXNzSW5mbyBKU0dsb2JhbE9iamVj
dDo6c19pbmZvID0geyAiR2xvYmFsT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgJmdsb2JhbE9iamVj
dFRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTR2xvYmFsT2JqZWN0KSB9OwogCi1jb25zdCBH
bG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU0dsb2JhbE9iamVjdDo6c19nbG9iYWxPYmplY3RNZXRo
b2RUYWJsZSA9IHsgJmFsbG93c0FjY2Vzc0Zyb20sICZzdXBwb3J0c0xlZ2FjeVByb2ZpbGluZywg
JnN1cHBvcnRzUmljaFNvdXJjZUluZm8sICZzaG91bGRJbnRlcnJ1cHRTY3JpcHQsICZqYXZhU2Ny
aXB0UnVudGltZUZsYWdzLCBudWxscHRyLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGlt
ZW91dCwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciB9OworY29u
c3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNHbG9iYWxPYmplY3Q6OnNfZ2xvYmFsT2JqZWN0
TWV0aG9kVGFibGUgPSB7ICZhbGxvd3NBY2Nlc3NGcm9tLCAmc3VwcG9ydHNQcm9maWxpbmcsICZz
dXBwb3J0c1JpY2hTb3VyY2VJbmZvLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0LCAmamF2YVNjcmlw
dFJ1bnRpbWVGbGFncywgbnVsbHB0ciwgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVv
dXQsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIgfTsKIAogLyog
U291cmNlIGZvciBKU0dsb2JhbE9iamVjdC5sdXQuaAogQGJlZ2luIGdsb2JhbE9iamVjdFRhYmxl
CkBAIC02MTIsOSArNjEyLDEyIEBAIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT4ganNOYW1lLCBsb3dlck5hbWUgIyMgQ29uc3RydWN0CiAgICAgcmVzZXRQ
cm90b3R5cGUodm0sIHByb3RvdHlwZSgpKTsKIH0KIAotYm9vbCBKU0dsb2JhbE9iamVjdDo6aGFz
TGVnYWN5UHJvZmlsZXIoKSBjb25zdAorYm9vbCBKU0dsb2JhbE9iamVjdDo6aGFzUHJvZmlsZXIo
KSBjb25zdAogewotICAgIHJldHVybiBnbG9iYWxPYmplY3RNZXRob2RUYWJsZSgpLT5zdXBwb3J0
c0xlZ2FjeVByb2ZpbGluZyh0aGlzKTsKKyAgICBpZiAobV9kZWJ1Z2dlciAmJiBtX2RlYnVnZ2Vy
LT5oYXNQcm9maWxpbmdDbGllbnQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1
cm4gZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUoKS0+c3VwcG9ydHNQcm9maWxpbmcodGhpcyk7CiB9
CiAKIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhl
YywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgUHV0UHJvcGVydHlT
bG90JiBzbG90KQpAQCAtOTc2LDcgKzk3OSw3IEBAIFVubGlua2VkUHJvZ3JhbUNvZGVCbG9jayog
SlNHbG9iYWxPYmplY3Q6OmNyZWF0ZVByb2dyYW1Db2RlQmxvY2soQ2FsbEZyYW1lKiBjYWxsCiAg
ICAgUGFyc2VyRXJyb3IgZXJyb3I7CiAgICAgSlNQYXJzZXJTdHJpY3RNb2RlIHN0cmljdE1vZGUg
PSBleGVjdXRhYmxlLT5pc1N0cmljdE1vZGUoKSA/IEpTUGFyc2VyU3RyaWN0TW9kZTo6U3RyaWN0
IDogSlNQYXJzZXJTdHJpY3RNb2RlOjpOb3RTdHJpY3Q7CiAgICAgRGVidWdnZXJNb2RlIGRlYnVn
Z2VyTW9kZSA9IGhhc0RlYnVnZ2VyKCkgPyBEZWJ1Z2dlck9uIDogRGVidWdnZXJPZmY7Ci0gICAg
UHJvZmlsZXJNb2RlIHByb2ZpbGVyTW9kZSA9IGhhc0xlZ2FjeVByb2ZpbGVyKCkgPyBQcm9maWxl
ck9uIDogUHJvZmlsZXJPZmY7CisgICAgUHJvZmlsZXJNb2RlIHByb2ZpbGVyTW9kZSA9IGhhc1By
b2ZpbGVyKCkgPyBQcm9maWxlck9uIDogUHJvZmlsZXJPZmY7CiAgICAgVW5saW5rZWRQcm9ncmFt
Q29kZUJsb2NrKiB1bmxpbmtlZENvZGVCbG9jayA9IHZtKCkuY29kZUNhY2hlKCktPmdldFByb2dy
YW1Db2RlQmxvY2soCiAgICAgICAgIHZtKCksIGV4ZWN1dGFibGUsIGV4ZWN1dGFibGUtPnNvdXJj
ZSgpLCBKU1BhcnNlckJ1aWx0aW5Nb2RlOjpOb3RCdWlsdGluLCBzdHJpY3RNb2RlLCAKICAgICAg
ICAgZGVidWdnZXJNb2RlLCBwcm9maWxlck1vZGUsIGVycm9yKTsKQEAgLTk5Nyw3ICsxMDAwLDcg
QEAgVW5saW5rZWRFdmFsQ29kZUJsb2NrKiBKU0dsb2JhbE9iamVjdDo6Y3JlYXRlRXZhbENvZGVC
bG9jayhDYWxsRnJhbWUqIGNhbGxGcmFtZSwKICAgICBQYXJzZXJFcnJvciBlcnJvcjsKICAgICBK
U1BhcnNlclN0cmljdE1vZGUgc3RyaWN0TW9kZSA9IGV4ZWN1dGFibGUtPmlzU3RyaWN0TW9kZSgp
ID8gSlNQYXJzZXJTdHJpY3RNb2RlOjpTdHJpY3QgOiBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0
cmljdDsKICAgICBEZWJ1Z2dlck1vZGUgZGVidWdnZXJNb2RlID0gaGFzRGVidWdnZXIoKSA/IERl
YnVnZ2VyT24gOiBEZWJ1Z2dlck9mZjsKLSAgICBQcm9maWxlck1vZGUgcHJvZmlsZXJNb2RlID0g
aGFzTGVnYWN5UHJvZmlsZXIoKSA/IFByb2ZpbGVyT24gOiBQcm9maWxlck9mZjsKKyAgICBQcm9m
aWxlck1vZGUgcHJvZmlsZXJNb2RlID0gaGFzUHJvZmlsZXIoKSA/IFByb2ZpbGVyT24gOiBQcm9m
aWxlck9mZjsKICAgICBVbmxpbmtlZEV2YWxDb2RlQmxvY2sqIHVubGlua2VkQ29kZUJsb2NrID0g
dm0oKS5jb2RlQ2FjaGUoKS0+Z2V0RXZhbENvZGVCbG9jaygKICAgICAgICAgdm0oKSwgZXhlY3V0
YWJsZSwgZXhlY3V0YWJsZS0+c291cmNlKCksIEpTUGFyc2VyQnVpbHRpbk1vZGU6Ok5vdEJ1aWx0
aW4sIHN0cmljdE1vZGUsIHRoaXNURFpNb2RlLCBpc0Fycm93RnVuY3Rpb25Db250ZXh0LCBkZWJ1
Z2dlck1vZGUsIHByb2ZpbGVyTW9kZSwgZXJyb3IsIHZhcmlhYmxlc1VuZGVyVERaKTsKIApAQCAt
MTAxNiw3ICsxMDE5LDcgQEAgVW5saW5rZWRNb2R1bGVQcm9ncmFtQ29kZUJsb2NrKiBKU0dsb2Jh
bE9iamVjdDo6Y3JlYXRlTW9kdWxlUHJvZ3JhbUNvZGVCbG9jayhDYWwKIHsKICAgICBQYXJzZXJF
cnJvciBlcnJvcjsKICAgICBEZWJ1Z2dlck1vZGUgZGVidWdnZXJNb2RlID0gaGFzRGVidWdnZXIo
KSA/IERlYnVnZ2VyT24gOiBEZWJ1Z2dlck9mZjsKLSAgICBQcm9maWxlck1vZGUgcHJvZmlsZXJN
b2RlID0gaGFzTGVnYWN5UHJvZmlsZXIoKSA/IFByb2ZpbGVyT24gOiBQcm9maWxlck9mZjsKKyAg
ICBQcm9maWxlck1vZGUgcHJvZmlsZXJNb2RlID0gaGFzUHJvZmlsZXIoKSA/IFByb2ZpbGVyT24g
OiBQcm9maWxlck9mZjsKICAgICBVbmxpbmtlZE1vZHVsZVByb2dyYW1Db2RlQmxvY2sqIHVubGlu
a2VkQ29kZUJsb2NrID0gdm0oKS5jb2RlQ2FjaGUoKS0+Z2V0TW9kdWxlUHJvZ3JhbUNvZGVCbG9j
aygKICAgICAgICAgdm0oKSwgZXhlY3V0YWJsZSwgZXhlY3V0YWJsZS0+c291cmNlKCksIEpTUGFy
c2VyQnVpbHRpbk1vZGU6Ok5vdEJ1aWx0aW4sIGRlYnVnZ2VyTW9kZSwgcHJvZmlsZXJNb2RlLCBl
cnJvcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5oCmluZGV4IDgwNGI0MmQyMDdmNjgxMDVkYTQ3OWI2ODZjYjEwMzJiMmFlNGY0NTUuLmI0ZmYy
ZmI0MTNlMGU0NDYyNDkyYTQ4YTNmZDVhNGMyNGVhMGI3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMTQxLDggKzE0MSw4IEBAIHN0
cnVjdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSB7CiAgICAgdHlwZWRlZiBib29sICgqQWxsb3dz
QWNjZXNzRnJvbUZ1bmN0aW9uUHRyKShjb25zdCBKU0dsb2JhbE9iamVjdCosIEV4ZWNTdGF0ZSop
OwogICAgIEFsbG93c0FjY2Vzc0Zyb21GdW5jdGlvblB0ciBhbGxvd3NBY2Nlc3NGcm9tOwogCi0g
ICAgdHlwZWRlZiBib29sICgqU3VwcG9ydHNMZWdhY3lQcm9maWxpbmdGdW5jdGlvblB0cikoY29u
c3QgSlNHbG9iYWxPYmplY3QqKTsKLSAgICBTdXBwb3J0c0xlZ2FjeVByb2ZpbGluZ0Z1bmN0aW9u
UHRyIHN1cHBvcnRzTGVnYWN5UHJvZmlsaW5nOworICAgIHR5cGVkZWYgYm9vbCAoKlN1cHBvcnRz
UHJvZmlsaW5nRnVuY3Rpb25QdHIpKGNvbnN0IEpTR2xvYmFsT2JqZWN0Kik7IAorICAgIFN1cHBv
cnRzUHJvZmlsaW5nRnVuY3Rpb25QdHIgc3VwcG9ydHNQcm9maWxpbmc7CiAKICAgICB0eXBlZGVm
IGJvb2wgKCpTdXBwb3J0c1JpY2hTb3VyY2VJbmZvRnVuY3Rpb25QdHIpKGNvbnN0IEpTR2xvYmFs
T2JqZWN0Kik7CiAgICAgU3VwcG9ydHNSaWNoU291cmNlSW5mb0Z1bmN0aW9uUHRyIHN1cHBvcnRz
UmljaFNvdXJjZUluZm87CkBAIC0zNjAsNyArMzYwLDcgQEAgcHVibGljOgogICAgIERFQ0xBUkVf
RVhQT1JUX0lORk87CiAKICAgICBib29sIGhhc0RlYnVnZ2VyKCkgY29uc3QgeyByZXR1cm4gbV9k
ZWJ1Z2dlcjsgfQotICAgIGJvb2wgaGFzTGVnYWN5UHJvZmlsZXIoKSBjb25zdDsKKyAgICBib29s
IGhhc1Byb2ZpbGVyKCkgY29uc3Q7CiAgICAgY29uc3QgUnVudGltZUZsYWdzJiBydW50aW1lRmxh
Z3MoKSBjb25zdCB7IHJldHVybiBtX3J1bnRpbWVGbGFnczsgfQogCiBwcm90ZWN0ZWQ6CkBAIC02
MTksNyArNjE5LDcgQEAgcHVibGljOgogICAgIGNvbnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxl
KiBnbG9iYWxPYmplY3RNZXRob2RUYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0
TWV0aG9kVGFibGU7IH0KIAogICAgIHN0YXRpYyBib29sIGFsbG93c0FjY2Vzc0Zyb20oY29uc3Qg
SlNHbG9iYWxPYmplY3QqLCBFeGVjU3RhdGUqKSB7IHJldHVybiB0cnVlOyB9Ci0gICAgc3RhdGlj
IGJvb2wgc3VwcG9ydHNMZWdhY3lQcm9maWxpbmcoY29uc3QgSlNHbG9iYWxPYmplY3QqKSB7IHJl
dHVybiBmYWxzZTsgfQorICAgIHN0YXRpYyBib29sIHN1cHBvcnRzUHJvZmlsaW5nKGNvbnN0IEpT
R2xvYmFsT2JqZWN0KikgeyByZXR1cm4gZmFsc2U7IH0KICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0
c1JpY2hTb3VyY2VJbmZvKGNvbnN0IEpTR2xvYmFsT2JqZWN0KikgeyByZXR1cm4gdHJ1ZTsgfQog
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgRXhlY1N0YXRlKiBnbG9iYWxFeGVjKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAppbmRleCBlN2ViMmM3
Mjk0ODljYzA5ZTlhNGM2MmI1NzZmNzI0YWUwNzkzMTNlLi5hNmM3YTA0MjEzNTg3YTZiNWUxMWMw
YTEzMmQzMWExMGNlMmZiNjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93QmFzZS5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgc3RhdGljIGJvb2wgc2hvdWxkQWxs
b3dBY2Nlc3NGcm9tKGNvbnN0IEpTR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0LCBFeGVjU3RhdGUq
IGUKIAogY29uc3QgQ2xhc3NJbmZvIEpTRE9NV2luZG93QmFzZTo6c19pbmZvID0geyAiV2luZG93
IiwgJkpTRE9NR2xvYmFsT2JqZWN0OjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNE
T01XaW5kb3dCYXNlKSB9OwogCi1jb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU0RPTVdp
bmRvd0Jhc2U6OnNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgPSB7ICZzaG91bGRBbGxvd0FjY2Vz
c0Zyb20sICZzdXBwb3J0c0xlZ2FjeVByb2ZpbGluZywgJnN1cHBvcnRzUmljaFNvdXJjZUluZm8s
ICZzaG91bGRJbnRlcnJ1cHRTY3JpcHQsICZqYXZhU2NyaXB0UnVudGltZUZsYWdzLCAmcXVldWVU
YXNrVG9FdmVudExvb3AsICZzaG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0LCAmbW9k
dWxlTG9hZGVyUmVzb2x2ZSwgJm1vZHVsZUxvYWRlckZldGNoLCBudWxscHRyLCBudWxscHRyLCAm
bW9kdWxlTG9hZGVyRXZhbHVhdGUgfTsKK2NvbnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlIEpT
RE9NV2luZG93QmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZSA9IHsgJnNob3VsZEFsbG93
QWNjZXNzRnJvbSwgJnN1cHBvcnRzUHJvZmlsaW5nLCAmc3VwcG9ydHNSaWNoU291cmNlSW5mbywg
JnNob3VsZEludGVycnVwdFNjcmlwdCwgJmphdmFTY3JpcHRSdW50aW1lRmxhZ3MsICZxdWV1ZVRh
c2tUb0V2ZW50TG9vcCwgJnNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQsICZtb2R1
bGVMb2FkZXJSZXNvbHZlLCAmbW9kdWxlTG9hZGVyRmV0Y2gsIG51bGxwdHIsIG51bGxwdHIsICZt
b2R1bGVMb2FkZXJFdmFsdWF0ZSB9OwogCiBKU0RPTVdpbmRvd0Jhc2U6OkpTRE9NV2luZG93QmFz
ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPERPTVdpbmRvdz4gd2lu
ZG93LCBKU0RPTVdpbmRvd1NoZWxsKiBzaGVsbCkKICAgICA6IEpTRE9NR2xvYmFsT2JqZWN0KHZt
LCBzdHJ1Y3R1cmUsICZzaGVsbC0+d29ybGQoKSwgJnNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUp
CkBAIC0xMTUsNyArMTE1LDcgQEAgdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OnByaW50RXJyb3JNZXNz
YWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgY29uc3QKICAgICBwcmludEVycm9yTWVzc2FnZUZv
ckZyYW1lKHdyYXBwZWQoKS5mcmFtZSgpLCBtZXNzYWdlKTsKIH0KIAotYm9vbCBKU0RPTVdpbmRv
d0Jhc2U6OnN1cHBvcnRzTGVnYWN5UHJvZmlsaW5nKGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBvYmpl
Y3QpCitib29sIEpTRE9NV2luZG93QmFzZTo6c3VwcG9ydHNQcm9maWxpbmcoY29uc3QgSlNHbG9i
YWxPYmplY3QqIG9iamVjdCkKIHsKICAgICBjb25zdCBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmpl
Y3QgPSBzdGF0aWNfY2FzdDxjb25zdCBKU0RPTVdpbmRvd0Jhc2UqPihvYmplY3QpOwogICAgIEZy
YW1lKiBmcmFtZSA9IHRoaXNPYmplY3QtPndyYXBwZWQoKS5mcmFtZSgpOwpAQCAtMTI2LDcgKzEy
Niw3IEBAIGJvb2wgSlNET01XaW5kb3dCYXNlOjpzdXBwb3J0c0xlZ2FjeVByb2ZpbGluZyhjb25z
dCBKU0dsb2JhbE9iamVjdCogb2JqZWN0KQogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgcmV0dXJuIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS5sZWdhY3lQ
cm9maWxlckVuYWJsZWQoKTsKKyAgICByZXR1cm4gcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigp
LnByb2ZpbGVyRW5hYmxlZCgpOwogfQogCiBib29sIEpTRE9NV2luZG93QmFzZTo6c3VwcG9ydHNS
aWNoU291cmNlSW5mbyhjb25zdCBKU0dsb2JhbE9iamVjdCogb2JqZWN0KQpAQCAtMTQyLDcgKzE0
Miw3IEBAIGJvb2wgSlNET01XaW5kb3dCYXNlOjpzdXBwb3J0c1JpY2hTb3VyY2VJbmZvKGNvbnN0
IEpTR2xvYmFsT2JqZWN0KiBvYmplY3QpCiAKICAgICBib29sIGVuYWJsZWQgPSBwYWdlLT5pbnNw
ZWN0b3JDb250cm9sbGVyKCkuZW5hYmxlZCgpOwogICAgIEFTU0VSVChlbmFibGVkIHx8ICF0aGlz
T2JqZWN0LT5kZWJ1Z2dlcigpKTsKLSAgICBBU1NFUlQoZW5hYmxlZCB8fCAhc3VwcG9ydHNMZWdh
Y3lQcm9maWxpbmcodGhpc09iamVjdCkpOworICAgIEFTU0VSVChlbmFibGVkIHx8ICFzdXBwb3J0
c1Byb2ZpbGluZyh0aGlzT2JqZWN0KSk7CiAgICAgcmV0dXJuIGVuYWJsZWQ7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKaW5kZXggYjE5NTMyOWMy
NzgyODIwNjczYzQ2OTEzMDM0YzdkZmI0NjQxYWU3OS4uOWM1N2E2YzkzY2YzZjRhMzVhNDhlY2I3
OWNhZTljZjY4YmE4ZmUyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmgKQEAgLTYwLDcgKzYwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
ICAgIHN0YXRpYyBjb25zdCBKU0M6Okdsb2JhbE9iamVjdE1ldGhvZFRhYmxlIHNfZ2xvYmFsT2Jq
ZWN0TWV0aG9kVGFibGU7CiAKLSAgICAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNMZWdhY3lQcm9m
aWxpbmcoY29uc3QgSlNDOjpKU0dsb2JhbE9iamVjdCopOworICAgICAgICBzdGF0aWMgYm9vbCBz
dXBwb3J0c1Byb2ZpbGluZyhjb25zdCBKU0M6OkpTR2xvYmFsT2JqZWN0Kik7CiAgICAgICAgIHN0
YXRpYyBib29sIHN1cHBvcnRzUmljaFNvdXJjZUluZm8oY29uc3QgSlNDOjpKU0dsb2JhbE9iamVj
dCopOwogICAgICAgICBzdGF0aWMgYm9vbCBzaG91bGRJbnRlcnJ1cHRTY3JpcHQoY29uc3QgSlND
OjpKU0dsb2JhbE9iamVjdCopOwogICAgICAgICBzdGF0aWMgYm9vbCBzaG91bGRJbnRlcnJ1cHRT
Y3JpcHRCZWZvcmVUaW1lb3V0KGNvbnN0IEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNw
cAppbmRleCAzYzFlZjcyYjcxMDIzMDU2Y2Q1MWRhZTg3NmQzYzZiMDNiNDE1OGVlLi45OTZiMDI2
ODk5ZWU4ODgzYjhjMmE0ZDljZTU4OGVlOTM5YmM5ODk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCkBAIC00Myw3
ICs0Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgQ2xhc3NJbmZvIEpTV29ya2Vy
R2xvYmFsU2NvcGVCYXNlOjpzX2luZm8gPSB7ICJXb3JrZXJHbG9iYWxTY29wZSIsICZKU0RPTUds
b2JhbE9iamVjdDo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTV29ya2VyR2xvYmFs
U2NvcGVCYXNlKSB9OwogCi1jb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU1dvcmtlckds
b2JhbFNjb3BlQmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZSA9IHsgJmFsbG93c0FjY2Vz
c0Zyb20sICZzdXBwb3J0c0xlZ2FjeVByb2ZpbGluZywgJnN1cHBvcnRzUmljaFNvdXJjZUluZm8s
ICZzaG91bGRJbnRlcnJ1cHRTY3JpcHQsICZqYXZhU2NyaXB0UnVudGltZUZsYWdzLCAmcXVldWVU
YXNrVG9FdmVudExvb3AsICZzaG91bGRJbnRlcnJ1cHRTY3JpcHRCZWZvcmVUaW1lb3V0LCBudWxs
cHRyLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyIH07Citjb25zdCBHbG9iYWxP
YmplY3RNZXRob2RUYWJsZSBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZTo6c19nbG9iYWxPYmplY3RN
ZXRob2RUYWJsZSA9IHsgJmFsbG93c0FjY2Vzc0Zyb20sICZzdXBwb3J0c1Byb2ZpbGluZywgJnN1
cHBvcnRzUmljaFNvdXJjZUluZm8sICZzaG91bGRJbnRlcnJ1cHRTY3JpcHQsICZqYXZhU2NyaXB0
UnVudGltZUZsYWdzLCAmcXVldWVUYXNrVG9FdmVudExvb3AsICZzaG91bGRJbnRlcnJ1cHRTY3Jp
cHRCZWZvcmVUaW1lb3V0LCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCBudWxs
cHRyIH07CiAKIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjpKU1dvcmtlckdsb2JhbFNjb3BlQmFz
ZShKU0M6OlZNJiB2bSwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxXb3Jr
ZXJHbG9iYWxTY29wZT4gaW1wbCkKICAgICA6IEpTRE9NR2xvYmFsT2JqZWN0KHZtLCBzdHJ1Y3R1
cmUsICZub3JtYWxXb3JsZCh2bSksICZzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlKQpAQCAtNzIs
OSArNzIsOSBAQCBib29sIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjphbGxvd3NBY2Nlc3NGcm9t
KGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBvYmplY3QsIEV4ZQogICAgIHJldHVybiBKU0dsb2JhbE9i
amVjdDo6YWxsb3dzQWNjZXNzRnJvbShvYmplY3QsIGV4ZWMpOwogfQogCi1ib29sIEpTV29ya2Vy
R2xvYmFsU2NvcGVCYXNlOjpzdXBwb3J0c0xlZ2FjeVByb2ZpbGluZyhjb25zdCBKU0dsb2JhbE9i
amVjdCogb2JqZWN0KQorYm9vbCBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZTo6c3VwcG9ydHNQcm9m
aWxpbmcoY29uc3QgSlNHbG9iYWxPYmplY3QqIG9iamVjdCkKIHsKLSAgICByZXR1cm4gSlNHbG9i
YWxPYmplY3Q6OnN1cHBvcnRzTGVnYWN5UHJvZmlsaW5nKG9iamVjdCk7CisgICAgcmV0dXJuIEpT
R2xvYmFsT2JqZWN0OjpzdXBwb3J0c1Byb2ZpbGluZyhvYmplY3QpOwogfQogCiBib29sIEpTV29y
a2VyR2xvYmFsU2NvcGVCYXNlOjpzdXBwb3J0c1JpY2hTb3VyY2VJbmZvKGNvbnN0IEpTR2xvYmFs
T2JqZWN0KiBvYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1dvcmtlckdsb2JhbFNjb3BlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrZXJHbG9iYWxTY29wZUJhc2UuaAppbmRleCA4ZDJjMWFlYTgxMzM5MjI3YzJmYmI2ZDRjMGJk
YmUwYjM2NzNlMjhjLi4yZGU4Y2M0ZmEwNjhlZDM0NDIwNmYxMDA4YjRjYTZhN2U2Yjc2OWJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3Bl
QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2Nv
cGVCYXNlLmgKQEAgLTUzLDcgKzUzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBz
dGF0aWMgY29uc3QgSlNDOjpHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBzX2dsb2JhbE9iamVjdE1l
dGhvZFRhYmxlOwogCiAgICAgICAgIHN0YXRpYyBib29sIGFsbG93c0FjY2Vzc0Zyb20oY29uc3Qg
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RXhlY1N0YXRlKik7Ci0gICAgICAgIHN0YXRpYyBi
b29sIHN1cHBvcnRzTGVnYWN5UHJvZmlsaW5nKGNvbnN0IEpTQzo6SlNHbG9iYWxPYmplY3QqKTsK
KyAgICAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNQcm9maWxpbmcoY29uc3QgSlNDOjpKU0dsb2Jh
bE9iamVjdCopOwogICAgICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c1JpY2hTb3VyY2VJbmZvKGNv
bnN0IEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKICAgICAgICAgc3RhdGljIGJvb2wgc2hvdWxkSW50
ZXJydXB0U2NyaXB0KGNvbnN0IEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKICAgICAgICAgc3RhdGlj
IGJvb2wgc2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGltZW91dChjb25zdCBKU0M6OkpTR2xv
YmFsT2JqZWN0Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAKaW5kZXggYjhkZGZlZmY2N2I2MjdhMWZmOTE0MmRjNWUzMGNiMGNmYjU0MzJk
MC4uZjE2NjcyZWI3MzQ3OThkMzM5YjQwYWZmMTc3M2E5YjY3MWE3MWUxZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtNDAzLDE3
ICs0MDMsMjIgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpzZXRJbmRpY2F0aW5nKGJvb2wg
aW5kaWNhdGluZykKICNlbmRpZgogfQogCi1ib29sIEluc3BlY3RvckNvbnRyb2xsZXI6OmxlZ2Fj
eVByb2ZpbGVyRW5hYmxlZCgpIGNvbnN0Citib29sIEluc3BlY3RvckNvbnRyb2xsZXI6OnByb2Zp
bGVyRW5hYmxlZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbGVnYWN5UHJvZmlsZXJFbmFibGVk
OworICAgIHJldHVybiBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnBlcnNpc3RlbnRJbnNwZWN0b3JU
aW1lbGluZUFnZW50KCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6c2V0TGVnYWN5
UHJvZmlsZXJFbmFibGVkKGJvb2wgZW5hYmxlKQordm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpz
ZXRQcm9maWxlckVuYWJsZWQoYm9vbCBlbmFibGUpCiB7Ci0gICAgbV9sZWdhY3lQcm9maWxlckVu
YWJsZWQgPSBlbmFibGU7CisgICAgRXJyb3JTdHJpbmcgdW51c2VkOwogCi0gICAgbV9pbnN0cnVt
ZW50aW5nQWdlbnRzLT5zZXRQZXJzaXN0ZW50SW5zcGVjdG9yVGltZWxpbmVBZ2VudChlbmFibGUg
PyBtX3RpbWVsaW5lQWdlbnQgOiBudWxscHRyKTsKLSAgICBtX3NjcmlwdERlYnVnU2VydmVyLnJl
Y29tcGlsZUFsbEpTRnVuY3Rpb25zKCk7CisgICAgaWYgKGVuYWJsZSkgeworICAgICAgICBtX2lu
c3RydW1lbnRpbmdBZ2VudHMtPnNldFBlcnNpc3RlbnRJbnNwZWN0b3JUaW1lbGluZUFnZW50KG1f
dGltZWxpbmVBZ2VudCk7CisgICAgICAgIG1fdGltZWxpbmVBZ2VudC0+c3RhcnQodW51c2VkKTsK
KyAgICB9IGVsc2UgeworICAgICAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldFBlcnNpc3Rl
bnRJbnNwZWN0b3JUaW1lbGluZUFnZW50KG51bGxwdHIpOworICAgICAgICBtX3RpbWVsaW5lQWdl
bnQtPnN0b3AodW51c2VkKTsKKyAgICB9CiB9CiAKIGJvb2wgSW5zcGVjdG9yQ29udHJvbGxlcjo6
ZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA0ZGY4NGI0YWFiYzM4ZjI2ZjkxNzU5NGIz
ZmNjNzk2Yzk5YzA3MTlhLi4wMDE5YTdiYmY4M2ExMGExZGY2M2Y4N2VkNTkwN2VlOTFkZTIwNThm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgK
QEAgLTExMSw4ICsxMTEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc1VuZGVyVGVzdChib29s
IGlzVW5kZXJUZXN0KSB7IG1faXNVbmRlclRlc3QgPSBpc1VuZGVyVGVzdDsgfQogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgZXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZChjb25zdCBTdHJpbmcmIHNj
cmlwdCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBib29sIGxlZ2FjeVByb2ZpbGVyRW5hYmxlZCgp
IGNvbnN0OwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TGVnYWN5UHJvZmlsZXJFbmFibGVk
KGJvb2wpOworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgcHJvZmlsZXJFbmFibGVkKCkgY29uc3Q7
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRQcm9maWxlckVuYWJsZWQoYm9vbCk7CiAKICAg
ICBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5z
cGVjdG9yQ2xpZW50OyB9CiAgICAgSW5zcGVjdG9yUGFnZUFnZW50KiBwYWdlQWdlbnQoKSBjb25z
dCB7IHJldHVybiBtX3BhZ2VBZ2VudDsgfQpAQCAtMTUxLDcgKzE1MSw2IEBAIHByaXZhdGU6CiAK
ICAgICBib29sIG1faXNVbmRlclRlc3QgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0F1dG9tYXRp
Y0luc3BlY3Rpb24geyBmYWxzZSB9OwotICAgIGJvb2wgbV9sZWdhY3lQcm9maWxlckVuYWJsZWQg
eyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCmluZGV4IGUyMzhk
MGNjNWQ5YzQ4NDgyMTNlYjNmZDExY2NlZjhiMmI2NTEwNWYuLjU3Mjg1MzRkYmQwZDY3MjBmOGMz
NjA2NGIzYzlmNjRiMmExYjViOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTg0LDEyICs4NCwxOSBAQCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50Ojp+SW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpCiB2b2lkIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZy
b250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopCiB7CiAgICAgbV9p
bnN0cnVtZW50aW5nQWdlbnRzLnNldFBlcnNpc3RlbnRJbnNwZWN0b3JUaW1lbGluZUFnZW50KHRo
aXMpOworCisgICAgLy8gUmVjb21waWxlIHRvIGluY2x1ZGUgcHJvZmlsaW5nIGluZm9ybWF0aW9u
LgorICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3Qgc2VlbSBsaWtlIHRoZSBtb3N0IGFwcHJvcHJp
YXRlIHBsYWNlLgorICAgIG1fZW52aXJvbm1lbnQuc2NyaXB0RGVidWdTZXJ2ZXIoKS5yZWNvbXBp
bGVBbGxKU0Z1bmN0aW9ucygpOwogfQogCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6Ondp
bGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikK
K3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tl
bmQoSW5zcGVjdG9yOjpEaXNjb25uZWN0UmVhc29uIHJlYXNvbikKIHsKICAgICBtX2luc3RydW1l
bnRpbmdBZ2VudHMuc2V0UGVyc2lzdGVudEluc3BlY3RvclRpbWVsaW5lQWdlbnQobnVsbHB0cik7
CiAKKyAgICBpZiAocmVhc29uICE9IEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbjo6SW5zcGVj
dGVkVGFyZ2V0RGVzdHJveWVkKQorICAgICAgICBtX2Vudmlyb25tZW50LnNjcmlwdERlYnVnU2Vy
dmVyKCkucmVjb21waWxlQWxsSlNGdW5jdGlvbnMoKTsKKwogICAgIEVycm9yU3RyaW5nIHVudXNl
ZDsKICAgICBzdG9wKHVudXNlZCk7CiB9CkBAIC0xOTYsMTAgKzIwMywxOCBAQCBkb3VibGUgSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6dGltZXN0YW1wKCkKICAgICByZXR1cm4gbV9lbnZpcm9ubWVu
dC5leGVjdXRpb25TdG9wd2F0Y2goKS0+ZWxhcHNlZFRpbWUoKTsKIH0KIAotdm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50OjpzdGFydEZyb21Db25zb2xlKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBj
b25zdCBTdHJpbmcgJnRpdGxlKQorc3RhdGljIGlubGluZSB2b2lkIHN0YXJ0UHJvZmlsaW5nKEpT
Qzo6RXhlY1N0YXRlKiBleGVjLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBSZWZQdHI8U3RvcHdhdGNo
PiYmIHN0b3B3YXRjaCkKK3sKKyAgICBKU0M6OkxlZ2FjeVByb2ZpbGVyOjpwcm9maWxlcigpLT5z
dGFydFByb2ZpbGluZyhleGVjLCB0aXRsZSwgV1RGTW92ZShzdG9wd2F0Y2gpKTsKK30KKworc3Rh
dGljIGlubGluZSBSZWZQdHI8SlNDOjpQcm9maWxlPiBzdG9wUHJvZmlsaW5nKEpTQzo6RXhlY1N0
YXRlKiBleGVjLCBjb25zdCBTdHJpbmcmIHRpdGxlKQogewotICAgIC8vIEZJWE1FOiA8aHR0cHM6
Ly93ZWJraXQub3JnL2IvMTUzNDk5PiBXZWIgSW5zcGVjdG9yOiBjb25zb2xlLnByb2ZpbGUgc2hv
dWxkIHVzZSB0aGUgbmV3IFNhbXBsaW5nIFByb2ZpbGVyCisgICAgcmV0dXJuIEpTQzo6TGVnYWN5
UHJvZmlsZXI6OnByb2ZpbGVyKCktPnN0b3BQcm9maWxpbmcoZXhlYywgdGl0bGUpOworfQogCit2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0YXJ0RnJvbUNvbnNvbGUoSlNDOjpFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IFN0cmluZyAmdGl0bGUpCit7CiAgICAgLy8gT25seSBhbGxvdyByZWNv
cmRpbmcgb2YgYSBwcm9maWxlIGlmIGl0IGlzIGFub255bW91cyAoZW1wdHkgdGl0bGUpIG9yIGRv
ZXMgbm90IG1hdGNoCiAgICAgLy8gdGhlIHRpdGxlIG9mIGFuIGFscmVhZHkgcmVjb3JkaW5nIHBy
b2ZpbGUuCiAgICAgaWYgKCF0aXRsZS5pc0VtcHR5KCkpIHsKQEAgLTIxNCwxNSArMjI5LDEzIEBA
IHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c3RhcnRGcm9tQ29uc29sZShKU0M6OkV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgU3RyaW5nCiAgICAgaWYgKCFtX2VuYWJsZWQgJiYgbV9wZW5kaW5n
Q29uc29sZVByb2ZpbGVSZWNvcmRzLmlzRW1wdHkoKSkKICAgICAgICAgaW50ZXJuYWxTdGFydCgp
OwogCi0gICAgSlNDOjpMZWdhY3lQcm9maWxlcjo6cHJvZmlsZXIoKS0+c3RhcnRQcm9maWxpbmco
ZXhlYywgdGl0bGUsIG1fZW52aXJvbm1lbnQuZXhlY3V0aW9uU3RvcHdhdGNoKCkpOworICAgIHN0
YXJ0UHJvZmlsaW5nKGV4ZWMsIHRpdGxlLCBtX2Vudmlyb25tZW50LmV4ZWN1dGlvblN0b3B3YXRj
aCgpKTsKIAogICAgIG1fcGVuZGluZ0NvbnNvbGVQcm9maWxlUmVjb3Jkcy5hcHBlbmQoY3JlYXRl
UmVjb3JkRW50cnkoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVDb25zb2xlUHJvZmlsZURh
dGEodGl0bGUpLCBUaW1lbGluZVJlY29yZFR5cGU6OkNvbnNvbGVQcm9maWxlLCB0cnVlLCBmcmFt
ZUZyb21FeGVjU3RhdGUoZXhlYykpKTsKIH0KIAogUmVmUHRyPEpTQzo6UHJvZmlsZT4gSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6c3RvcEZyb21Db25zb2xlKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBj
b25zdCBTdHJpbmcmIHRpdGxlKQogewotICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3Jn
L2IvMTUzNDk5PiBXZWIgSW5zcGVjdG9yOiBjb25zb2xlLnByb2ZpbGUgc2hvdWxkIHVzZSB0aGUg
bmV3IFNhbXBsaW5nIFByb2ZpbGVyCi0KICAgICAvLyBTdG9wIHByb2ZpbGVzIGluIHJldmVyc2Ug
b3JkZXIuIElmIHRoZSB0aXRsZSBpcyBlbXB0eSwgdGhlbiBzdG9wIHRoZSBsYXN0IHByb2ZpbGUu
CiAgICAgLy8gT3RoZXJ3aXNlLCBtYXRjaCB0aGUgdGl0bGUgb2YgdGhlIHByb2ZpbGUgdG8gc3Rv
cC4KICAgICBmb3IgKHB0cmRpZmZfdCBpID0gbV9wZW5kaW5nQ29uc29sZVByb2ZpbGVSZWNvcmRz
LnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKSB7CkBAIC0yMzIsNyArMjQ1LDcgQEAgUmVmUHRyPEpT
Qzo6UHJvZmlsZT4gSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c3RvcEZyb21Db25zb2xlKEpTQzo6
RXhlY1N0YXRlKiBleGUKICAgICAgICAgcmVjb3JkLmRhdGEtPmdldFN0cmluZyhBU0NJSUxpdGVy
YWwoInRpdGxlIiksIHJlY29yZFRpdGxlKTsKIAogICAgICAgICBpZiAodGl0bGUuaXNFbXB0eSgp
IHx8IHJlY29yZFRpdGxlID09IHRpdGxlKSB7Ci0gICAgICAgICAgICBSZWZQdHI8SlNDOjpQcm9m
aWxlPiBwcm9maWxlID0gSlNDOjpMZWdhY3lQcm9maWxlcjo6cHJvZmlsZXIoKS0+c3RvcFByb2Zp
bGluZyhleGVjLCB0aXRsZSk7CisgICAgICAgICAgICBSZWZQdHI8SlNDOjpQcm9maWxlPiBwcm9m
aWxlID0gc3RvcFByb2ZpbGluZyhleGVjLCB0aXRsZSk7CiAgICAgICAgICAgICBpZiAocHJvZmls
ZSkKICAgICAgICAgICAgICAgICBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFwcGVuZFByb2ZpbGUo
cmVjb3JkLmRhdGEuZ2V0KCksIHByb2ZpbGUuY29weVJlZigpKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcAppbmRleCAxMTY0ZTAwM2I3MGQzM2FhMzIyOGNiOWRi
ZDhjZmZlYjAzNWJkNDUwLi4xODE0MDkxM2U4OTA5M2JkMjdjNGZlZDUxYjI1Y2U0N2UzYWI3NTcw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcApAQCAtMTg0LDEz
ICsxODQsMTEgQEAgdm9pZCBQYWdlQ29uc29sZUNsaWVudDo6Y291bnQoSlNDOjpFeGVjU3RhdGUq
IGV4ZWMsIFJlZlB0cjxTY3JpcHRBcmd1bWVudHM+JiYgYXIKIAogdm9pZCBQYWdlQ29uc29sZUNs
aWVudDo6cHJvZmlsZShKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3RyaW5nJiB0aXRsZSkK
IHsKLSAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MzQ5OT4gV2ViIEluc3Bl
Y3RvcjogY29uc29sZS5wcm9maWxlIHNob3VsZCB1c2UgdGhlIG5ldyBTYW1wbGluZyBQcm9maWxl
cgogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RhcnRQcm9maWxpbmcobV9wYWdlLCBl
eGVjLCB0aXRsZSk7CiB9CiAKIHZvaWQgUGFnZUNvbnNvbGVDbGllbnQ6OnByb2ZpbGVFbmQoSlND
OjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiB7Ci0gICAgLy8gRklYTUU6
IDxodHRwczovL3dlYmtpdC5vcmcvYi8xNTM0OTk+IFdlYiBJbnNwZWN0b3I6IGNvbnNvbGUucHJv
ZmlsZSBzaG91bGQgdXNlIHRoZSBuZXcgU2FtcGxpbmcgUHJvZmlsZXIKICAgICBpZiAoUmVmUHRy
PEpTQzo6UHJvZmlsZT4gcHJvZmlsZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcFBy
b2ZpbGluZyhtX3BhZ2UsIGV4ZWMsIHRpdGxlKSkKICAgICAgICAgbV9wcm9maWxlcy5hcHBlbmQo
V1RGTW92ZShwcm9maWxlKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5k
ZXggZGNmZWZiMTJhZGZjYjEwZTdiZTU1YWE2MmZlZmY5OTVmZWMyNWY3NS4uNmY5NjhhMGQ3NTRk
YmQ1MTM3OTJkODE0NGMzZWM5M2NhOTE2YmE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcApAQCAtMzcyLDcgKzM3Miw3IEBAIHZvaWQgSW50ZXJuYWxzOjpyZXNldFRvQ29uc2lz
dGVudFN0YXRlKFBhZ2UqIHBhZ2UpCiAKICAgICBXZWJDb3JlOjpvdmVycmlkZVVzZXJQcmVmZXJy
ZWRMYW5ndWFnZXMoVmVjdG9yPFN0cmluZz4oKSk7CiAgICAgV2ViQ29yZTo6U2V0dGluZ3M6OnNl
dFVzZXNPdmVybGF5U2Nyb2xsYmFycyhmYWxzZSk7Ci0gICAgcGFnZS0+aW5zcGVjdG9yQ29udHJv
bGxlcigpLnNldExlZ2FjeVByb2ZpbGVyRW5hYmxlZChmYWxzZSk7CisgICAgcGFnZS0+aW5zcGVj
dG9yQ29udHJvbGxlcigpLnNldFByb2ZpbGVyRW5hYmxlZChmYWxzZSk7CiAjaWYgRU5BQkxFKFZJ
REVPX1RSQUNLKQogICAgIHBhZ2UtPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCktPnNldENh
cHRpb25zU3R5bGVTaGVldE92ZXJyaWRlKGVtcHR5U3RyaW5nKCkpOwogICAgIHBhZ2UtPmdyb3Vw
KCkuY2FwdGlvblByZWZlcmVuY2VzKCktPnNldFRlc3RpbmdNb2RlKGZhbHNlKTsKQEAgLTE4Mzks
NyArMTgzOSw3IEBAIHZvaWQgSW50ZXJuYWxzOjpjbG9zZUR1bW15SW5zcGVjdG9yRnJvbnRlbmQo
KQogICAgIG1faW5zcGVjdG9yRnJvbnRlbmQgPSBudWxscHRyOwogfQogCi12b2lkIEludGVybmFs
czo6c2V0TGVnYWN5SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNl
cHRpb25Db2RlJiBlYykKK3ZvaWQgSW50ZXJuYWxzOjpzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5h
YmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFBhZ2UqIHBhZ2Ug
PSBjb250ZXh0RG9jdW1lbnQoKS0+ZnJhbWUoKS0+cGFnZSgpOwogICAgIGlmICghcGFnZSkgewpA
QCAtMTg0Nyw3ICsxODQ3LDcgQEAgdm9pZCBJbnRlcm5hbHM6OnNldExlZ2FjeUphdmFTY3JpcHRQ
cm9maWxpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS5zZXRMZWdhY3lQ
cm9maWxlckVuYWJsZWQoZW5hYmxlZCk7CisgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigp
LnNldFByb2ZpbGVyRW5hYmxlZChlbmFibGVkKTsKIH0KIAogdm9pZCBJbnRlcm5hbHM6OnNldElu
c3BlY3RvcklzVW5kZXJUZXN0KGJvb2wgaXNVbmRlclRlc3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMDA5NGYyNTY2NTM4MjY0N2JjNDNiMGQx
ODU5ZDliZDI3MGE3ZDRlZC4uZWU2Zjk4ZWU5NDhlM2JjNDg0NGEzMzlhOTQ5N2I4ZDE5MjJjNmU0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0yNzgsNyArMjc4LDcgQEAgcHVi
bGljOgogCiAgICAgUmVmUHRyPERPTVdpbmRvdz4gb3BlbkR1bW15SW5zcGVjdG9yRnJvbnRlbmQo
Y29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQgY2xvc2VEdW1teUluc3BlY3RvckZyb250ZW5k
KCk7Ci0gICAgdm9pZCBzZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChib29sIGVu
YWJsZWQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldEphdmFTY3JpcHRQcm9maWxpbmdF
bmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0SW5zcGVj
dG9ySXNVbmRlclRlc3QoYm9vbCBpc1VuZGVyVGVzdCwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAg
U3RyaW5nIGNvdW50ZXJWYWx1ZShFbGVtZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKaW5kZXggZWY2MjEyMTRkNmY4ZjIwNjFhYzQ4ZDEzNzlmODAyYjY3NDUwY2NhZi4uMmZk
ZDM4ZmFkNTg1MjY1MmY0ODcxZTY3ODcyZGQzMzNlOWYzZmYwMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbApAQCAtMjYzLDcgKzI2Myw3IEBAIGVudW0gQXV0b0ZpbGxCdXR0b25U
eXBlIHsKICAgICB1bnNpZ25lZCBsb25nIG51bWJlck9mTGl2ZURvY3VtZW50cygpOwogICAgIERP
TVdpbmRvdyBvcGVuRHVtbXlJbnNwZWN0b3JGcm9udGVuZChET01TdHJpbmcgdXJsKTsKICAgICB2
b2lkIGNsb3NlRHVtbXlJbnNwZWN0b3JGcm9udGVuZCgpOwotICAgIFtSYWlzZXNFeGNlcHRpb25d
IHZvaWQgc2V0TGVnYWN5SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGVk
KTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFi
bGVkKGJvb2xlYW4gY3JlYXRlcyk7CiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZXRJbnNw
ZWN0b3JJc1VuZGVyVGVzdChib29sZWFuIGlzVW5kZXJUZXN0KTsKIAogICAgIERPTVN0cmluZyBj
b3VudGVyVmFsdWUoRWxlbWVudCBlbGVtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkluc3BlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuY3Bw
CmluZGV4IDkxYTc4YjM1MDMwNmE2MzQ0NmJjMzFhMWVmNzdlYWFmM2M4ZGE2NzQuLmY0NGNjNDZh
ZmNhYzY2ZjAzNDAwMDA2YWIyNGRiZjEwYjA1ZjQyZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL1dlYkluc3BlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViSW5zcGVj
dG9yLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIEhSRVNVTFQgV2ViSW5zcGVjdG9yOjppc0phdmFT
Y3JpcHRQcm9maWxpbmdFbmFibGVkKF9PdXRfIEJPT0wqIGlzUHJvZmlsaW5nRW5hYmxlCiAgICAg
aWYgKCFpbnNwZWN0ZWRQYWdlKQogICAgICAgICByZXR1cm4gU19PSzsKIAotICAgICppc1Byb2Zp
bGluZ0VuYWJsZWQgPSBpbnNwZWN0ZWRQYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkubGVnYWN5
UHJvZmlsZXJFbmFibGVkKCk7CisgICAgKmlzUHJvZmlsaW5nRW5hYmxlZCA9IGluc3BlY3RlZFBh
Z2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS5wcm9maWxlckVuYWJsZWQoKTsKICAgICByZXR1cm4g
U19PSzsKIH0KIApAQCAtMjI5LDcgKzIyOSw3IEBAIEhSRVNVTFQgV2ViSW5zcGVjdG9yOjpzZXRK
YXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChCT09MIGVuYWJsZWQpCiAgICAgaWYgKCFpbnNwZWN0
ZWRQYWdlKQogICAgICAgICByZXR1cm4gU19PSzsKIAotICAgIGluc3BlY3RlZFBhZ2UtPmluc3Bl
Y3RvckNvbnRyb2xsZXIoKS5zZXRMZWdhY3lQcm9maWxlckVuYWJsZWQoZW5hYmxlZCk7CisgICAg
aW5zcGVjdGVkUGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLnNldFByb2ZpbGVyRW5hYmxlZChl
bmFibGVkKTsKIAogICAgIHJldHVybiBTX09LOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFkMDljYWQ4N2U4ZTMxZWY4
MTI2ZDA5ZDBkMWQ2ZWM2YzdkYmRkNTguLjA1ZTBmZTczZjkxNTgwZmRiMjYyYzRhZDQ5N2E2NzFi
OWUyNzU0NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNi0wMS0zMCAgQ29tbWl0IFF1ZXVl
ICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjE5NTc5OSBhbmQgcjE5NTgyOC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1MzcyMgorCisgICAgICAgIENhdXNlZCBhc3NlcnRpb24gZmFp
bHVyZXMsIHNldmVyZWx5IGFmZmVjdGluZyBFV1MgKFJlcXVlc3RlZAorICAgICAgICBieSBhcCBv
biAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXRzOgorCisgICAgICAgICJX
ZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JUaW1lbGluZUFnZW50IGRvZXNuJ3QgbmVlZCB0bworICAg
ICAgICByZWNvbXBpbGUgZnVuY3Rpb25zIGJlY2F1c2UgaXQgbm93IHVzZXMgdGhlIHNhbXBsaW5n
IHByb2ZpbGVyIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTUzNTAwCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE5NTc5
OQorCisgICAgICAgICJBdHRlbXB0IHRvIGZpeCB0aGUgV2luZG93cyBidWlsZCBhZnRlciByMTk1
Nzk5IgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xOTU4MjgKKwog
MjAxNi0wMS0zMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
TW9kZXJuIElEQjogU29tZSB0ZXN0cyBjcmFzaCB3aXRoIHNwZWNpZmljIG9kZCBkYXRhYmFzZSBu
YW1lcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnltb3VzLWV2
ZW50LWhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnltb3VzLWV2
ZW50LWhhbmRsZXIuaHRtbAppbmRleCAyYmNmZmE1ZWFmZjZlZTc3YTQ4YzQzYWU0NGFmNjNlMDc4
MzAzY2JhLi5mNzI1OTVhMWQyZTUxMjZiZmUyNDdkYmFmODgzMTEzM2MzNzE1ZmRiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2Fub255bW91cy1ldmVudC1oYW5kbGVyLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZXZlbnQtaGFuZGxl
ci5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxz
LnNldExlZ2FjeUphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFs
cy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRU
ZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnltb3Vz
LWZ1bmN0aW9uLWNhbGxlZC1mcm9tLWRpZmZlcmVudC1jb250ZXh0cy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbGVkLWZyb20tZGlmZmVyZW50
LWNvbnRleHRzLmh0bWwKaW5kZXggM2FiODMxNzliOGVmNmIwOTIzZWY3MzM0MTljZGYzNTlhODFj
MDY5Zi4uYjgwY2JiNDFkODBiNTYyMjYxYjBkYTc4NTk2ZGM1ZDFmZWE1M2IxMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbGVkLWZy
b20tZGlmZmVyZW50LWNvbnRleHRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxl
ci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbGVkLWZyb20tZGlmZmVyZW50LWNvbnRleHRzLmh0bWwK
QEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0TGVn
YWN5SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEph
dmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQog
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9hbm9ueW1vdXMtZnVuY3Rp
b24tY2FsbHMtYnVpbHQtaW4tZnVuY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL2Fub255bW91cy1mdW5jdGlvbi1jYWxscy1idWlsdC1pbi1mdW5jdGlvbnMuaHRtbAppbmRl
eCA1YmM3M2I1ZTZmYjA5MmE4ZGE2YmNjODdlMDUxZmY2OTE2NzEzOTA5Li5mMzM1YWRkYmFiZDNi
YjVkMmVmMjZlMGRlNmQ1ZmJlOTY0NDgwZGVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL2Fub255bW91cy1mdW5jdGlvbi1jYWxscy1idWlsdC1pbi1mdW5jdGlvbnMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2Fub255bW91cy1mdW5jdGlvbi1jYWxs
cy1idWlsdC1pbi1mdW5jdGlvbnMuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQotICAgIGludGVybmFscy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0
cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7
CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL2Fub255bW91cy1mdW5jdGlvbi1jYWxscy1ldmFsLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Byb2ZpbGVyL2Fub255bW91cy1mdW5jdGlvbi1jYWxscy1ldmFsLmh0bWwKaW5kZXgg
MTlmNzY2NjBjYTJjNmFhNzhkZjJjZGEzNWNjNDEwOWQ3YzhiYWQyMy4uMjJlNTlmNzQxNDMzOTQ1
N2Q0ZDgwNzlkZjUxN2UwMGQ5MzhjZTljZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9w
cm9maWxlci9hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbHMtZXZhbC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcHJvZmlsZXIvYW5vbnltb3VzLWZ1bmN0aW9uLWNhbGxzLWV2YWwuaHRtbApAQCAt
NSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXRMZWdhY3lK
YXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNj
cmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2Fub255bW91cy1mdW5jdGlvbnMt
d2l0aC1kaXNwbGF5LW5hbWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2Fub255
bW91cy1mdW5jdGlvbnMtd2l0aC1kaXNwbGF5LW5hbWVzLmh0bWwKaW5kZXggN2I5ZmMzNGFlMWVj
ZDhlZmEwNTI4OThiNzJiNjE4NTdlZTJmYzc2Zi4uNjY3Yjg0N2QxYzdiZDIwM2MzMWQyMjlmMjJl
ZThjMWQ1M2EzYjI0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9hbm9u
eW1vdXMtZnVuY3Rpb25zLXdpdGgtZGlzcGxheS1uYW1lcy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvcHJvZmlsZXIvYW5vbnltb3VzLWZ1bmN0aW9ucy13aXRoLWRpc3BsYXktbmFtZXMuaHRt
bApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXRM
ZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0
SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGFub255bW91c0Z1
bmN0aW9uR2VuZXJhdG9yKGl0ZXJhdGlvbnMpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Byb2ZpbGVyL2FwcGx5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2FwcGx5
Lmh0bWwKaW5kZXggOThkNDFhYjIzZWY0NWQ5OTI2YTFiOTc3ZTA4Y2M4M2FmYzEwMDg4OC4uYjgx
MTUxMDFkNmFmZWFhOTFkMTdjNGMxNDFhZDMxMGVjNGYzNzIzMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9wcm9maWxlci9hcHBseS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvYXBwbHkuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAg
IGludGVybmFscy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAg
ICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0
aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVy
L2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy1hbm9ueW1vdXMuaHRtbAppbmRleCAw
NWFlZDQ4MDU4ODk2M2M2ZjU5ZTBiOWU3ZThlNzEzZjY3NjFmMmQ3Li5iMGMyZjFjN2I3YTEzYmQ5
MWRjOTI3ZDliMmM4ZjVmZjVlNGM3MzZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3By
b2ZpbGVyL2J1aWx0LWluLWZ1bmN0aW9uLWNhbGxzLWFub255bW91cy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvcHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtYW5vbnltb3VzLmh0
bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0
TGVnYWN5SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNl
dEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3Qo
KQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5j
dGlvbi1jYWxscy11c2VyLWRlZmluZWQtZnVuY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
cHJvZmlsZXIvYnVpbHQtaW4tZnVuY3Rpb24tY2FsbHMtdXNlci1kZWZpbmVkLWZ1bmN0aW9uLmh0
bWwKaW5kZXggYzY2M2I2OTQyNDg2YzJmOTRkZWQyMjc2ZjE0M2E0MzhkY2VjNWQ3My4uMTBjN2Zh
YWIwYWEzZGI3YjM1ZTZiMjM3N2EzYjA4NGVhZTg2YzQwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9wcm9maWxlci9idWlsdC1pbi1mdW5jdGlvbi1jYWxscy11c2VyLWRlZmluZWQtZnVu
Y3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2J1aWx0LWluLWZ1bmN0
aW9uLWNhbGxzLXVzZXItZGVmaW5lZC1mdW5jdGlvbi5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldExlZ2FjeUphdmFTY3JpcHRQcm9maWxp
bmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5h
YmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvcHJvZmlsZXIvY2FsbC1yZWdpc3Rlci1sZWFrLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Byb2ZpbGVyL2NhbGwtcmVnaXN0ZXItbGVhay5odG1sCmluZGV4IDM2NmI0NDFiOWRi
OGVlN2JiZGE2OTVkMDU2ZWE2MzE2MjVmNTRkNWIuLmM0NGI5NDNkMWRhNWY1ODc1YjYxNjE5ZmIy
MTk4YjFlZmFkNzBhOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvY2Fs
bC1yZWdpc3Rlci1sZWFrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9jYWxs
LXJlZ2lzdGVyLWxlYWsuaHRtbApAQCAtNCw3ICs0LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQot
ICAgIGludGVybmFscy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsK
KyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1
bmN0aW9uIGxvZyhzKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9j
YWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2NhbGwuaHRtbAppbmRleCAyMTA1
YzdhMjk0NzRjODBmYTFmMDAyNWExMjNjZjgxN2I0YTQ3MTJkLi5lODI5MTFlMjI1ZGQ5ZTIyZGUw
ZmM1ZDM2NjgzN2RjOTlmYTBkMjcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL2NhbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2NhbGwuaHRtbApA
QCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXRMZWdh
Y3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2
YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2NhbGxpbmctdGhlLWZ1bmN0
aW9uLXRoYXQtc3RhcnRlZC10aGUtcHJvZmlsZXItZnJvbS1hbm90aGVyLXNjb3BlLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2NhbGxpbmctdGhlLWZ1bmN0aW9uLXRoYXQtc3RhcnRl
ZC10aGUtcHJvZmlsZXItZnJvbS1hbm90aGVyLXNjb3BlLmh0bWwKaW5kZXggNTc1NjdmMmMyMDRm
MDc4OWNkYjQ2YTUyNGE4YmQ2ZmI0YjBiYTJmMy4uMWIzOWMxZGExNzdiY2FlYTMxMjEzMDJlMWVi
ZWM2NjU2OTNjNjM1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9jYWxs
aW5nLXRoZS1mdW5jdGlvbi10aGF0LXN0YXJ0ZWQtdGhlLXByb2ZpbGVyLWZyb20tYW5vdGhlci1z
Y29wZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvY2FsbGluZy10aGUtZnVu
Y3Rpb24tdGhhdC1zdGFydGVkLXRoZS1wcm9maWxlci1mcm9tLWFub3RoZXItc2NvcGUuaHRtbApA
QCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXRMZWdh
Y3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2
YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2NvbXBhcmUtbXVsdGlwbGUt
cHJvZmlsZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvY29tcGFyZS1tdWx0aXBs
ZS1wcm9maWxlcy5odG1sCmluZGV4IGE2MDJiNDRiOWZmODBlYWI1NjQ2NGFhNTk5ZTAzNTlkZTU4
YjMyN2IuLjExMmM1NTMyMWQ3NWM4M2Y1NTk0ZjAxNjgwM2QxNjEzM2JkZjI2NTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvY29tcGFyZS1tdWx0aXBsZS1wcm9maWxlcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvY29tcGFyZS1tdWx0aXBsZS1wcm9m
aWxlcy5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJu
YWxzLnNldExlZ2FjeUphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVy
bmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogdmFyIGogPSAwOwog
ZnVuY3Rpb24gdGVzdChsZW4pIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmls
ZXIvY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvY29uc3RydWN0
b3IuaHRtbAppbmRleCBiYzYzOTA4MWIyNDgwMjI1MDY4MjAyOWViNTdkZDI0MTA4ODVlZGIxLi5k
N2U2YWYwNmFiNGJiMDU0ZTBiZjNkMzU4MTZkM2VkMzFiOGUyY2IzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2NvbnN0cnVjdG9yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9jb25zdHJ1Y3Rvci5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldExlZ2FjeUphdmFTY3JpcHRQcm9maWxpbmdFbmFi
bGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0
cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvcHJvZmlsZXIvZGVhZC10aW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVy
L2RlYWQtdGltZS5odG1sCmluZGV4IGE2NjRjZTAyZTQ2YTg0Nzg1ZGZkYTE5ZDRjMDI5Nzk2YmNl
M2FlNjUuLjVlMzc4YmI4ZGY2NDRjNTE0ZGM2MWZlNjQ0MzM5NzA3NDI3Y2MxMzcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvZGVhZC10aW1lLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9wcm9maWxlci9kZWFkLXRpbWUuaHRtbApAQCAtNyw3ICs3LDcgQEAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiB9CiBp
ZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0TGVnYWN5SmF2YVNjcmlwdFBy
b2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxp
bmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9kb2N1bWVudC1kb3Qtd3JpdGUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvcHJvZmlsZXIvZG9jdW1lbnQtZG90LXdyaXRlLmh0bWwKaW5kZXggYWY1NGY0
MGRhOTc0N2IxMDUyZDgyNmFkZGNhZTFhYTE2NDg1NGQ0My4uODMyZGVjNWJhM2Q3NzlmYzdjYjc5
M2RlNTc2Zjc5NjU4ZGY4ZjYxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxl
ci9kb2N1bWVudC1kb3Qtd3JpdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVy
L2RvY3VtZW50LWRvdC13cml0ZS5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCi0gICAgaW50ZXJuYWxzLnNldExlZ2FjeUphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRy
dWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsK
IAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
cHJvZmlsZXIvZXZlbnQtaGFuZGxlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9l
dmVudC1oYW5kbGVyLmh0bWwKaW5kZXggZjZhNDYxZDRlYzI2OWViNmQ4ZjhlYjQ3ODUyN2FkOTI4
N2UyZGZmNC4uMGQ5MTExMWZlYTdhMDVlZmMxNjdlYjY3ZjJiMWMwNGIzNzExYWMyNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9ldmVudC1oYW5kbGVyLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9ldmVudC1oYW5kbGVyLmh0bWwKQEAgLTUsNyArNSw3
IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0TGVnYWN5SmF2YVNjcmlw
dFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9m
aWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogeyAgICAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvZXhlY3V0aW9uLWNvbnRleHQtYW5kLWV2
YWwtb24tc2FtZS1saW5lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2V4ZWN1dGlv
bi1jb250ZXh0LWFuZC1ldmFsLW9uLXNhbWUtbGluZS5odG1sCmluZGV4IGE3NWIyOWEwN2UzNTU3
YTExNzZjNDVjOWQyY2JjNjFiODMxNTU0ODMuLjA5NWYwY2IxNjg5OTA2YmIzYjRhMmU5MjAyYjMx
NTU5N2I5ZThhN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvZXhlY3V0
aW9uLWNvbnRleHQtYW5kLWV2YWwtb24tc2FtZS1saW5lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9leGVjdXRpb24tY29udGV4dC1hbmQtZXZhbC1vbi1zYW1lLWxpbmUuaHRt
bApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXRM
ZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0
SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgp
CiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2lubGluZS1ldmVudC1o
YW5kbGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL2lubGluZS1ldmVudC1oYW5k
bGVyLmh0bWwKaW5kZXggNTAwMTQ2MzM2YTk5NzY3NjNiMDAxNDE5NDg1YzhjNWJlNDBkYTIyMS4u
ZWE3MTBiOTU0ZDRhNTY0NDVhYzdhMmY0NDVlMzg2ZDcxYmY0ZDBhOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9wcm9maWxlci9pbmxpbmUtZXZlbnQtaGFuZGxlci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvaW5saW5lLWV2ZW50LWhhbmRsZXIuaHRtbApAQCAtNSw3
ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXRMZWdhY3lKYXZh
U2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlw
dFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7ICAgIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tYW55LWNhbGxzLWluLXRoZS1z
YW1lLXNjb3BlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL21hbnktY2FsbHMtaW4t
dGhlLXNhbWUtc2NvcGUuaHRtbAppbmRleCAwNzE5YmNlMzEwNDI0NmRjMjAzYWY1MjllODllMGRk
MmNmMGNhOWQ0Li42NDgxNjBjNmIwNTQ5NzIwMjE3M2NiNWM1ZjM5Y2M2MDg2YWM3ODgxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL21hbnktY2FsbHMtaW4tdGhlLXNhbWUt
c2NvcGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL21hbnktY2FsbHMtaW4t
dGhlLXNhbWUtc2NvcGUuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQot
ICAgIGludGVybmFscy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsK
KyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1
bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL211bHRpcGxlLWFuZC1kaWZmZXJlbnQtc2NvcGVkLWFub255bW91cy1mdW5jdGlvbi1jYWxs
cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tdWx0aXBsZS1hbmQtZGlmZmVyZW50
LXNjb3BlZC1hbm9ueW1vdXMtZnVuY3Rpb24tY2FsbHMuaHRtbAppbmRleCBjMmQwMDVhYzVhNThk
MjIwNGQwNDkwY2QwNmFjODNjZTM5Y2NkOTJlLi5kZDFhNjNiMDJhZDY2OTQ4ZDNkNjE4NmY3ZTA3
M2UyZDA1YmIxYzU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRp
cGxlLWFuZC1kaWZmZXJlbnQtc2NvcGVkLWFub255bW91cy1mdW5jdGlvbi1jYWxscy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbXVsdGlwbGUtYW5kLWRpZmZlcmVudC1zY29w
ZWQtYW5vbnltb3VzLWZ1bmN0aW9uLWNhbGxzLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93
LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0TGVnYWN5SmF2YVNjcmlwdFByb2ZpbGluZ0Vu
YWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVk
KHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9wcm9maWxlci9tdWx0aXBsZS1hbmQtZGlmZmVyZW50LXNjb3BlZC1mdW5jdGlvbi1j
YWxscy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tdWx0aXBsZS1hbmQtZGlmZmVy
ZW50LXNjb3BlZC1mdW5jdGlvbi1jYWxscy5odG1sCmluZGV4IGZjMmUyMjFkMjMzMzk0NWU2MGVm
ZDI0MWNhNGI2OTg3OTg5NWY0MTUuLjkyOTU5N2M3YjM4Y2MwYmY3MTVjZjkzYjgyMTM2YmQzZGY1
NGVhNjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbXVsdGlwbGUtYW5k
LWRpZmZlcmVudC1zY29wZWQtZnVuY3Rpb24tY2FsbHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3Byb2ZpbGVyL211bHRpcGxlLWFuZC1kaWZmZXJlbnQtc2NvcGVkLWZ1bmN0aW9uLWNhbGxz
Lmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMu
c2V0TGVnYWN5SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxz
LnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRl
c3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9tdWx0aXBsZS1h
bm9ueW1vdXMtZnVuY3Rpb25zLWNhbGxlZC1mcm9tLXRoZS1zYW1lLWZ1bmN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxlLWFub255bW91cy1mdW5jdGlvbnMtY2Fs
bGVkLWZyb20tdGhlLXNhbWUtZnVuY3Rpb24uaHRtbAppbmRleCBmYjFjZjJkN2FkMDZjOWQ5NzZl
OTU1Mjg5ZmI4MWI3ZTFiMTFiNTNiLi45OWEyYTMzMjdhYWFiNmIwYjJmZjNlMTJkNmQ5ZmQ3Mjk5
ZjE5ZDVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxlLWFu
b255bW91cy1mdW5jdGlvbnMtY2FsbGVkLWZyb20tdGhlLXNhbWUtZnVuY3Rpb24uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxlLWFub255bW91cy1mdW5jdGlvbnMt
Y2FsbGVkLWZyb20tdGhlLXNhbWUtZnVuY3Rpb24uaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5n
RW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJs
ZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxlLWZyYW1lcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9wcm9maWxlci9tdWx0aXBsZS1mcmFtZXMuaHRtbAppbmRleCBkMWI0ZmY2ZTM0MWY1MjNlNTMz
YjM3OTg0NWNhMDk5NDM4MTJjZjliLi5lMTNjM2I1YTZiNmQxZjFhYTUwNDU0ZGU5NmU0YTlkYWVj
MjgzZjJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL211bHRpcGxlLWZy
YW1lcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbXVsdGlwbGUtZnJhbWVz
Lmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMu
c2V0TGVnYWN5SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxz
LnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRl
c3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9uYW1lZC1mdW5j
dGlvbnMtd2l0aC1kaXNwbGF5LW5hbWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVy
L25hbWVkLWZ1bmN0aW9ucy13aXRoLWRpc3BsYXktbmFtZXMuaHRtbAppbmRleCA3YWYyZWMwZDYx
YTRiZWRkY2RmMDdkMWYzYTQ4OGYxMjk3NWVhNTY3Li40YWZhY2FiZTQ5NDYwNzg5ODBmZTczZDFj
ZWI4OWJiMGIxOTZlYTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL25h
bWVkLWZ1bmN0aW9ucy13aXRoLWRpc3BsYXktbmFtZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3Byb2ZpbGVyL25hbWVkLWZ1bmN0aW9ucy13aXRoLWRpc3BsYXktbmFtZXMuaHRtbApAQCAt
NSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXRMZWdhY3lK
YXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNj
cmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGZ1bmN0aW9uMCgpCiB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL25lc3RlZC1hbm9ueW1vdXMtZnVu
Y3Rvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9uZXN0ZWQtYW5vbnltb3VzLWZ1
bmN0b24uaHRtbAppbmRleCBmNmI5MjVhMDVlZGMwMzI2YjdlN2Y0ZjgzNjM1NzU2MGEwMjlmMWY3
Li5lYzQ0YmU2Yjk1NTU0OTBlYmUxNzJhZDFkOWMyZGFmNWYzZTk1YTdjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL25lc3RlZC1hbm9ueW1vdXMtZnVuY3Rvbi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbmVzdGVkLWFub255bW91cy1mdW5jdG9uLmh0
bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0
TGVnYWN5SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNl
dEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBzdGFydFRlc3Qo
KQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9uZXN0ZWQtc3RhcnQt
YW5kLXN0b3AtcHJvZmlsZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvbmVzdGVk
LXN0YXJ0LWFuZC1zdG9wLXByb2ZpbGVyLmh0bWwKaW5kZXggMmU3ODcyM2JhZTYwODg3N2Y5N2U4
ZWVhODkwNDhiZjgzYzI2MTMwMC4uMDNlYTRhZTYxYjE2YjU2MmY3YjM5NDBhOTAwMDcxYTJmYmYw
YzU3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9uZXN0ZWQtc3RhcnQt
YW5kLXN0b3AtcHJvZmlsZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL25l
c3RlZC1zdGFydC1hbmQtc3RvcC1wcm9maWxlci5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldExlZ2FjeUphdmFTY3JpcHRQcm9maWxpbmdF
bmFibGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxl
ZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcHJvZmlsZXIvbm8tZXhlY3V0aW9uLWNvbnRleHQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvcHJvZmlsZXIvbm8tZXhlY3V0aW9uLWNvbnRleHQuaHRtbAppbmRleCAxOWM4NTM5N2M3
NmM5MTgyNDFhYjc4NDIxZjZiZmYyZWYwMzBiNTE2Li5hNDI1ZmUzNzk5OGZhMGRlMDRhZTk1MWVk
ZDNmOGEzMmExMmI0ODY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL25v
LWV4ZWN1dGlvbi1jb250ZXh0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9u
by1leGVjdXRpb24tY29udGV4dC5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCi0gICAgaW50ZXJuYWxzLnNldExlZ2FjeUphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRy
dWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsK
IDwvc2NyaXB0PgogPC9oZWFkPgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL29uZS1leGVjdXRpb24tY29udGV4dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxl
ci9vbmUtZXhlY3V0aW9uLWNvbnRleHQuaHRtbAppbmRleCBkNTVmODczNjkwMDg4NjdmMzNkMGJj
ZWZhYWE3ZDNlZjQ1MjQ2ZWJlLi5iYTI4MWFjM2QyODE1NTRlNGZhMGMwZjMxNmE0ZGQ4YjdhNWMz
YmU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL29uZS1leGVjdXRpb24t
Y29udGV4dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvb25lLWV4ZWN1dGlv
bi1jb250ZXh0Lmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiBpZiAod2luZG93LmludGVybmFscykKLSAgICBp
bnRlcm5hbHMuc2V0TGVnYWN5SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CisgICAg
aW50ZXJuYWxzLnNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlv
biBzdGFydFRlc3QoKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9w
cm9maWxlLWNhbGxzLWluLWluY2x1ZGVkLWZpbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcHJv
ZmlsZXIvcHJvZmlsZS1jYWxscy1pbi1pbmNsdWRlZC1maWxlLmh0bWwKaW5kZXggYWYwZjhmMmZl
ZTBjNTAzMzA2NDc4NGZkZWU1NGI2NWM1ZmY2YjJkNy4uMGY2MjcwODA4OGM4YWYyN2Y4ZGUyYTNl
NTQ1ZTUxODM1ZTlmM2FkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9w
cm9maWxlLWNhbGxzLWluLWluY2x1ZGVkLWZpbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL3Byb2ZpbGUtY2FsbHMtaW4taW5jbHVkZWQtZmlsZS5odG1sCkBAIC01LDcgKzUs
NyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldExlZ2FjeUphdmFTY3Jp
cHRQcm9maWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJv
ZmlsaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvcHJvZmlsZS13aXRoLW5vLXRpdGxlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3Byb2ZpbGUtd2l0aC1uby10aXRsZS5odG1sCmlu
ZGV4IGVhNTI1YmMwZWVjZmFmMWJhYWY3YTAwMWRlNjc2YTU3NGRmYTdhNWIuLjdiNWEzYTg1MTE3
Yzg4OGUyMDdkMGE1YTYyY2Q2NzMxYjJmYTRmYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvcHJvZmlsZXIvcHJvZmlsZS13aXRoLW5vLXRpdGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9wcm9maWxlLXdpdGgtbm8tdGl0bGUuaHRtbApAQCAtNSw3ICs1LDcgQEAK
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJv
ZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGlu
Z0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3Byb2ZpbGluZy1mcm9tLWEtbmVzdGVkLWxvY2F0aW9u
LWJ1dC1zdG9wLXByb2ZpbGluZy1vdXRzaWRlLXRoZS1uZXN0aW5nLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Byb2ZpbGVyL3Byb2ZpbGluZy1mcm9tLWEtbmVzdGVkLWxvY2F0aW9uLWJ1dC1zdG9w
LXByb2ZpbGluZy1vdXRzaWRlLXRoZS1uZXN0aW5nLmh0bWwKaW5kZXggNDhiNWY3N2ZmMTY1OWQx
NjI1ZmIzODdiMDE5MWJkNTljZjMzYWI2ZC4uY2ZiYjZlZmZhYWMxZjYxY2Q3NzNkNGJlOTYzM2E0
MDA3YmFkNWYxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9wcm9maWxp
bmctZnJvbS1hLW5lc3RlZC1sb2NhdGlvbi1idXQtc3RvcC1wcm9maWxpbmctb3V0c2lkZS10aGUt
bmVzdGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvcHJvZmlsaW5nLWZy
b20tYS1uZXN0ZWQtbG9jYXRpb24tYnV0LXN0b3AtcHJvZmlsaW5nLW91dHNpZGUtdGhlLW5lc3Rp
bmcuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFs
cy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5h
bHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0
VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3Byb2ZpbGlu
Zy1mcm9tLWEtbmVzdGVkLWxvY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVy
L3Byb2ZpbGluZy1mcm9tLWEtbmVzdGVkLWxvY2F0aW9uLmh0bWwKaW5kZXggMjgxZmQwMzQ1YTZj
NDk5NTBkZmJlNDE2YjIxNjc4ZDg1MDhlNTBhMS4uZTk0OGI4OWQyYzMyNTQzZWVkNjJlZGM2ZGM2
ZmFiMmZkMDkxYzk2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9wcm9m
aWxpbmctZnJvbS1hLW5lc3RlZC1sb2NhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cHJvZmlsZXIvcHJvZmlsaW5nLWZyb20tYS1uZXN0ZWQtbG9jYXRpb24uaHRtbApAQCAtNSw3ICs1
LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXRMZWdhY3lKYXZhU2Ny
aXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFBy
b2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3NpbXBsZS1ldmVudC1jYWxsLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3NpbXBsZS1ldmVudC1jYWxsLmh0bWwKaW5kZXggZDRi
ZGI1MDc1ZTc5OWEzYzI5NTY3N2FlMWY3N2RhN2NmOGYzNTY4ZC4uNWU0ZTA4NDYyMDNmNzNkNmRk
NjY1OTMzYjNiNDA2MzQyMTZlYjk3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9m
aWxlci9zaW1wbGUtZXZlbnQtY2FsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmls
ZXIvc2ltcGxlLWV2ZW50LWNhbGwuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQotICAgIGludGVybmFscy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0
cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7
CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Byb2ZpbGVyL3NpbXBsZS1uby1sZXZlbC1jaGFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
cHJvZmlsZXIvc2ltcGxlLW5vLWxldmVsLWNoYW5nZS5odG1sCmluZGV4IGEzNjJjODNiNjU1ODMw
ZWQ5N2Q3MmFiY2QxNDY3MGMwNjYzMDIwNDguLmFlMWI4Mzc2ODY1NzhmODVhNjMxMWU4NjgzMzE5
MjlhNDE1MzVmOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc2ltcGxl
LW5vLWxldmVsLWNoYW5nZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc2lt
cGxlLW5vLWxldmVsLWNoYW5nZS5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCi0gICAgaW50ZXJuYWxzLnNldExlZ2FjeUphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKHRy
dWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsK
IAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
cHJvZmlsZXIvc3RhcnQtYW5kLXN0b3AtcHJvZmlsZXItbXVsdGlwbGUtdGltZXMuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RhcnQtYW5kLXN0b3AtcHJvZmlsZXItbXVsdGlwbGUt
dGltZXMuaHRtbAppbmRleCAxNjlhNzYzZGMxNTk2YjA3OGUxYTViNGU0MWJlNDUyNjhkNzNmMmJi
Li4wYTRmNjhhZTVlY2ZmZWEwOTcyNmY1MDMzOTkyN2QxODA3MDdjZTlhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0YXJ0LWFuZC1zdG9wLXByb2ZpbGVyLW11bHRpcGxl
LXRpbWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9zdGFydC1hbmQtc3Rv
cC1wcm9maWxlci1tdWx0aXBsZS10aW1lcy5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldExlZ2FjeUphdmFTY3JpcHRQcm9maWxpbmdFbmFi
bGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0
cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvcHJvZmlsZXIvc3RhcnQtYW5kLXN0b3AtcHJvZmlsaW5nLWluLXRoZS1zYW1lLWZ1bmN0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0YXJ0LWFuZC1zdG9wLXByb2Zp
bGluZy1pbi10aGUtc2FtZS1mdW5jdGlvbi5odG1sCmluZGV4IDNlYzA3MzE0MGUxNTU2MDc2Y2Vl
NDVhMDY2NmYwNTkwZTFlNGY5MWYuLmVhZThkNGZhZDA1ZDdmNmRjZmZmNTVkZTQzYjg2NTliODdk
MzEyNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RhcnQtYW5kLXN0
b3AtcHJvZmlsaW5nLWluLXRoZS1zYW1lLWZ1bmN0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9wcm9maWxlci9zdGFydC1hbmQtc3RvcC1wcm9maWxpbmctaW4tdGhlLXNhbWUtZnVuY3Rp
b24uaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFs
cy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5h
bHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0
VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0YXJ0LWJ1
dC1kb250LXN0b3AtcHJvZmlsaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3N0
YXJ0LWJ1dC1kb250LXN0b3AtcHJvZmlsaW5nLmh0bWwKaW5kZXggNzEzNmQ3M2JlZTI1OTg0ODkw
ZDExODk2NDk1NWQzODkwYjdiMzE0ZC4uN2YxNjU2YjhmOTAzMWJkNjIxZTNmZDU5MWZlMWJjYjkw
YjljMDcxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9zdGFydC1idXQt
ZG9udC1zdG9wLXByb2ZpbGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIv
c3RhcnQtYnV0LWRvbnQtc3RvcC1wcm9maWxpbmcuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5n
RW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJs
ZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3Byb2ZpbGVyL3N0b3AtcHJvZmlsaW5nLWFmdGVyLXNldFRpbWVvdXQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RvcC1wcm9maWxpbmctYWZ0ZXItc2V0VGltZW91
dC5odG1sCmluZGV4IDE5ZmQ1OGViZGU1MWRkNDY0MzliYWQ3ZTBiODM4OGZjMWMxMjU3MzMuLmIx
YTA3MGNmZjUzNzNmNzk0OGRiOTQ2NWFiMTEzYzY2NDJjNmNkZDYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RvcC1wcm9maWxpbmctYWZ0ZXItc2V0VGltZW91dC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RvcC1wcm9maWxpbmctYWZ0ZXItc2V0
VGltZW91dC5odG1sCkBAIC03LDcgKzcsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIGlmICh3aW5kb3cuaW50ZXJuYWxzKQot
ICAgIGludGVybmFscy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsK
KyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1
bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL3N0b3AtdGhlbi1mdW5jdGlvbi1jYWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2Zp
bGVyL3N0b3AtdGhlbi1mdW5jdGlvbi1jYWxsLmh0bWwKaW5kZXggOTE2YTE5YWVjYTZiMTI1ZGJj
OGIxNzgyYTU3MDliMjg1ZTc2MGNmNy4uZjk0YTgyNTg2ZjBiMWUxNTQwZGI5N2NlMDMzNTM3Zjk0
YTg1ZGRmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci9zdG9wLXRoZW4t
ZnVuY3Rpb24tY2FsbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvc3RvcC10
aGVuLWZ1bmN0aW9uLWNhbGwuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQotICAgIGludGVybmFscy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVl
KTsKKyAgICBpbnRlcm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAK
IHZhciBqID0gMDsKIGZ1bmN0aW9uIHRlc3QobGVuKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3Byb2ZpbGVyL3Rocm93LWV4Y2VwdGlvbi1mcm9tLWV2YWwuaHRtbC1kaXNhYmxlZCBi
L0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvdGhyb3ctZXhjZXB0aW9uLWZyb20tZXZhbC5odG1s
LWRpc2FibGVkCmluZGV4IDg3ZWFjOWFkYWFhYzJmMmE3YWZjODEyNWE3MGMzMWM4ZjVkOTdjODQu
LjBiNTgxMDIwZDA3M2QwYmNjM2ZkYTgzZThlNGYzOTBmNmY2ODRmMmQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvdGhyb3ctZXhjZXB0aW9uLWZyb20tZXZhbC5odG1sLWRp
c2FibGVkCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvdGhyb3ctZXhjZXB0aW9uLWZy
b20tZXZhbC5odG1sLWRpc2FibGVkCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldExlZ2FjeUphdmFTY3JpcHRQcm9maWxpbmdFbmFi
bGVkKHRydWUpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5n
RW5hYmxlZCh0cnVlKTsKIAogY29uc29sZS5wcm9maWxlKCJUaHJvdyB3aXRoaW4gYW4gZXZhbC4i
KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci90d28tZXhlY3V0aW9u
LWNvbnRleHRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3R3by1leGVjdXRpb24t
Y29udGV4dHMuaHRtbAppbmRleCA2ODUxNjU1MDBhYTM5NjhkNWM1YjYyMjAwN2I2NjdlZGZkY2I3
NGJkLi41YjJlZDViM2FkYTMxM2FmNGQwMjgzODNmNGZjMmY5YmU4M2U2ODUyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3R3by1leGVjdXRpb24tY29udGV4dHMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3R3by1leGVjdXRpb24tY29udGV4dHMuaHRt
bApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXRM
ZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0
SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgp
CiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Byb2ZpbGVyL3VzZXItZGVmaW5lZC1m
dW5jdGlvbi1jYWxscy1idWlsdC1pbi1mdW5jdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
cHJvZmlsZXIvdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWNhbGxzLWJ1aWx0LWluLWZ1bmN0aW9ucy5o
dG1sCmluZGV4IGM3NTI3Yjc5NGM4NWYzN2NkYzJjZWQ3YjIyZjZjMWU0OThiODg0NWYuLjRmYTM5
NGU5ZjM4MGNhOTYzNGQ4ODgwNjMxMDQ0YTRhNTBjM2U2YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvcHJvZmlsZXIvdXNlci1kZWZpbmVkLWZ1bmN0aW9uLWNhbGxzLWJ1aWx0LWluLWZ1
bmN0aW9ucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvdXNlci1kZWZpbmVk
LWZ1bmN0aW9uLWNhbGxzLWJ1aWx0LWluLWZ1bmN0aW9ucy5odG1sCkBAIC01LDcgKzUsNyBAQAog
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldExlZ2FjeUphdmFTY3JpcHRQcm9m
aWxpbmdFbmFibGVkKHRydWUpOworICAgIGludGVybmFscy5zZXRKYXZhU2NyaXB0UHJvZmlsaW5n
RW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvd2luZG93LWRvdC1ldmFsLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Byb2ZpbGVyL3dpbmRvdy1kb3QtZXZhbC5odG1sCmluZGV4IDg3YTJiM2MyZjY3NTNi
OGEzNDRlMWQ0NTZkNDQ3YTY3OWRhOGViYjcuLjFmN2Q0YzM1MWQzZjUzNzllMTYxODZlNjA0NDI1
ZTkwYWYwNmY1MDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcHJvZmlsZXIvd2luZG93
LWRvdC1ldmFsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9wcm9maWxlci93aW5kb3ctZG90
LWV2YWwuaHRtbApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVy
bmFscy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpbnRl
cm5hbHMuc2V0SmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIHN0
YXJ0VGVzdCgpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc2FtcGxpbmct
cHJvZmlsZXIvZXZhbC1zb3VyY2UtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc2Ft
cGxpbmctcHJvZmlsZXIvZXZhbC1zb3VyY2UtdXJsLmh0bWwKaW5kZXggZmJlZDA0MGNkOGFhMzE0
NDMxZjU3ZjVkZDc0NmUyN2NmNjM4NzFkZi4uZTc1M2RmZDQxMjFiN2I2N2I1YzlkMjgyOWNjNGE1
OTQ0YWM3ZGQ1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3NhbXBsaW5nLXBy
b2ZpbGVyL2V2YWwtc291cmNlLXVybC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9z
YW1wbGluZy1wcm9maWxlci9ldmFsLXNvdXJjZS11cmwuaHRtbApAQCAtMjEsNyArMjEsOCBAQCBm
dW5jdGlvbiBmb28oKSB7CiBub0lubGluZShmb28pOwogCiBmdW5jdGlvbiBiYXIoKSB7Ci0gICAg
ZXZhbCgiLy8jIHNvdXJjZVVSTD1ldmFsLmpzXG5mb28oKTsiKTsKKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IDI7IGkrKykKKyAgICAgICAgZXZhbCgiLy8jIHNvdXJjZVVSTD1ldmFsLmpzXG5mb28o
KTsiKTsKIH0KIG5vSW5saW5lKGJhcik7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>