<?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>148347</bug_id>
          
          <creation_ts>2015-08-21 17:49:24 -0700</creation_ts>
          <short_desc>REGRESSION(r188792): broke lots of tests, ggaren is going to investigate and reland (Requested by thorton on #webkit).</short_desc>
          <delta_ts>2015-08-23 19:07:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>148280</blocked>
    
    <blocked>148341</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>ggaren</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1120017</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-21 17:49:24 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/188792 broke the build:
broke lots of tests, ggaren is going to investigate and reland (Requested by thorton 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>1120024</commentid>
    <comment_count>1</comment_count>
      <attachid>259690</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-21 17:49:55 -0700</bug_when>
    <thetext>Created attachment 259690
ROLLOUT of r188792

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>1120030</commentid>
    <comment_count>2</comment_count>
      <attachid>259690</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-21 17:54:06 -0700</bug_when>
    <thetext>Comment on attachment 259690
ROLLOUT of r188792

Clearing flags on attachment: 259690

Committed r188810: &lt;http://trac.webkit.org/changeset/188810&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120031</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-21 17:54:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120215</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-08-23 19:07:37 -0700</bug_when>
    <thetext>Committed r188846: &lt;http://trac.webkit.org/changeset/188846&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259690</attachid>
            <date>2015-08-21 17:49:55 -0700</date>
            <delta_ts>2015-08-21 17:54:06 -0700</delta_ts>
            <desc>ROLLOUT of r188792</desc>
            <filename>bug-148347-20150821174949.patch</filename>
            <type>text/plain</type>
            <size>27230</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4ODA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NTZhNWY0M2QzMGQ2MzQyNDMwNGFkNTc0OTg4YzRmZDAyZTQ4YjRkLi45MmYwNzAzMzQ2ZjE2YzUw
ZDIwNzhiNWUwYzY2MGIwOWEzMDBmYzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxNS0wOC0yMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE4ODc5MiBhbmQgcjE4
ODgwMy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
ODM0NworCisgICAgICAgIGJyb2tlIGxvdHMgb2YgdGVzdHMsIGdnYXJlbiBpcyBnb2luZyB0byBp
bnZlc3RpZ2F0ZSBhbmQgcmVsYW5kCisgICAgICAgIChSZXF1ZXN0ZWQgYnkgdGhvcnRvbiBvbiAj
d2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXRzOgorCisgICAgICAgICJVbmlm
eSBjb2RlIHBhdGhzIGZvciBtYW51YWxseSBkZWxldGluZyBhbGwgY29kZSIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODI4MAorICAgICAgICBodHRw
Oi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xODg3OTIKKworICAgICAgICAiRGVidWdnZXIn
cyBWTSBzaG91bGQgbmV2ZXIgYmUgbnVsbCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0ODM0MQorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xODg4MDMKKwogMjAxNS0wOC0yMSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5A
YXBwbGUuY29tPgogCiAgICAgICAgIERlYnVnZ2VyJ3MgVk0gc2hvdWxkIG5ldmVyIGJlIG51bGwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2ZDMxNzc5ZDRkYzczYTRiZGNlZjZmODY4YTI2MDQ3OThhMTQyMjcyLi45
ZDQzMTUzMzJlZDYyMzM2MjM1N2NhYzVjZTZkZmVhNTdhMTg5OTVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjEgQEAKKzIwMTUtMDgtMjEgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJr
aXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxODg3OTIgYW5kIHIx
ODg4MDMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDgzNDcKKworICAgICAgICBicm9rZSBsb3RzIG9mIHRlc3RzLCBnZ2FyZW4gaXMgZ29pbmcgdG8g
aW52ZXN0aWdhdGUgYW5kIHJlbGFuZAorICAgICAgICAoUmVxdWVzdGVkIGJ5IHRob3J0b24gb24g
I3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0czoKKworICAgICAgICAiVW5p
ZnkgY29kZSBwYXRocyBmb3IgbWFudWFsbHkgZGVsZXRpbmcgYWxsIGNvZGUiCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDgyODAKKyAgICAgICAgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTg4NzkyCisKKyAgICAgICAgIkRlYnVnZ2Vy
J3MgVk0gc2hvdWxkIG5ldmVyIGJlIG51bGwiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDgzNDEKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvMTg4ODAzCisKIDIwMTUtMDgtMjEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVu
QGFwcGxlLmNvbT4KIAogICAgICAgICBEZWJ1Z2dlcidzIFZNIHNob3VsZCBuZXZlciBiZSBudWxs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKaW5kZXggMGMxNjgzZjA2YjlkY2I5MjcxZDYxNmIxZDg3YWM0NjM2ZjBh
OTFhYS4uMmJiNDU5ZmFmOTkzZjJiZjYxNGYwYmNiZTQ3ODM5ZjZkNDY5NjkxNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA4LTIxICBDb21taXQgUXVldWUgIDxjb21t
aXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
MTg4NzkyIGFuZCByMTg4ODAzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ4MzQ3CisKKyAgICAgICAgYnJva2UgbG90cyBvZiB0ZXN0cywgZ2dhcmVu
IGlzIGdvaW5nIHRvIGludmVzdGlnYXRlIGFuZCByZWxhbmQKKyAgICAgICAgKFJlcXVlc3RlZCBi
eSB0aG9ydG9uIG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldHM6CisK
KyAgICAgICAgIlVuaWZ5IGNvZGUgcGF0aHMgZm9yIG1hbnVhbGx5IGRlbGV0aW5nIGFsbCBjb2Rl
IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4Mjgw
CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE4ODc5MgorCisgICAg
ICAgICJEZWJ1Z2dlcidzIFZNIHNob3VsZCBuZXZlciBiZSBudWxsIgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4MzQxCisgICAgICAgIGh0dHA6Ly90
cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE4ODgwMworCiAyMDE1LTA4LTIxICBBbmRlcnMgQ2Fy
bHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IHJpZCBvZiB1c2VzIG9m
IHRoZSBvbGQgY2FsbE9uTWFpblRocmVhZCBmdW5jdGlvbiB0aGF0IHRha2VzIGEgZnVuY3Rpb24g
cHRyICsgY29udGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2Vy
L0RlYnVnZ2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlci5j
cHAKaW5kZXggOTQ2MDU1MjI4MWFlNTA3MWM5NmMxYjVhZWZhZjEyYzViNGIzZWFjMS4uZDBjZDc5
ZDgzYzUwNmUwMTJjMjQ5MmY3MTQ0MDU4YjhjNzIzYmJiYiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGVidWdnZXIvRGVidWdnZXIuY3BwCkBAIC0zNSw2ICszNSw3MiBAQAogI2luY2x1ZGUg
IlByb3RlY3QuaCIKICNpbmNsdWRlICJWTUVudHJ5U2NvcGUuaCIKIAorbmFtZXNwYWNlIHsKKwor
dXNpbmcgbmFtZXNwYWNlIEpTQzsKKworY2xhc3MgUmVjb21waWxlciA6IHB1YmxpYyBNYXJrZWRC
bG9jazo6Vm9pZEZ1bmN0b3IgeworcHVibGljOgorICAgIFJlY29tcGlsZXIoSlNDOjpEZWJ1Z2dl
ciopOworICAgIH5SZWNvbXBpbGVyKCk7CisgICAgSXRlcmF0aW9uU3RhdHVzIG9wZXJhdG9yKCko
SlNDZWxsKik7CisKK3ByaXZhdGU6CisgICAgdHlwZWRlZiBIYXNoU2V0PEZ1bmN0aW9uRXhlY3V0
YWJsZSo+IEZ1bmN0aW9uRXhlY3V0YWJsZVNldDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8U291cmNl
UHJvdmlkZXIqLCBFeGVjU3RhdGUqPiBTb3VyY2VQcm92aWRlck1hcDsKKyAgICAKKyAgICB2b2lk
IHZpc2l0KEpTQ2VsbCopOworICAgIAorICAgIEpTQzo6RGVidWdnZXIqIG1fZGVidWdnZXI7Cisg
ICAgRnVuY3Rpb25FeGVjdXRhYmxlU2V0IG1fZnVuY3Rpb25FeGVjdXRhYmxlczsKKyAgICBTb3Vy
Y2VQcm92aWRlck1hcCBtX3NvdXJjZVByb3ZpZGVyczsKK307CisKK2lubGluZSBSZWNvbXBpbGVy
OjpSZWNvbXBpbGVyKEpTQzo6RGVidWdnZXIqIGRlYnVnZ2VyKQorICAgIDogbV9kZWJ1Z2dlcihk
ZWJ1Z2dlcikKK3sKK30KKworaW5saW5lIFJlY29tcGlsZXI6On5SZWNvbXBpbGVyKCkKK3sKKyAg
ICAvLyBDYWxsIHNvdXJjZVBhcnNlZCgpIGFmdGVyIHJlcGFyc2luZyBhbGwgZnVuY3Rpb25zIGJl
Y2F1c2UgaXQgd2lsbCBleGVjdXRlCisgICAgLy8gSmF2YVNjcmlwdCBpbiB0aGUgaW5zcGVjdG9y
LgorICAgIFNvdXJjZVByb3ZpZGVyTWFwOjpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3NvdXJjZVBy
b3ZpZGVycy5lbmQoKTsKKyAgICBmb3IgKFNvdXJjZVByb3ZpZGVyTWFwOjpjb25zdF9pdGVyYXRv
ciBpdGVyID0gbV9zb3VyY2VQcm92aWRlcnMuYmVnaW4oKTsgaXRlciAhPSBlbmQ7ICsraXRlcikK
KyAgICAgICAgbV9kZWJ1Z2dlci0+c291cmNlUGFyc2VkKGl0ZXItPnZhbHVlLCBpdGVyLT5rZXks
IC0xLCBTdHJpbmcoKSk7Cit9CisKK2lubGluZSB2b2lkIFJlY29tcGlsZXI6OnZpc2l0KEpTQ2Vs
bCogY2VsbCkKK3sKKyAgICBpZiAoIWNlbGwtPmluaGVyaXRzKEpTRnVuY3Rpb246OmluZm8oKSkp
CisgICAgICAgIHJldHVybjsKKworICAgIEpTRnVuY3Rpb24qIGZ1bmN0aW9uID0ganNDYXN0PEpT
RnVuY3Rpb24qPihjZWxsKTsKKyAgICBpZiAoZnVuY3Rpb24tPmV4ZWN1dGFibGUoKS0+aXNIb3N0
RnVuY3Rpb24oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBl
eGVjdXRhYmxlID0gZnVuY3Rpb24tPmpzRXhlY3V0YWJsZSgpOworCisgICAgLy8gQ2hlY2sgaWYg
dGhlIGZ1bmN0aW9uIGlzIGFscmVhZHkgaW4gdGhlIHNldCAtIGlmIHNvLAorICAgIC8vIHdlJ3Zl
IGFscmVhZHkgcmV0cmFuc2xhdGVkIGl0LCBub3RoaW5nIHRvIGRvIGhlcmUuCisgICAgaWYgKCFt
X2Z1bmN0aW9uRXhlY3V0YWJsZXMuYWRkKGV4ZWN1dGFibGUpLmlzTmV3RW50cnkpCisgICAgICAg
IHJldHVybjsKKworICAgIEV4ZWNTdGF0ZSogZXhlYyA9IGZ1bmN0aW9uLT5zY29wZSgpLT5nbG9i
YWxPYmplY3QoKS0+SlNHbG9iYWxPYmplY3Q6Omdsb2JhbEV4ZWMoKTsKKyAgICBleGVjdXRhYmxl
LT5jbGVhckNvZGUoKTsKKyAgICBleGVjdXRhYmxlLT5jbGVhclVubGlua2VkQ29kZUZvclJlY29t
cGlsYXRpb24oKTsKKyAgICBpZiAobV9kZWJ1Z2dlciA9PSBmdW5jdGlvbi0+c2NvcGUoKS0+Z2xv
YmFsT2JqZWN0KCktPmRlYnVnZ2VyKCkpCisgICAgICAgIG1fc291cmNlUHJvdmlkZXJzLmFkZChl
eGVjdXRhYmxlLT5zb3VyY2UoKS5wcm92aWRlcigpLCBleGVjKTsKK30KKworaW5saW5lIEl0ZXJh
dGlvblN0YXR1cyBSZWNvbXBpbGVyOjpvcGVyYXRvcigpKEpTQ2VsbCogY2VsbCkKK3sKKyAgICB2
aXNpdChjZWxsKTsKKyAgICByZXR1cm4gSXRlcmF0aW9uU3RhdHVzOjpDb250aW51ZTsKK30KKwor
fSAvLyBuYW1lc3BhY2UKKwogbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIERlYnVnZ2VyUGF1c2Vk
U2NvcGUgewpAQCAtNzksOCArMTQ1LDggQEAgcHJpdmF0ZToKICAgICBEZWJ1Z2dlciYgbV9kZWJ1
Z2dlcjsKIH07CiAKLURlYnVnZ2VyOjpEZWJ1Z2dlcihWTSYgdm0sIGJvb2wgaXNJbldvcmtlclRo
cmVhZCkKLSAgICA6IG1fdm0odm0pCitEZWJ1Z2dlcjo6RGVidWdnZXIoYm9vbCBpc0luV29ya2Vy
VGhyZWFkKQorICAgIDogbV92bShudWxscHRyKQogICAgICwgbV9wYXVzZU9uRXhjZXB0aW9uc1N0
YXRlKERvbnRQYXVzZU9uRXhjZXB0aW9ucykKICAgICAsIG1fcGF1c2VPbk5leHRTdGF0ZW1lbnQo
ZmFsc2UpCiAgICAgLCBtX2lzUGF1c2VkKGZhbHNlKQpAQCAtMTA4LDE3ICsxNzQsMTIgQEAgRGVi
dWdnZXI6On5EZWJ1Z2dlcigpCiB2b2lkIERlYnVnZ2VyOjphdHRhY2goSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKIHsKICAgICBBU1NFUlQoIWdsb2JhbE9iamVjdC0+ZGVidWdnZXIoKSk7
CisgICAgaWYgKCFtX3ZtKQorICAgICAgICBtX3ZtID0gJmdsb2JhbE9iamVjdC0+dm0oKTsKKyAg
ICBlbHNlCisgICAgICAgIEFTU0VSVChtX3ZtID09ICZnbG9iYWxPYmplY3QtPnZtKCkpOwogICAg
IGdsb2JhbE9iamVjdC0+c2V0RGVidWdnZXIodGhpcyk7CiAgICAgbV9nbG9iYWxPYmplY3RzLmFk
ZChnbG9iYWxPYmplY3QpOwotCi0gICAgLy8gQ2FsbCBzb3VyY2VQYXJzZWQoKSBiZWNhdXNlIGl0
IHdpbGwgZXhlY3V0ZSBKYXZhU2NyaXB0IGluIHRoZSBpbnNwZWN0b3IuCi0gICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBtX3ZtLmhlYXAuY29tcGlsZWRDb2RlKCkuc2l6ZSgpOyArK2kpIHsKLSAg
ICAgICAgRXhlY3V0YWJsZUJhc2UqIGJhc2UgPSBtX3ZtLmhlYXAuY29tcGlsZWRDb2RlKClbaV07
Ci0gICAgICAgIGlmICghYmFzZS0+aXNGdW5jdGlvbkV4ZWN1dGFibGUoKSkKLSAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBzdGF0
aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihiYXNlKTsKLSAgICAgICAgc291cmNlUGFyc2Vk
KGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpLCBleGVjdXRhYmxlLT5zb3VyY2UoKS5wcm92aWRl
cigpLCAtMSwgU3RyaW5nKCkpOwotICAgIH0KIH0KIAogdm9pZCBEZWJ1Z2dlcjo6ZGV0YWNoKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlYXNvbkZvckRldGFjaCByZWFzb24pCkBAIC0x
NDIsNiArMjAzLDggQEAgdm9pZCBEZWJ1Z2dlcjo6ZGV0YWNoKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFJlYXNvbkZvckRldGFjaCByZWFzb24pCiAgICAgICAgIGNsZWFyRGVidWdnZXJS
ZXF1ZXN0cyhnbG9iYWxPYmplY3QpOwogCiAgICAgZ2xvYmFsT2JqZWN0LT5zZXREZWJ1Z2dlcigw
KTsKKyAgICBpZiAoIW1fZ2xvYmFsT2JqZWN0cy5zaXplKCkpCisgICAgICAgIG1fdm0gPSBudWxs
cHRyOwogfQogCiBib29sIERlYnVnZ2VyOjppc0F0dGFjaGVkKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCkBAIC0xNzUsMTIgKzIzOCwxMiBAQCBwcml2YXRlOgogCiB2b2lkIERlYnVnZ2Vy
OjpzZXRTdGVwcGluZ01vZGUoU3RlcHBpbmdNb2RlIG1vZGUpCiB7Ci0gICAgaWYgKG1vZGUgPT0g
bV9zdGVwcGluZ01vZGUpCisgICAgaWYgKG1vZGUgPT0gbV9zdGVwcGluZ01vZGUgfHwgIW1fdm0p
CiAgICAgICAgIHJldHVybjsKIAogICAgIG1fc3RlcHBpbmdNb2RlID0gbW9kZTsKICAgICBTZXRT
dGVwcGluZ01vZGVGdW5jdG9yIGZ1bmN0b3IodGhpcywgbW9kZSk7Ci0gICAgbV92bS5oZWFwLmZv
ckVhY2hDb2RlQmxvY2soZnVuY3Rvcik7CisgICAgbV92bS0+aGVhcC5mb3JFYWNoQ29kZUJsb2Nr
KGZ1bmN0b3IpOwogfQogCiB2b2lkIERlYnVnZ2VyOjpyZWdpc3RlckNvZGVCbG9jayhDb2RlQmxv
Y2sqIGNvZGVCbG9jaykKQEAgLTI2NSwxMyArMzI4LDM0IEBAIHByaXZhdGU6CiAKIHZvaWQgRGVi
dWdnZXI6OnRvZ2dsZUJyZWFrcG9pbnQoQnJlYWtwb2ludCYgYnJlYWtwb2ludCwgRGVidWdnZXI6
OkJyZWFrcG9pbnRTdGF0ZSBlbmFibGVkT3JOb3QpCiB7CisgICAgaWYgKCFtX3ZtKQorICAgICAg
ICByZXR1cm47CiAgICAgVG9nZ2xlQnJlYWtwb2ludEZ1bmN0b3IgZnVuY3Rvcih0aGlzLCBicmVh
a3BvaW50LCBlbmFibGVkT3JOb3QpOwotICAgIG1fdm0uaGVhcC5mb3JFYWNoQ29kZUJsb2NrKGZ1
bmN0b3IpOworICAgIG1fdm0tPmhlYXAuZm9yRWFjaENvZGVCbG9jayhmdW5jdG9yKTsKIH0KIAot
dm9pZCBEZWJ1Z2dlcjo6cmVjb21waWxlQWxsSlNGdW5jdGlvbnMoKQordm9pZCBEZWJ1Z2dlcjo6
cmVjb21waWxlQWxsSlNGdW5jdGlvbnMoVk0qIHZtKQogewotICAgIG1fdm0uZGVsZXRlQWxsQ29k
ZSgpOworICAgIC8vIElmIEphdmFTY3JpcHQgaXMgcnVubmluZywgaXQncyBub3Qgc2FmZSB0byBy
ZWNvbXBpbGUsIHNpbmNlIHdlJ2xsIGVuZAorICAgIC8vIHVwIHRocm93aW5nIGF3YXkgY29kZSB0
aGF0IGlzIGxpdmUgb24gdGhlIHN0YWNrLgorICAgIGlmICh2bS0+ZW50cnlTY29wZSkgeworICAg
ICAgICBhdXRvIGxpc3RlbmVyID0gW10gKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkgCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChEZWJ1Z2dlciogZGVidWdnZXIgPSBn
bG9iYWxPYmplY3QtPmRlYnVnZ2VyKCkpCisgICAgICAgICAgICAgICAgZGVidWdnZXItPnJlY29t
cGlsZUFsbEpTRnVuY3Rpb25zKCZ2bSk7CisgICAgICAgIH07CisKKyAgICAgICAgdm0tPmVudHJ5
U2NvcGUtPnNldEVudHJ5U2NvcGVEaWRQb3BMaXN0ZW5lcih0aGlzLCBsaXN0ZW5lcik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyNpZiBFTkFCTEUoREZHX0pJVCkKKyAgICBERkc6OmNvbXBs
ZXRlQWxsUGxhbnNGb3JWTSgqdm0pOworI2VuZGlmCisKKyAgICBSZWNvbXBpbGVyIHJlY29tcGls
ZXIodGhpcyk7CisgICAgSGVhcEl0ZXJhdGlvblNjb3BlIGl0ZXJhdGlvblNjb3BlKHZtLT5oZWFw
KTsKKyAgICB2bS0+aGVhcC5vYmplY3RTcGFjZSgpLmZvckVhY2hMaXZlQ2VsbChpdGVyYXRpb25T
Y29wZSwgcmVjb21waWxlcik7CiB9CiAKIEJyZWFrcG9pbnRJRCBEZWJ1Z2dlcjo6c2V0QnJlYWtw
b2ludChCcmVha3BvaW50IGJyZWFrcG9pbnQsIHVuc2lnbmVkJiBhY3R1YWxMaW5lLCB1bnNpZ25l
ZCYgYWN0dWFsQ29sdW1uKQpAQCAtNDM2LDggKzUyMCwxMCBAQCB2b2lkIERlYnVnZ2VyOjpjbGVh
ckJyZWFrcG9pbnRzKCkKICAgICBtX2JyZWFrcG9pbnRJRFRvQnJlYWtwb2ludC5jbGVhcigpOwog
ICAgIG1fc291cmNlSURUb0JyZWFrcG9pbnRzLmNsZWFyKCk7CiAKKyAgICBpZiAoIW1fdm0pCisg
ICAgICAgIHJldHVybjsKICAgICBDbGVhckNvZGVCbG9ja0RlYnVnZ2VyUmVxdWVzdHNGdW5jdG9y
IGZ1bmN0b3IodGhpcyk7Ci0gICAgbV92bS5oZWFwLmZvckVhY2hDb2RlQmxvY2soZnVuY3Rvcik7
CisgICAgbV92bS0+aGVhcC5mb3JFYWNoQ29kZUJsb2NrKGZ1bmN0b3IpOwogfQogCiBjbGFzcyBE
ZWJ1Z2dlcjo6Q2xlYXJEZWJ1Z2dlclJlcXVlc3RzRnVuY3RvciB7CkBAIC00NjAsOCArNTQ2LDkg
QEAgcHJpdmF0ZToKIAogdm9pZCBEZWJ1Z2dlcjo6Y2xlYXJEZWJ1Z2dlclJlcXVlc3RzKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7CisgICAgQVNTRVJUKG1fdm0pOwogICAgIENsZWFy
RGVidWdnZXJSZXF1ZXN0c0Z1bmN0b3IgZnVuY3RvcihnbG9iYWxPYmplY3QpOwotICAgIG1fdm0u
aGVhcC5mb3JFYWNoQ29kZUJsb2NrKGZ1bmN0b3IpOworICAgIG1fdm0tPmhlYXAuZm9yRWFjaENv
ZGVCbG9jayhmdW5jdG9yKTsKIH0KIAogdm9pZCBEZWJ1Z2dlcjo6c2V0QnJlYWtwb2ludHNBY3Rp
dmF0ZWQoYm9vbCBhY3RpdmF0ZWQpCkBAIC00ODgsNyArNTc1LDcgQEAgdm9pZCBEZWJ1Z2dlcjo6
YnJlYWtQcm9ncmFtKCkKIAogICAgIG1fcGF1c2VPbk5leHRTdGF0ZW1lbnQgPSB0cnVlOwogICAg
IHNldFN0ZXBwaW5nTW9kZShTdGVwcGluZ01vZGVFbmFibGVkKTsKLSAgICBtX2N1cnJlbnRDYWxs
RnJhbWUgPSBtX3ZtLnRvcENhbGxGcmFtZTsKKyAgICBtX2N1cnJlbnRDYWxsRnJhbWUgPSBtX3Zt
LT50b3BDYWxsRnJhbWU7CiAgICAgQVNTRVJUKG1fY3VycmVudENhbGxGcmFtZSk7CiAgICAgcGF1
c2VJZk5lZWRlZChtX2N1cnJlbnRDYWxsRnJhbWUpOwogfQpAQCAtNTI2LDcgKzYxMyw3IEBAIHZv
aWQgRGVidWdnZXI6OnN0ZXBPdXRPZkZ1bmN0aW9uKCkKICAgICBpZiAoIW1faXNQYXVzZWQpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIFZNRW50cnlGcmFtZSogdG9wVk1FbnRyeUZyYW1lID0gbV92
bS50b3BWTUVudHJ5RnJhbWU7CisgICAgVk1FbnRyeUZyYW1lKiB0b3BWTUVudHJ5RnJhbWUgPSBt
X3ZtLT50b3BWTUVudHJ5RnJhbWU7CiAgICAgbV9wYXVzZU9uQ2FsbEZyYW1lID0gbV9jdXJyZW50
Q2FsbEZyYW1lID8gbV9jdXJyZW50Q2FsbEZyYW1lLT5jYWxsZXJGcmFtZSh0b3BWTUVudHJ5RnJh
bWUpIDogMDsKICAgICBub3RpZnlEb25lUHJvY2Vzc2luZ0RlYnVnZ2VyRXZlbnRzKCk7CiB9CkBA
IC02NTAsMTEgKzczNywxMSBAQCB2b2lkIERlYnVnZ2VyOjpyZXR1cm5FdmVudChDYWxsRnJhbWUq
IGNhbGxGcmFtZSkKIAogICAgIC8vIFRyZWF0IHN0ZXBwaW5nIG92ZXIgYSByZXR1cm4gc3RhdGVt
ZW50IGxpa2Ugc3RlcHBpbmcgb3V0LgogICAgIGlmIChtX2N1cnJlbnRDYWxsRnJhbWUgPT0gbV9w
YXVzZU9uQ2FsbEZyYW1lKSB7Ci0gICAgICAgIFZNRW50cnlGcmFtZSogdG9wVk1FbnRyeUZyYW1l
ID0gbV92bS50b3BWTUVudHJ5RnJhbWU7CisgICAgICAgIFZNRW50cnlGcmFtZSogdG9wVk1FbnRy
eUZyYW1lID0gbV92bS0+dG9wVk1FbnRyeUZyYW1lOwogICAgICAgICBtX3BhdXNlT25DYWxsRnJh
bWUgPSBtX2N1cnJlbnRDYWxsRnJhbWUtPmNhbGxlckZyYW1lKHRvcFZNRW50cnlGcmFtZSk7CiAg
ICAgfQogCi0gICAgVk1FbnRyeUZyYW1lKiB0b3BWTUVudHJ5RnJhbWUgPSBtX3ZtLnRvcFZNRW50
cnlGcmFtZTsKKyAgICBWTUVudHJ5RnJhbWUqIHRvcFZNRW50cnlGcmFtZSA9IG1fdm0tPnRvcFZN
RW50cnlGcmFtZTsKICAgICBtX2N1cnJlbnRDYWxsRnJhbWUgPSBtX2N1cnJlbnRDYWxsRnJhbWUt
PmNhbGxlckZyYW1lKHRvcFZNRW50cnlGcmFtZSk7CiB9CiAKQEAgLTY4NSwxMiArNzcyLDEyIEBA
IHZvaWQgRGVidWdnZXI6OmRpZEV4ZWN1dGVQcm9ncmFtKENhbGxGcmFtZSogY2FsbEZyYW1lKQog
ICAgIGlmICghbV9jdXJyZW50Q2FsbEZyYW1lKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKG1f
Y3VycmVudENhbGxGcmFtZSA9PSBtX3BhdXNlT25DYWxsRnJhbWUpIHsKLSAgICAgICAgVk1FbnRy
eUZyYW1lKiB0b3BWTUVudHJ5RnJhbWUgPSBtX3ZtLnRvcFZNRW50cnlGcmFtZTsKKyAgICAgICAg
Vk1FbnRyeUZyYW1lKiB0b3BWTUVudHJ5RnJhbWUgPSBtX3ZtLT50b3BWTUVudHJ5RnJhbWU7CiAg
ICAgICAgIG1fcGF1c2VPbkNhbGxGcmFtZSA9IG1fY3VycmVudENhbGxGcmFtZS0+Y2FsbGVyRnJh
bWUodG9wVk1FbnRyeUZyYW1lKTsKICAgICAgICAgaWYgKCFtX2N1cnJlbnRDYWxsRnJhbWUpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgfQotICAgIFZNRW50cnlGcmFtZSogdG9wVk1FbnRyeUZy
YW1lID0gbV92bS50b3BWTUVudHJ5RnJhbWU7CisgICAgVk1FbnRyeUZyYW1lKiB0b3BWTUVudHJ5
RnJhbWUgPSBtX3ZtLT50b3BWTUVudHJ5RnJhbWU7CiAgICAgbV9jdXJyZW50Q2FsbEZyYW1lID0g
bV9jdXJyZW50Q2FsbEZyYW1lLT5jYWxsZXJGcmFtZSh0b3BWTUVudHJ5RnJhbWUpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlci5oCmluZGV4IGI3NTNkMjNmMzkx
N2NiYzdmZjY0YWExZjYyMTAxMzY1OWI3NzZmMDIuLmU4Y2U4ZjE4ZmE3NmU1MjNkNTY5MmY5OTIw
Yjk2NGRhMDk0ODkwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dl
ci9EZWJ1Z2dlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dl
ci5oCkBAIC00NCwxMSArNDQsOSBAQCB0eXBlZGVmIEV4ZWNTdGF0ZSBDYWxsRnJhbWU7CiAKIGNs
YXNzIEpTX0VYUE9SVF9QUklWQVRFIERlYnVnZ2VyIHsKIHB1YmxpYzoKLSAgICBEZWJ1Z2dlcihW
TSYsIGJvb2wgaXNJbldvcmtlclRocmVhZCA9IGZhbHNlKTsKKyAgICBEZWJ1Z2dlcihib29sIGlz
SW5Xb3JrZXJUaHJlYWQgPSBmYWxzZSk7CiAgICAgdmlydHVhbCB+RGVidWdnZXIoKTsKIAotICAg
IFZNJiB2bSgpIHsgcmV0dXJuIG1fdm07IH0KLQogICAgIEpTQzo6RGVidWdnZXJDYWxsRnJhbWUq
IGN1cnJlbnREZWJ1Z2dlckNhbGxGcmFtZSgpIGNvbnN0OwogICAgIGJvb2wgaGFzSGFuZGxlckZv
ckV4Y2VwdGlvbkNhbGxiYWNrKCkgY29uc3QKICAgICB7CkBAIC0xMjAsNyArMTE4LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgZGlkRXhlY3V0ZVByb2dyYW0oQ2FsbEZyYW1lKik7CiAgICAgdm9pZCBk
aWRSZWFjaEJyZWFrcG9pbnQoQ2FsbEZyYW1lKik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVjb21w
aWxlQWxsSlNGdW5jdGlvbnMoKTsKKyAgICB2b2lkIHJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKFZN
Kik7CiAKICAgICB2b2lkIHJlZ2lzdGVyQ29kZUJsb2NrKENvZGVCbG9jayopOwogCkBAIC0xODcs
NyArMTg1LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY2xlYXJEZWJ1Z2dlclJlcXVlc3RzKEpT
R2xvYmFsT2JqZWN0Kik7CiAKLSAgICBWTSYgbV92bTsKKyAgICBWTSogbV92bTsKICAgICBIYXNo
U2V0PEpTR2xvYmFsT2JqZWN0Kj4gbV9nbG9iYWxPYmplY3RzOwogCiAgICAgUGF1c2VPbkV4Y2Vw
dGlvbnNTdGF0ZSBtX3BhdXNlT25FeGNlcHRpb25zU3RhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9I
ZWFwLmgKaW5kZXggM2Y1MTZkNzlmNmJlM2ViNWI4MWU0ZDNjYmU2NGVjYmY4YmViOGMyZi4uOWNi
ZWJkY2I1ZmY4YmRjNDE0MWI3YzE3ZjA3NDFkZTE1ZGZhMDFhZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0hlYXAuaApAQCAtMjM3LDggKzIzNyw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkTG9n
aWNhbGx5RW1wdHlXZWFrQmxvY2soV2Vha0Jsb2NrKik7CiAKLSAgICBWZWN0b3I8RXhlY3V0YWJs
ZUJhc2UqPiYgY29tcGlsZWRDb2RlKCkgeyByZXR1cm4gbV9jb21waWxlZENvZGU7IH0KLQogcHJp
dmF0ZToKICAgICBmcmllbmQgY2xhc3MgQ29kZUJsb2NrOwogICAgIGZyaWVuZCBjbGFzcyBDb3Bp
ZWRCbG9jazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNH
bG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXIuY3BwCmluZGV4IDliMjU1
YmI0NDc1YTg1MzRjNzZlNGUxZmMwNTBhZTQ4ZmEzYWM1OTEuLjBlOTY4ZjczMDU1MjQ0ZWVhMTQy
Nzk3ZmM3MTA0NDU5ODZlMjJmMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVy
LmNwcApAQCAtMzUsNyArMzUsNyBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogbmFtZXNwYWNlIElu
c3BlY3RvciB7CiAKIEpTR2xvYmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXI6OkpTR2xvYmFsT2Jq
ZWN0U2NyaXB0RGVidWdTZXJ2ZXIoSlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLSAgICA6
IFNjcmlwdERlYnVnU2VydmVyKGdsb2JhbE9iamVjdC52bSgpLCBmYWxzZSkKKyAgICA6IFNjcmlw
dERlYnVnU2VydmVyKGZhbHNlKQogICAgICwgbV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQog
ewogfQpAQCAtNzAsNiArNzAsMTEgQEAgdm9pZCBKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2Vy
dmVyOjpyZW1vdmVMaXN0ZW5lcihTY3JpcHREZWJ1Z0xpc3RlbmVyKiBsaXN0ZW4KICAgICB9CiB9
CiAKK3ZvaWQgSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlcjo6cmVjb21waWxlQWxsSlNG
dW5jdGlvbnMoKQoreworICAgIEpTQzo6RGVidWdnZXI6OnJlY29tcGlsZUFsbEpTRnVuY3Rpb25z
KCZtX2dsb2JhbE9iamVjdC52bSgpKTsKK30KKwogdm9pZCBKU0dsb2JhbE9iamVjdFNjcmlwdERl
YnVnU2VydmVyOjpydW5FdmVudExvb3BXaGlsZVBhdXNlZCgpCiB7CiAgICAgLy8gRHJvcCBhbGwg
bG9ja3Mgc28gYW5vdGhlciB0aHJlYWQgY2FuIHdvcmsgaW4gdGhlIFZNIHdoaWxlIHdlIGFyZSBu
ZXN0ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xv
YmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDNjZjZjNzJhNWYw
ODQ5MDQ2YTYxZTk2MjFjZmExYmI0ZTQ1N2E0ZmQuLjkwMWI2NzM5N2IwZGRmNjgzMDNjMTNjNmNm
YWUwOTlmZjJkNzc4ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC00
Miw2ICs0Miw4IEBAIHB1YmxpYzoKIAogICAgIEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0OyB9CiAKKyAgICB2aXJ0dWFsIHZv
aWQgcmVjb21waWxlQWxsSlNGdW5jdGlvbnMoKSBvdmVycmlkZTsKKwogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIExpc3RlbmVyU2V0JiBnZXRMaXN0ZW5lcnMoKSBvdmVycmlkZSB7IHJldHVybiBtX2xp
c3RlbmVyczsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRQYXVzZShKU0M6OkpTR2xvYmFsT2JqZWN0
Kikgb3ZlcnJpZGUgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCmluZGV4IGNiMzRkNjFkNWVmNjNjNTJlYTFmM2JlMzRj
NzkxYTlmZTk4NWQ0NDkuLjM1NmRlMWNiY2VlNDJkMzdhYTQyOGVlM2QwOGY5YzFhOTkwOGYxMmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdT
ZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVi
dWdTZXJ2ZXIuY3BwCkBAIC00Nyw4ICs0Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5h
bWVzcGFjZSBJbnNwZWN0b3IgewogCi1TY3JpcHREZWJ1Z1NlcnZlcjo6U2NyaXB0RGVidWdTZXJ2
ZXIoVk0mIHZtLCBib29sIGlzSW5Xb3JrZXJUaHJlYWQpCi0gICAgOiBEZWJ1Z2dlcih2bSwgaXNJ
bldvcmtlclRocmVhZCkKK1NjcmlwdERlYnVnU2VydmVyOjpTY3JpcHREZWJ1Z1NlcnZlcihib29s
IGlzSW5Xb3JrZXJUaHJlYWQpCisgICAgOiBEZWJ1Z2dlcihpc0luV29ya2VyVGhyZWFkKQogewog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERl
YnVnU2VydmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVn
U2VydmVyLmgKaW5kZXggYjcyYWY3NzhhMGM4NTQzNGE3OGFkY2M4NGE2MzFlOWQ3NThkZWMxZS4u
OTllYjcyMzBjYTJiZWUwNTg0N2JmMGY2ZTU1MmJlM2IyNDIxM2JkNCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtNDQs
NyArNDQsNiBAQAogbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBFeGVjU3RhdGU7CiBjbGFzcyBKU0ds
b2JhbE9iamVjdDsKLWNsYXNzIFZNOwogfQogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTU3
LDYgKzU2LDggQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlQnJlYWtwb2ludChKU0M6OkJyZWFr
cG9pbnRJRCk7CiAgICAgdm9pZCBjbGVhckJyZWFrcG9pbnRzKCk7CiAKKyAgICB2aXJ0dWFsIHZv
aWQgcmVjb21waWxlQWxsSlNGdW5jdGlvbnMoKSA9IDA7CisKICAgICBjb25zdCBCcmVha3BvaW50
QWN0aW9ucyYgZ2V0QWN0aW9uc0ZvckJyZWFrcG9pbnQoSlNDOjpCcmVha3BvaW50SUQpOwogCiAg
ICAgY2xhc3MgVGFzayB7CkBAIC03MCw3ICs3MSw3IEBAIHByb3RlY3RlZDoKICAgICB0eXBlZGVm
IEhhc2hTZXQ8U2NyaXB0RGVidWdMaXN0ZW5lcio+IExpc3RlbmVyU2V0OwogICAgIHR5cGVkZWYg
dm9pZCAoU2NyaXB0RGVidWdTZXJ2ZXI6OipKYXZhU2NyaXB0RXhlY3V0aW9uQ2FsbGJhY2spKFNj
cmlwdERlYnVnTGlzdGVuZXIqKTsKIAotICAgIFNjcmlwdERlYnVnU2VydmVyKEpTQzo6Vk0mLCBi
b29sIGlzSW5Xb3JrZXJUaHJlYWQgPSBmYWxzZSk7CisgICAgU2NyaXB0RGVidWdTZXJ2ZXIoYm9v
bCBpc0luV29ya2VyVGhyZWFkID0gZmFsc2UpOwogICAgIH5TY3JpcHREZWJ1Z1NlcnZlcigpOwog
CiAgICAgdmlydHVhbCBMaXN0ZW5lclNldCYgZ2V0TGlzdGVuZXJzKCkgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGlt
ZUFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggYWUxOGFmY2FkY2ZhMzZiZGNhMzhjNzI4NGE5ZjJm
MjlkYTdiMTBmMi4uZDk4NTcxNGE2ZTFmM2ViNGI3ZTkwNmM5NDJkMmIyYmE4NjBiMThiZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
UnVudGltZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCkBAIC0zMDgsNiArMzA4LDQwIEBAIHZvaWQg
SW5zcGVjdG9yUnVudGltZUFnZW50OjpnZXRSdW50aW1lVHlwZXNGb3JWYXJpYWJsZXNBdE9mZnNl
dHMoRXJyb3JTdHJpbmcmIGVyCiAgICAgICAgIGRhdGFMb2dGKCJJbnNwZWN0b3I6OmdldFJ1bnRp
bWVUeXBlc0ZvclZhcmlhYmxlc0F0T2Zmc2V0cyB0b29rICVsZm1zXG4iLCBlbmQgLSBzdGFydCk7
CiB9CiAKK2NsYXNzIFR5cGVSZWNvbXBpbGVyIDogcHVibGljIE1hcmtlZEJsb2NrOjpWb2lkRnVu
Y3RvciB7CitwdWJsaWM6CisgICAgaW5saW5lIHZvaWQgdmlzaXQoSlNDZWxsKiBjZWxsKQorICAg
IHsKKyAgICAgICAgaWYgKCFjZWxsLT5pbmhlcml0cyhGdW5jdGlvbkV4ZWN1dGFibGU6OmluZm8o
KSkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBl
eGVjdXRhYmxlID0ganNDYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGNlbGwpOworICAgICAgICBl
eGVjdXRhYmxlLT5jbGVhckNvZGUoKTsKKyAgICAgICAgZXhlY3V0YWJsZS0+Y2xlYXJVbmxpbmtl
ZENvZGVGb3JSZWNvbXBpbGF0aW9uKCk7CisgICAgfQorICAgIGlubGluZSBJdGVyYXRpb25TdGF0
dXMgb3BlcmF0b3IoKShKU0NlbGwqIGNlbGwpCisgICAgeworICAgICAgICB2aXNpdChjZWxsKTsK
KyAgICAgICAgcmV0dXJuIEl0ZXJhdGlvblN0YXR1czo6Q29udGludWU7CisgICAgfQorfTsKKwor
c3RhdGljIHZvaWQgcmVjb21waWxlQWxsSlNGdW5jdGlvbnNGb3JUeXBlUHJvZmlsaW5nKFZNJiB2
bSwgYm9vbCBzaG91bGRFbmFibGVUeXBlUHJvZmlsaW5nKQoreworICAgIGJvb2wgc2hvdWxkUmVj
b21waWxlRnJvbVR5cGVQcm9maWxlciA9IChzaG91bGRFbmFibGVUeXBlUHJvZmlsaW5nID8gdm0u
ZW5hYmxlVHlwZVByb2ZpbGVyKCkgOiB2bS5kaXNhYmxlVHlwZVByb2ZpbGVyKCkpOworICAgIGJv
b2wgc2hvdWxkUmVjb21waWxlRnJvbUNvbnRyb2xGbG93UHJvZmlsZXIgPSAoc2hvdWxkRW5hYmxl
VHlwZVByb2ZpbGluZyA/IHZtLmVuYWJsZUNvbnRyb2xGbG93UHJvZmlsZXIoKSA6IHZtLmRpc2Fi
bGVDb250cm9sRmxvd1Byb2ZpbGVyKCkpOworICAgIGJvb2wgbmVlZHNUb1JlY29tcGlsZSA9IHNo
b3VsZFJlY29tcGlsZUZyb21UeXBlUHJvZmlsZXIgfHwgc2hvdWxkUmVjb21waWxlRnJvbUNvbnRy
b2xGbG93UHJvZmlsZXI7CisKKyAgICBpZiAobmVlZHNUb1JlY29tcGlsZSkgeworI2lmIEVOQUJM
RShERkdfSklUKQorICAgICAgICBERkc6OmNvbXBsZXRlQWxsUGxhbnNGb3JWTSh2bSk7CisjZW5k
aWYKKyAgICAgICAgVHlwZVJlY29tcGlsZXIgcmVjb21waWxlcjsKKyAgICAgICAgSGVhcEl0ZXJh
dGlvblNjb3BlIGl0ZXJhdGlvblNjb3BlKHZtLmhlYXApOworICAgICAgICB2bS5oZWFwLm9iamVj
dFNwYWNlKCkuZm9yRWFjaExpdmVDZWxsKGl0ZXJhdGlvblNjb3BlLCByZWNvbXBpbGVyKTsKKyAg
ICB9Cit9CisKIHZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50Ojp3aWxsRGVzdHJveUZyb250ZW5k
QW5kQmFja2VuZChEaXNjb25uZWN0UmVhc29uIHJlYXNvbikKIHsKICAgICBpZiAocmVhc29uICE9
IERpc2Nvbm5lY3RSZWFzb246Okluc3BlY3RlZFRhcmdldERlc3Ryb3llZCAmJiBtX2lzVHlwZVBy
b2ZpbGluZ0VuYWJsZWQpCkBAIC0zMjQsMjEgKzM1OCwyNSBAQCB2b2lkIEluc3BlY3RvclJ1bnRp
bWVBZ2VudDo6ZGlzYWJsZVR5cGVQcm9maWxlcihFcnJvclN0cmluZyYpCiAgICAgc2V0VHlwZVBy
b2ZpbGVyRW5hYmxlZFN0YXRlKGZhbHNlKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdl
bnQ6OnNldFR5cGVQcm9maWxlckVuYWJsZWRTdGF0ZShib29sIGlzVHlwZVByb2ZpbGluZ0VuYWJs
ZWQpCit2b2lkIEluc3BlY3RvclJ1bnRpbWVBZ2VudDo6c2V0VHlwZVByb2ZpbGVyRW5hYmxlZFN0
YXRlKGJvb2wgc2hvdWxkRW5hYmxlVHlwZVByb2ZpbGluZykKIHsKLSAgICBpZiAobV9pc1R5cGVQ
cm9maWxpbmdFbmFibGVkID09IGlzVHlwZVByb2ZpbGluZ0VuYWJsZWQpCisgICAgaWYgKG1faXNU
eXBlUHJvZmlsaW5nRW5hYmxlZCA9PSBzaG91bGRFbmFibGVUeXBlUHJvZmlsaW5nKQogICAgICAg
ICByZXR1cm47Ci0gICAgbV9pc1R5cGVQcm9maWxpbmdFbmFibGVkID0gaXNUeXBlUHJvZmlsaW5n
RW5hYmxlZDsKKworICAgIG1faXNUeXBlUHJvZmlsaW5nRW5hYmxlZCA9IHNob3VsZEVuYWJsZVR5
cGVQcm9maWxpbmc7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxWTSgpOwotICAgIHZtLndoZW5JZGxl
KFsmdm0sIGlzVHlwZVByb2ZpbGluZ0VuYWJsZWRdICgpIHsKLSAgICAgICAgYm9vbCBzaG91bGRS
ZWNvbXBpbGVGcm9tVHlwZVByb2ZpbGVyID0gKGlzVHlwZVByb2ZpbGluZ0VuYWJsZWQgPyB2bS5l
bmFibGVUeXBlUHJvZmlsZXIoKSA6IHZtLmRpc2FibGVUeXBlUHJvZmlsZXIoKSk7Ci0gICAgICAg
IGJvb2wgc2hvdWxkUmVjb21waWxlRnJvbUNvbnRyb2xGbG93UHJvZmlsZXIgPSAoaXNUeXBlUHJv
ZmlsaW5nRW5hYmxlZCA/IHZtLmVuYWJsZUNvbnRyb2xGbG93UHJvZmlsZXIoKSA6IHZtLmRpc2Fi
bGVDb250cm9sRmxvd1Byb2ZpbGVyKCkpOwotICAgICAgICBib29sIG5lZWRzVG9SZWNvbXBpbGUg
PSBzaG91bGRSZWNvbXBpbGVGcm9tVHlwZVByb2ZpbGVyIHx8IHNob3VsZFJlY29tcGlsZUZyb21D
b250cm9sRmxvd1Byb2ZpbGVyOwotCi0gICAgICAgIGlmIChuZWVkc1RvUmVjb21waWxlKQotICAg
ICAgICAgICAgdm0uZGVsZXRlQWxsQ29kZSgpOwotICAgIH0pOworCisgICAgLy8gSWYgSmF2YVNj
cmlwdCBpcyBydW5uaW5nLCBpdCdzIG5vdCBzYWZlIHRvIHJlY29tcGlsZSwgc2luY2Ugd2UnbGwg
ZW5kCisgICAgLy8gdXAgdGhyb3dpbmcgYXdheSBjb2RlIHRoYXQgaXMgbGl2ZSBvbiB0aGUgc3Rh
Y2suCisgICAgaWYgKHZtLmVudHJ5U2NvcGUpIHsKKyAgICAgICAgdm0uZW50cnlTY29wZS0+c2V0
RW50cnlTY29wZURpZFBvcExpc3RlbmVyKHRoaXMsCisgICAgICAgICAgICBbPV0gKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqKSB7CisgICAgICAgICAgICAgICAgcmVjb21waWxlQWxsSlNGdW5jdGlv
bnNGb3JUeXBlUHJvZmlsaW5nKHZtLCBzaG91bGRFbmFibGVUeXBlUHJvZmlsaW5nKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgKTsKKyAgICB9IGVsc2UKKyAgICAgICAgcmVjb21waWxlQWxsSlNG
dW5jdGlvbnNGb3JUeXBlUHJvZmlsaW5nKHZtLCBzaG91bGRFbmFibGVUeXBlUHJvZmlsaW5nKTsK
IH0KIAogdm9pZCBJbnNwZWN0b3JSdW50aW1lQWdlbnQ6OmdldEJhc2ljQmxvY2tzKEVycm9yU3Ry
aW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBzb3VyY2VJREFzU3RyaW5nLCBSZWZQdHI8
SW5zcGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6
QmFzaWNCbG9jaz4+JiBiYXNpY0Jsb2NrcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNw
cAppbmRleCBjMTg0NmExMWZkNjEwM2RiYzViNWZiZjA5YWY3NWRhYjdmZTRiZTlhLi43MjcyOTAw
ZDEzM2YxYWJiZWY1MjVhMTI5ZGY3OTEzMzA2OTU0MGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVk0uY3BwCkBAIC04Niw3ICs4Niw2IEBACiAjaW5jbHVkZSAiVHlwZVByb2ZpbGVyLmgi
CiAjaW5jbHVkZSAiVHlwZVByb2ZpbGVyTG9nLmgiCiAjaW5jbHVkZSAiVW5saW5rZWRDb2RlQmxv
Y2suaCIKLSNpbmNsdWRlICJWTUVudHJ5U2NvcGUuaCIKICNpbmNsdWRlICJXYXRjaGRvZy5oIgog
I2luY2x1ZGUgIldlYWtHQ01hcElubGluZXMuaCIKICNpbmNsdWRlICJXZWFrTWFwRGF0YS5oIgpA
QCAtNDcyLDI4ICs0NzEsMTYgQEAgdm9pZCBWTTo6c3RvcFNhbXBsaW5nKCkKICAgICBpbnRlcnBy
ZXRlci0+c3RvcFNhbXBsaW5nKCk7CiB9CiAKLXZvaWQgVk06OndoZW5JZGxlKHN0ZDo6ZnVuY3Rp
b248dm9pZCgpPiBjYWxsYmFjaykKLXsKLSAgICBpZiAoIWVudHJ5U2NvcGUpIHsKLSAgICAgICAg
Y2FsbGJhY2soKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGVudHJ5U2NvcGUtPmFk
ZERpZFBvcExpc3RlbmVyKGNhbGxiYWNrKTsKLX0KLQogdm9pZCBWTTo6ZGVsZXRlQWxsQ29kZSgp
CiB7Ci0gICAgd2hlbklkbGUoW3RoaXNdKCkgewotICAgICAgICBtX2NvZGVDYWNoZS0+Y2xlYXIo
KTsKLSAgICAgICAgbV9yZWdFeHBDYWNoZS0+ZGVsZXRlQWxsQ29kZSgpOworICAgIG1fY29kZUNh
Y2hlLT5jbGVhcigpOworICAgIG1fcmVnRXhwQ2FjaGUtPmRlbGV0ZUFsbENvZGUoKTsKICNpZiBF
TkFCTEUoREZHX0pJVCkKLSAgICAgICAgREZHOjpjb21wbGV0ZUFsbFBsYW5zRm9yVk0oKnRoaXMp
OworICAgIERGRzo6Y29tcGxldGVBbGxQbGFuc0ZvclZNKCp0aGlzKTsKICNlbmRpZgotICAgICAg
ICBoZWFwLmRlbGV0ZUFsbENvbXBpbGVkQ29kZSgpOwotICAgICAgICBoZWFwLmRlbGV0ZUFsbFVu
bGlua2VkRnVuY3Rpb25Db2RlKCk7Ci0gICAgICAgIGhlYXAucmVwb3J0QWJhbmRvbmVkT2JqZWN0
R3JhcGgoKTsKLSAgICB9KTsKKyAgICBoZWFwLmRlbGV0ZUFsbENvbXBpbGVkQ29kZSgpOworICAg
IGhlYXAuZGVsZXRlQWxsVW5saW5rZWRGdW5jdGlvbkNvZGUoKTsKKyAgICBoZWFwLnJlcG9ydEFi
YW5kb25lZE9iamVjdEdyYXBoKCk7CiB9CiAKIHZvaWQgVk06OmR1bXBTYW1wbGVEYXRhKEV4ZWNT
dGF0ZSogZXhlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZN
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IDI4ODllZmU3ZmFj
YjZlNmVmNzNmMTU1MDIwZWIyMjgzN2JmZTYwZmUuLmUyMzRjMjdhMGMyYmEwMDEyOTY0MjQzYjVm
OTk2YzhlY2U2NjAzY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1ZNLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAtNTQxLDgg
KzU0MSw2IEBAIHB1YmxpYzoKICAgICBKU0xvY2smIGFwaUxvY2soKSB7IHJldHVybiAqbV9hcGlM
b2NrOyB9CiAgICAgQ29kZUNhY2hlKiBjb2RlQ2FjaGUoKSB7IHJldHVybiBtX2NvZGVDYWNoZS5n
ZXQoKTsgfQogCi0gICAgdm9pZCB3aGVuSWRsZShzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4pOwotCiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBkZWxldGVBbGxDb2RlKCk7CiAKICAgICB2b2lkIHJl
Z2lzdGVyV2F0Y2hwb2ludEZvckltcHVyZVByb3BlcnR5KGNvbnN0IElkZW50aWZpZXImLCBXYXRj
aHBvaW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUVu
dHJ5U2NvcGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1FbnRyeVNjb3Bl
LmNwcAppbmRleCAwODZhMmQ5M2QzNGEyMDFiYzA1NGQ2NWNkM2FmMmQ3MzI4NjY4Y2NhLi5iYzkw
MWIyMTUzMzhmYjUwMzdlMTcyNzQ1YTg1YmEwOTk4OGZjODkwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5U2NvcGUuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1ZNRW50cnlTY29wZS5jcHAKQEAgLTU3LDkgKzU3LDkgQEAgVk1F
bnRyeVNjb3BlOjpWTUVudHJ5U2NvcGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQogICAgIHZtLmNsZWFyTGFzdEV4Y2VwdGlvbigpOwogfQogCi12b2lkIFZNRW50cnlTY29w
ZTo6YWRkRGlkUG9wTGlzdGVuZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBsaXN0ZW5lcikKK3Zv
aWQgVk1FbnRyeVNjb3BlOjpzZXRFbnRyeVNjb3BlRGlkUG9wTGlzdGVuZXIodm9pZCoga2V5LCBF
bnRyeVNjb3BlRGlkUG9wTGlzdGVuZXIgbGlzdGVuZXIpCiB7Ci0gICAgbV9kaWRQb3BMaXN0ZW5l
cnMuYXBwZW5kKGxpc3RlbmVyKTsKKyAgICBtX2FsbEVudHJ5U2NvcGVEaWRQb3BMaXN0ZW5lcnMu
c2V0KGtleSwgbGlzdGVuZXIpOwogfQogCiBWTUVudHJ5U2NvcGU6On5WTUVudHJ5U2NvcGUoKQpA
QCAtNzIsOCArNzIsOCBAQCBWTUVudHJ5U2NvcGU6On5WTUVudHJ5U2NvcGUoKQogCiAgICAgbV92
bS5lbnRyeVNjb3BlID0gbnVsbHB0cjsKIAotICAgIGZvciAoYXV0byYgbGlzdGVuZXIgOiBtX2Rp
ZFBvcExpc3RlbmVycykKLSAgICAgICAgbGlzdGVuZXIoKTsKKyAgICBmb3IgKGF1dG8mIGxpc3Rl
bmVyIDogbV9hbGxFbnRyeVNjb3BlRGlkUG9wTGlzdGVuZXJzLnZhbHVlcygpKQorICAgICAgICBs
aXN0ZW5lcihtX3ZtLCBtX2dsb2JhbE9iamVjdCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1FbnRyeVNjb3BlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5U2NvcGUuaAppbmRleCA5NWM2
MGFjOTcyMTc0MWQ4ZDQ3ZGVmNmZmMjBhMzZlOTRmODIyYTAzLi42YTYyODMxYjgxYjllZjg2NDc4
MmY4OTYyZGY5YWRiYzAzOTVkNTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9WTUVudHJ5U2NvcGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9WTUVudHJ5U2NvcGUuaApAQCAtMjcsOSArMjcsOSBAQAogI2RlZmluZSBWTUVudHJ5U2NvcGVf
aAogCiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
I2luY2x1ZGUgPHd0Zi9TdGFja0JvdW5kcy5oPgogI2luY2x1ZGUgPHd0Zi9TdGFja1N0YXRzLmg+
Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNDMsMTIg
KzQzLDEzIEBAIHB1YmxpYzoKIAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSBj
b25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdDsgfQogCi0gICAgdm9pZCBhZGREaWRQb3BMaXN0
ZW5lcihzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+KTsKKyAgICB0eXBlZGVmIHN0ZDo6ZnVuY3Rpb248
dm9pZCAoVk0mLCBKU0dsb2JhbE9iamVjdCopPiBFbnRyeVNjb3BlRGlkUG9wTGlzdGVuZXI7Cisg
ICAgdm9pZCBzZXRFbnRyeVNjb3BlRGlkUG9wTGlzdGVuZXIodm9pZCosIEVudHJ5U2NvcGVEaWRQ
b3BMaXN0ZW5lcik7CiAKIHByaXZhdGU6CiAgICAgVk0mIG1fdm07CiAgICAgSlNHbG9iYWxPYmpl
Y3QqIG1fZ2xvYmFsT2JqZWN0OwotICAgIFZlY3RvcjxzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+PiBt
X2RpZFBvcExpc3RlbmVyczsKKyAgICBIYXNoTWFwPHZvaWQqLCBFbnRyeVNjb3BlRGlkUG9wTGlz
dGVuZXI+IG1fYWxsRW50cnlTY29wZURpZFBvcExpc3RlbmVyczsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2Ny
aXB0RGVidWdTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2Ny
aXB0RGVidWdTZXJ2ZXIuY3BwCmluZGV4IGRjZTJhMzE5MDU0MWZjYTQ4ZWJjZDk4MzYxYTE5ZTg5
NjA3Y2I5YTcuLmRkNzU5YjAxY2UwYjJlNzRhOTgzOTJhNTlmNzgwOTgxYjg5NzExZDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdERlYnVnU2VydmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHREZWJ1Z1Nl
cnZlci5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXI6OldvcmtlclNjcmlw
dERlYnVnU2VydmVyKFdvcmtlckdsb2JhbFNjb3BlKiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG1v
ZGUpCi0gICAgOiBTY3JpcHREZWJ1Z1NlcnZlcihjb250ZXh0LT5zY3JpcHQoKS0+dm0oKSwgdHJ1
ZSkKKyAgICA6IFNjcmlwdERlYnVnU2VydmVyKHRydWUpCiAgICAgLCBtX3dvcmtlckdsb2JhbFNj
b3BlKGNvbnRleHQpCiAgICAgLCBtX2RlYnVnZ2VyVGFza01vZGUobW9kZSkKIHsKQEAgLTgyLDgg
KzgyLDEwIEBAIHZvaWQgV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXI6OnJlbW92ZUxpc3RlbmVyKFNj
cmlwdERlYnVnTGlzdGVuZXIqIGxpc3RlbmVyLCBib29sCiAKIHZvaWQgV29ya2VyU2NyaXB0RGVi
dWdTZXJ2ZXI6OnJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKCkKIHsKLSAgICBKU0M6OkpTTG9ja0hv
bGRlciBsb2NrKHZtKCkpOwotICAgIEpTQzo6RGVidWdnZXI6OnJlY29tcGlsZUFsbEpTRnVuY3Rp
b25zKCk7CisgICAgSlNDOjpWTSYgdm0gPSBtX3dvcmtlckdsb2JhbFNjb3BlLT5zY3JpcHQoKS0+
dm0oKTsKKworICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2sodm0pOworICAgIEpTQzo6RGVidWdn
ZXI6OnJlY29tcGlsZUFsbEpTRnVuY3Rpb25zKCZ2bSk7CiB9CiAKIHZvaWQgV29ya2VyU2NyaXB0
RGVidWdTZXJ2ZXI6OnJ1bkV2ZW50TG9vcFdoaWxlUGF1c2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAKaW5kZXggZGY4MjBhOTYw
Nzg4YzcyZGE5YzIyZjBmMjU0MmE0OTNmZTI5ZjBiNi4uZGJkMTFjZDJmYjQxZWZhZmJkNjk2ZTAy
NThjMjYxYzgwMGM4ODgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgdXNpbmcgbmFtZXNwYWNl
IEluc3BlY3RvcjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUGFnZVNjcmlwdERlYnVnU2VydmVy
OjpQYWdlU2NyaXB0RGVidWdTZXJ2ZXIoUGFnZSYgcGFnZSkKLSAgICA6IFNjcmlwdERlYnVnU2Vy
dmVyKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6Y29tbW9uVk0oKSwgZmFsc2UpCisgICAgOiBT
Y3JpcHREZWJ1Z1NlcnZlcihmYWxzZSkKICAgICAsIG1fcGFnZShwYWdlKQogewogfQpAQCAtODcs
OCArODcsOCBAQCB2b2lkIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6cmVtb3ZlTGlzdGVuZXIoU2Ny
aXB0RGVidWdMaXN0ZW5lciogbGlzdGVuZXIsIGJvb2wgaQogCiB2b2lkIFBhZ2VTY3JpcHREZWJ1
Z1NlcnZlcjo6cmVjb21waWxlQWxsSlNGdW5jdGlvbnMoKQogewotICAgIEpTTG9ja0hvbGRlciBs
b2NrKHZtKCkpOwotICAgIERlYnVnZ2VyOjpyZWNvbXBpbGVBbGxKU0Z1bmN0aW9ucygpOworICAg
IEpTTG9ja0hvbGRlciBsb2NrKEpTRE9NV2luZG93Ojpjb21tb25WTSgpKTsKKyAgICBEZWJ1Z2dl
cjo6cmVjb21waWxlQWxsSlNGdW5jdGlvbnMoJkpTRE9NV2luZG93Ojpjb21tb25WTSgpKTsKIH0K
IAogdm9pZCBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OmRpZFBhdXNlKEpTR2xvYmFsT2JqZWN0KikK
QEAgLTEwOSw3ICsxMDksNyBAQCB2b2lkIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6cnVuRXZlbnRM
b29wV2hpbGVQYXVzZWQoKQogICAgIC8vIHdlIG5lZWQgdG8gZ3JhY2VmdWxseSBoYW5kbGUgcmVs
ZWFzaW5nIGFuZCByZWFjcXVpcmluZyB0aGUgbG9jay4KICAgICBpZiAoV2ViVGhyZWFkSXNFbmFi
bGVkKCkpIHsKICAgICAgICAgQVNTRVJUKFdlYlRocmVhZElzTG9ja2VkT3JEaXNhYmxlZCgpKTsK
LSAgICAgICAgSlNDOjpKU0xvY2s6OkRyb3BBbGxMb2NrcyBkcm9wQWxsTG9ja3Modm0oKSk7Cisg
ICAgICAgIEpTQzo6SlNMb2NrOjpEcm9wQWxsTG9ja3MgZHJvcEFsbExvY2tzKFdlYkNvcmU6OkpT
RE9NV2luZG93QmFzZTo6Y29tbW9uVk0oKSk7CiAgICAgICAgIFdlYlJ1bkxvb3BFbmFibGVOZXN0
ZWQoKTsKIAogICAgICAgICBydW5FdmVudExvb3BXaGlsZVBhdXNlZEludGVybmFsKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlNjcmlwdERlYnVnZ2VyLm1tIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z2dlci5tbQppbmRleCBmZWZj
M2FiOTVmNTA1ZGY5YmU2Y2ViY2ZjNDc2ZGI0YzBlNDM3NTQxLi42ZDUyNjUxNjJkYTFmYzI1NGNi
OTU1MjlkOWIxZmE2MTY1Zjc3ZDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlNjcmlwdERlYnVnZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViU2NyaXB0RGVidWdnZXIubW0KQEAgLTcyLDggKzcyLDcgQEAgc3RhdGljIFdlYkZyYW1lICp0
b1dlYkZyYW1lKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB9CiAKIFdlYlNjcmlwdERl
YnVnZ2VyOjpXZWJTY3JpcHREZWJ1Z2dlcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQot
ICAgIDogRGVidWdnZXIoZ2xvYmFsT2JqZWN0LT52bSgpKQotICAgICwgbV9jYWxsaW5nRGVsZWdh
dGUoZmFsc2UpCisgICAgOiBtX2NhbGxpbmdEZWxlZ2F0ZShmYWxzZSkKICAgICAsIG1fZ2xvYmFs
T2JqZWN0KGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0KQogewogICAgIHNldFBhdXNl
T25FeGNlcHRpb25zU3RhdGUoUGF1c2VPbkFsbEV4Y2VwdGlvbnMpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>