<?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>101937</bug_id>
          
          <creation_ts>2012-11-12 07:56:33 -0800</creation_ts>
          <short_desc>REGRESSION(r134224): asserting on bawts (Requested by kling on #webkit).</short_desc>
          <delta_ts>2012-11-12 08:07:26 -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>528+ (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>101860</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>kling</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>764426</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-12 07:56:33 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/134224 broke the build:
asserting on bawts (Requested by kling on #webkit).

This is an automatic bug report generated by the sheriff-bot. 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 case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764428</commentid>
    <comment_count>1</comment_count>
      <attachid>173647</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-12 07:57:13 -0800</bug_when>
    <thetext>Created attachment 173647
ROLLOUT of r134224

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>764435</commentid>
    <comment_count>2</comment_count>
      <attachid>173647</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-12 08:07:22 -0800</bug_when>
    <thetext>Comment on attachment 173647
ROLLOUT of r134224

Clearing flags on attachment: 173647

Committed r134242: &lt;http://trac.webkit.org/changeset/134242&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764436</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-12 08:07:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173647</attachid>
            <date>2012-11-12 07:57:13 -0800</date>
            <delta_ts>2012-11-12 08:07:22 -0800</delta_ts>
            <desc>ROLLOUT of r134224</desc>
            <filename>bug-101937-20121112160333.patch</filename>
            <type>text/plain</type>
            <size>40326</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjNlNmZjZDdmMTY3NGY4
NTE4MTk3MDZlYWE2MzQ3MDIxOGUxYzBkZS4uNTQxODhhNGRjOGM1MzU2OTk3MTZiZDYzMzJmYzg3
ZmMwMWQ5OTE0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTExLTEyICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTM0MjI0LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMzQyMjQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMTkzNworCisgICAgICAgIGFzc2VydGluZyBvbiBiYXd0cyAoUmVxdWVzdGVk
IGJ5IGtsaW5nIG9uICN3ZWJraXQpLgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpkaWZmKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTdHlsZTo6c2V0VmlzaXRlZExpbmtDb2xvcik6CisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQmFja2dy
b3VuZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCYWNrZ3JvdW5kRGF0YTo6U3R5
bGVCYWNrZ3JvdW5kRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQmFja2dy
b3VuZERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQmFja2dyb3VuZERhdGE6OmNvbG9y
KToKKyAgICAgICAgKFN0eWxlQmFja2dyb3VuZERhdGEpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9TdHlsZUluaGVyaXRlZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVJbmhl
cml0ZWREYXRhOjpTdHlsZUluaGVyaXRlZERhdGEpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9TdHlsZUluaGVyaXRlZERhdGEuaDoKKyAgICAgICAgKFN0eWxlSW5oZXJpdGVkRGF0YSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlTXVsdGlDb2xEYXRhLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlTXVsdGlDb2xEYXRhOjpTdHlsZU11bHRpQ29sRGF0YSk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlTXVsdGlDb2xEYXRhLmg6CisgICAgICAgIChTdHlsZU11
bHRpQ29sRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRl
ZERhdGEuY3BwOgorICAgICAgICAoU2FtZVNpemVBc1N0eWxlUmFyZUluaGVyaXRlZERhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJp
dGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVy
YXRvcj09KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0
YS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChTdHlsZVJhcmVJbmhlcml0ZWREYXRh
KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhLmg6CisgICAgICAgIChTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRh
KToKKwogMjAxMi0xMS0xMiAgVGlhbmNoZW5nIEppYW5nICA8dGlqaWFuZ0ByaW0uY29tPgogCiAg
ICAgICAgIFtCbGFja0JlcnJ5XSBVcGRhdGUgQkIxMCBmb3JtIHRoZW1lLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKaW5kZXggZjA2NjlmMzcxMDUz
Nzk5M2U2MmY0YTk5OWQ2ZjJmMGViZGZhZGIzYy4uMTc5ZDMyNTQ5NTI2ZDc0ZjY2ZjhiYjVmZDhh
YWM2YWVhYzlkOTJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuY3BwCkBAIC02NjcsOSArNjY3LDkgQEAgU3R5bGVEaWZmZXJlbmNlIFJlbmRlclN0
eWxlOjpkaWZmKGNvbnN0IFJlbmRlclN0eWxlKiBvdGhlciwgdW5zaWduZWQmIGNoYW5nZWRDb24K
ICNpZiBFTkFCTEUoQ1NTM19URVhUKQogICAgICAgICB8fCByYXJlTm9uSW5oZXJpdGVkRGF0YS0+
bV90ZXh0RGVjb3JhdGlvblN0eWxlICE9IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90
ZXh0RGVjb3JhdGlvblN0eWxlCiAjZW5kaWYgLy8gQ1NTM19URVhUCi0gICAgICAgIHx8IHJhcmVJ
bmhlcml0ZWREYXRhLT50ZXh0RmlsbENvbG9yKCkgIT0gb3RoZXItPnJhcmVJbmhlcml0ZWREYXRh
LT50ZXh0RmlsbENvbG9yKCkKLSAgICAgICAgfHwgcmFyZUluaGVyaXRlZERhdGEtPnRleHRTdHJv
a2VDb2xvcigpICE9IG90aGVyLT5yYXJlSW5oZXJpdGVkRGF0YS0+dGV4dFN0cm9rZUNvbG9yKCkK
LSAgICAgICAgfHwgcmFyZUluaGVyaXRlZERhdGEtPnRleHRFbXBoYXNpc0NvbG9yKCkgIT0gb3Ro
ZXItPnJhcmVJbmhlcml0ZWREYXRhLT50ZXh0RW1waGFzaXNDb2xvcigpCisgICAgICAgIHx8IHJh
cmVJbmhlcml0ZWREYXRhLT50ZXh0RmlsbENvbG9yICE9IG90aGVyLT5yYXJlSW5oZXJpdGVkRGF0
YS0+dGV4dEZpbGxDb2xvcgorICAgICAgICB8fCByYXJlSW5oZXJpdGVkRGF0YS0+dGV4dFN0cm9r
ZUNvbG9yICE9IG90aGVyLT5yYXJlSW5oZXJpdGVkRGF0YS0+dGV4dFN0cm9rZUNvbG9yCisgICAg
ICAgIHx8IHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0RW1waGFzaXNDb2xvciAhPSBvdGhlci0+cmFy
ZUluaGVyaXRlZERhdGEtPnRleHRFbXBoYXNpc0NvbG9yCiAgICAgICAgIHx8IHJhcmVJbmhlcml0
ZWREYXRhLT50ZXh0RW1waGFzaXNGaWxsICE9IG90aGVyLT5yYXJlSW5oZXJpdGVkRGF0YS0+dGV4
dEVtcGhhc2lzRmlsbAogICAgICAgICB8fCByYXJlSW5oZXJpdGVkRGF0YS0+bV9pbWFnZVJlbmRl
cmluZyAhPSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPm1faW1hZ2VSZW5kZXJpbmcpCiAgICAg
ICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VSZXBhaW50OwpAQCAtOTc0LDI0ICs5NzQsOCBAQCB2
b2lkIFJlbmRlclN0eWxlOjpzZXRMaXN0U3R5bGVJbWFnZShQYXNzUmVmUHRyPFN0eWxlSW1hZ2U+
IHYpCiAKIENvbG9yIFJlbmRlclN0eWxlOjpjb2xvcigpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRl
ZC0+Y29sb3I7IH0KIENvbG9yIFJlbmRlclN0eWxlOjp2aXNpdGVkTGlua0NvbG9yKCkgY29uc3Qg
eyByZXR1cm4gaW5oZXJpdGVkLT52aXNpdGVkTGlua0NvbG9yOyB9Ci0KLXZvaWQgUmVuZGVyU3R5
bGU6OnNldENvbG9yKGNvbnN0IENvbG9yJiB2KQotewotICAgIEFTU0VSVCh2LmlzVmFsaWQoKSk7
Ci0gICAgU0VUX1ZBUihpbmhlcml0ZWQsIGNvbG9yLCB2LnJnYigpKTsKLX0KLQotdm9pZCBSZW5k
ZXJTdHlsZTo6c2V0VmlzaXRlZExpbmtDb2xvcihjb25zdCBDb2xvciYgdikKLXsKLSAgICBBU1NF
UlQodi5pc1ZhbGlkKCkpOwotICAgIFNFVF9WQVIoaW5oZXJpdGVkLCB2aXNpdGVkTGlua0NvbG9y
LCB2LnJnYigpKTsKLX0KLQotdm9pZCBSZW5kZXJTdHlsZTo6c2V0QmFja2dyb3VuZENvbG9yKGNv
bnN0IENvbG9yJiB2KQotewotICAgIEFTU0VSVCh2LmlzVmFsaWQoKSk7Ci0gICAgU0VUX1ZBUiht
X2JhY2tncm91bmQsIG1fY29sb3IsIHYucmdiKCkpOwotfQordm9pZCBSZW5kZXJTdHlsZTo6c2V0
Q29sb3IoY29uc3QgQ29sb3ImIHYpIHsgU0VUX1ZBUihpbmhlcml0ZWQsIGNvbG9yLCB2KSB9Owor
dm9pZCBSZW5kZXJTdHlsZTo6c2V0VmlzaXRlZExpbmtDb2xvcihjb25zdCBDb2xvciYgdikgeyBT
RVRfVkFSKGluaGVyaXRlZCwgdmlzaXRlZExpbmtDb2xvciwgdikgfQogCiBzaG9ydCBSZW5kZXJT
dHlsZTo6aG9yaXpvbnRhbEJvcmRlclNwYWNpbmcoKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQt
Pmhvcml6b250YWxfYm9yZGVyX3NwYWNpbmc7IH0KIHNob3J0IFJlbmRlclN0eWxlOjp2ZXJ0aWNh
bEJvcmRlclNwYWNpbmcoKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPnZlcnRpY2FsX2JvcmRl
cl9zcGFjaW5nOyB9CkBAIC0xNTgyLDEyICsxNTY2LDYgQEAgVGV4dEVtcGhhc2lzTWFyayBSZW5k
ZXJTdHlsZTo6dGV4dEVtcGhhc2lzTWFyaygpIGNvbnN0CiAgICAgcmV0dXJuIFRleHRFbXBoYXNp
c01hcmtTZXNhbWU7CiB9CiAKLXZvaWQgUmVuZGVyU3R5bGU6OnNldFZpc2l0ZWRMaW5rQ29sdW1u
UnVsZUNvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKLXsKLSAgICBpZiAocmFyZU5vbkluaGVyaXRl
ZERhdGEtPm1fbXVsdGlDb2wtPnZpc2l0ZWRMaW5rQ29sdW1uUnVsZUNvbG9yKCkgIT0gY29sb3Ip
Ci0gICAgICAgIHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX211bHRpQ29sLmFjY2Vz
cygpLT5zZXRWaXNpdGVkTGlua0NvbHVtblJ1bGVDb2xvcihjb2xvcik7Ci19Ci0KICNpZiBFTkFC
TEUoVE9VQ0hfRVZFTlRTKQogQ29sb3IgUmVuZGVyU3R5bGU6OmluaXRpYWxUYXBIaWdobGlnaHRD
b2xvcigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
CmluZGV4IDc2N2YxZTU3OTVmNmNjMzZkNWE1MzlmODAzYjU4ODQ5NWU1M2U0N2YuLjY1ZGNmZDhl
MmRmZTI2NGNkMTZmNTI4ZWI0NDUyMDA3YjcyMWQ3ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC05NiwxMCArOTYsNiBAQCB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYm9vbCBjb21wYXJlRXF1YWwoY29uc3QgVCYg
dCwgY29uc3QgVSYgdQogICAgIGlmICghY29tcGFyZUVxdWFsKGdyb3VwLT52YXJpYWJsZS5jb2xv
cigpLCB2YWx1ZSkpIFwKICAgICAgICAgZ3JvdXAuYWNjZXNzKCktPnZhcmlhYmxlLnNldENvbG9y
KHZhbHVlKTsKIAotI2RlZmluZSBTRVRfQUNDRVNTT1JfVkFSKGdyb3VwLCBnZXR0ZXIsIHNldHRl
ciwgdmFsdWUpIFwKLSAgICBpZiAoIWNvbXBhcmVFcXVhbChncm91cC0+Z2V0dGVyKCksIHZhbHVl
KSkgXAotICAgICAgICBncm91cC5hY2Nlc3MoKS0+c2V0dGVyKHZhbHVlKTsKLQogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiB1c2luZyBzdGQ6Om1heDsKQEAgLTEwNjMsNyArMTA1OSw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHJlc2V0Qm9yZGVyQm90dG9tTGVmdFJhZGl1cygpIHsgU0VUX1ZBUihzdXJy
b3VuZCwgYm9yZGVyLm1fYm90dG9tTGVmdCwgaW5pdGlhbEJvcmRlclJhZGl1cygpKSB9CiAgICAg
dm9pZCByZXNldEJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzKCkgeyBTRVRfVkFSKHN1cnJvdW5kLCBi
b3JkZXIubV9ib3R0b21SaWdodCwgaW5pdGlhbEJvcmRlclJhZGl1cygpKSB9CiAKLSAgICB2b2lk
IHNldEJhY2tncm91bmRDb2xvcihjb25zdCBDb2xvciYpOworICAgIHZvaWQgc2V0QmFja2dyb3Vu
ZENvbG9yKGNvbnN0IENvbG9yJiB2KSB7IFNFVF9WQVIobV9iYWNrZ3JvdW5kLCBtX2NvbG9yLCB2
KSB9CiAKICAgICB2b2lkIHNldEJhY2tncm91bmRYUG9zaXRpb24oTGVuZ3RoIGwpIHsgU0VUX1ZB
UihtX2JhY2tncm91bmQsIG1fYmFja2dyb3VuZC5tX3hQb3NpdGlvbiwgbCkgfQogICAgIHZvaWQg
c2V0QmFja2dyb3VuZFlQb3NpdGlvbihMZW5ndGggbCkgeyBTRVRfVkFSKG1fYmFja2dyb3VuZCwg
bV9iYWNrZ3JvdW5kLm1feVBvc2l0aW9uLCBsKSB9CkBAIC0xMjY3LDkgKzEyNjMsOSBAQCBwdWJs
aWM6CiAgICAgLy8gQ1NTMyBTZXR0ZXJzCiAgICAgdm9pZCBzZXRPdXRsaW5lT2Zmc2V0KGludCB2
KSB7IFNFVF9WQVIobV9iYWNrZ3JvdW5kLCBtX291dGxpbmUubV9vZmZzZXQsIHYpIH0KICAgICB2
b2lkIHNldFRleHRTaGFkb3coUGFzc093blB0cjxTaGFkb3dEYXRhPiwgYm9vbCBhZGQgPSBmYWxz
ZSk7Ci0gICAgdm9pZCBzZXRUZXh0U3Ryb2tlQ29sb3IoY29uc3QgQ29sb3ImIGMpIHsgU0VUX0FD
Q0VTU09SX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgdGV4dFN0cm9rZUNvbG9yLCBzZXRUZXh0U3Ry
b2tlQ29sb3IsIGMpIH0KKyAgICB2b2lkIHNldFRleHRTdHJva2VDb2xvcihjb25zdCBDb2xvciYg
YykgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB0ZXh0U3Ryb2tlQ29sb3IsIGMpIH0KICAg
ICB2b2lkIHNldFRleHRTdHJva2VXaWR0aChmbG9hdCB3KSB7IFNFVF9WQVIocmFyZUluaGVyaXRl
ZERhdGEsIHRleHRTdHJva2VXaWR0aCwgdykgfQotICAgIHZvaWQgc2V0VGV4dEZpbGxDb2xvcihj
b25zdCBDb2xvciYgYykgeyBTRVRfQUNDRVNTT1JfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB0ZXh0
RmlsbENvbG9yLCBzZXRUZXh0RmlsbENvbG9yLCBjKSB9CisgICAgdm9pZCBzZXRUZXh0RmlsbENv
bG9yKGNvbnN0IENvbG9yJiBjKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHRleHRGaWxs
Q29sb3IsIGMpIH0KICAgICB2b2lkIHNldENvbG9yU3BhY2UoQ29sb3JTcGFjZSBzcGFjZSkgeyBT
RVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBjb2xvclNwYWNlLCBzcGFjZSkgfQogICAgIHZvaWQg
c2V0T3BhY2l0eShmbG9hdCBmKSB7IGZsb2F0IHYgPSBjbGFtcFRvPGZsb2F0PihmLCAwLCAxKTsg
U0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YSwgb3BhY2l0eSwgdik7IH0KICAgICB2b2lkIHNl
dEFwcGVhcmFuY2UoQ29udHJvbFBhcnQgYSkgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRh
LCBtX2FwcGVhcmFuY2UsIGEpOyB9CkBAIC0xMzU0LDcgKzEzNTAsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRUcmFuc2Zvcm1PcmlnaW5aKGZsb2F0IGYpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJp
dGVkRGF0YS5hY2Nlc3MoKS0+bV90cmFuc2Zvcm0sIG1feiwgZik7IH0KICAgICB2b2lkIHNldFNw
ZWFrKEVTcGVhayBzKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHNwZWFrLCBzKTsgfQog
ICAgIHZvaWQgc2V0VGV4dENvbWJpbmUoVGV4dENvbWJpbmUgdikgeyBTRVRfVkFSKHJhcmVOb25J
bmhlcml0ZWREYXRhLCBtX3RleHRDb21iaW5lLCB2KTsgfQotICAgIHZvaWQgc2V0VGV4dEVtcGhh
c2lzQ29sb3IoY29uc3QgQ29sb3ImIGMpIHsgU0VUX0FDQ0VTU09SX1ZBUihyYXJlSW5oZXJpdGVk
RGF0YSwgdGV4dEVtcGhhc2lzQ29sb3IsIHNldFRleHRFbXBoYXNpc0NvbG9yLCBjKSB9CisgICAg
dm9pZCBzZXRUZXh0RW1waGFzaXNDb2xvcihjb25zdCBDb2xvciYgYykgeyBTRVRfVkFSKHJhcmVJ
bmhlcml0ZWREYXRhLCB0ZXh0RW1waGFzaXNDb2xvciwgYykgfQogICAgIHZvaWQgc2V0VGV4dEVt
cGhhc2lzRmlsbChUZXh0RW1waGFzaXNGaWxsIGZpbGwpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVk
RGF0YSwgdGV4dEVtcGhhc2lzRmlsbCwgZmlsbCk7IH0KICAgICB2b2lkIHNldFRleHRFbXBoYXNp
c01hcmsoVGV4dEVtcGhhc2lzTWFyayBtYXJrKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEs
IHRleHRFbXBoYXNpc01hcmssIG1hcmspOyB9CiAgICAgdm9pZCBzZXRUZXh0RW1waGFzaXNDdXN0
b21NYXJrKGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaykgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWRE
YXRhLCB0ZXh0RW1waGFzaXNDdXN0b21NYXJrLCBtYXJrKTsgfQpAQCAtMTQxMyw3ICsxNDA5LDcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0TGluZUJveENvbnRhaW4oTGluZUJveENvbnRhaW4gYykg
eyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX2xpbmVCb3hDb250YWluLCBjKTsgfQogICAg
IHZvaWQgc2V0TGluZUNsYW1wKExpbmVDbGFtcFZhbHVlIGMpIHsgU0VUX1ZBUihyYXJlTm9uSW5o
ZXJpdGVkRGF0YSwgbGluZUNsYW1wLCBjKTsgfQogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0g
ICAgdm9pZCBzZXRUYXBIaWdobGlnaHRDb2xvcihjb25zdCBDb2xvciYgYykgeyBTRVRfVkFSKHJh
cmVJbmhlcml0ZWREYXRhLCB0YXBIaWdobGlnaHRDb2xvciwgYy5yZ2IoKSk7IH0KKyAgICB2b2lk
IHNldFRhcEhpZ2hsaWdodENvbG9yKGNvbnN0IENvbG9yJiBjKSB7IFNFVF9WQVIocmFyZUluaGVy
aXRlZERhdGEsIHRhcEhpZ2hsaWdodENvbG9yLCBjKTsgfQogI2VuZGlmCiAjaWYgRU5BQkxFKEFD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykKICAgICB2b2lkIHNldFVzZVRvdWNoT3ZlcmZs
b3dTY3JvbGxpbmcoYm9vbCB2KSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHVzZVRvdWNo
T3ZlcmZsb3dTY3JvbGxpbmcsIHYpOyB9CkBAIC0xNjg3LDcgKzE2ODMsNyBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIExlbmd0aCBpbml0aWFsUGVyc3BlY3RpdmVPcmlnaW5YKCkgeyByZXR1cm4gTGVu
Z3RoKDUwLjAsIFBlcmNlbnQpOyB9CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsUGVyc3BlY3Rp
dmVPcmlnaW5ZKCkgeyByZXR1cm4gTGVuZ3RoKDUwLjAsIFBlcmNlbnQpOyB9CiAgICAgc3RhdGlj
IENvbG9yIGluaXRpYWxCYWNrZ3JvdW5kQ29sb3IoKSB7IHJldHVybiBDb2xvcjo6dHJhbnNwYXJl
bnQ7IH0KLSAgICBzdGF0aWMgQ29sb3IgaW5pdGlhbFRleHRFbXBoYXNpc0NvbG9yKCkgeyByZXR1
cm4gQ29sb3I6OnRyYW5zcGFyZW50OyB9CisgICAgc3RhdGljIENvbG9yIGluaXRpYWxUZXh0RW1w
aGFzaXNDb2xvcigpIHsgcmV0dXJuIFRleHRFbXBoYXNpc0ZpbGxGaWxsZWQ7IH0KICAgICBzdGF0
aWMgVGV4dEVtcGhhc2lzRmlsbCBpbml0aWFsVGV4dEVtcGhhc2lzRmlsbCgpIHsgcmV0dXJuIFRl
eHRFbXBoYXNpc0ZpbGxGaWxsZWQ7IH0KICAgICBzdGF0aWMgVGV4dEVtcGhhc2lzTWFyayBpbml0
aWFsVGV4dEVtcGhhc2lzTWFyaygpIHsgcmV0dXJuIFRleHRFbXBoYXNpc01hcmtOb25lOyB9CiAg
ICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGlhbFRleHRFbXBoYXNpc0N1c3RvbU1h
cmsoKSB7IHJldHVybiBudWxsQXRvbTsgfQpAQCAtMTc1MywxNyArMTc0OSwxNiBAQCBwdWJsaWM6
CiAjZW5kaWYKIHByaXZhdGU6CiAgICAgdm9pZCBzZXRWaXNpdGVkTGlua0NvbG9yKGNvbnN0IENv
bG9yJik7Ci0KLSAgICB2b2lkIHNldFZpc2l0ZWRMaW5rQmFja2dyb3VuZENvbG9yKGNvbnN0IENv
bG9yJiB2KSB7IFNFVF9BQ0NFU1NPUl9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEsIHZpc2l0ZWRM
aW5rQmFja2dyb3VuZENvbG9yLCBzZXRWaXNpdGVkTGlua0JhY2tncm91bmRDb2xvciwgdikgfQot
ICAgIHZvaWQgc2V0VmlzaXRlZExpbmtCb3JkZXJMZWZ0Q29sb3IoY29uc3QgQ29sb3ImIHYpIHsg
U0VUX0FDQ0VTU09SX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YSwgdmlzaXRlZExpbmtCb3JkZXJM
ZWZ0Q29sb3IsIHNldFZpc2l0ZWRMaW5rQm9yZGVyTGVmdENvbG9yLCB2KSB9Ci0gICAgdm9pZCBz
ZXRWaXNpdGVkTGlua0JvcmRlclJpZ2h0Q29sb3IoY29uc3QgQ29sb3ImIHYpIHsgU0VUX0FDQ0VT
U09SX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YSwgdmlzaXRlZExpbmtCb3JkZXJSaWdodENvbG9y
LCBzZXRWaXNpdGVkTGlua0JvcmRlclJpZ2h0Q29sb3IsIHYpIH0KLSAgICB2b2lkIHNldFZpc2l0
ZWRMaW5rQm9yZGVyQm90dG9tQ29sb3IoY29uc3QgQ29sb3ImIHYpIHsgU0VUX0FDQ0VTU09SX1ZB
UihyYXJlTm9uSW5oZXJpdGVkRGF0YSwgdmlzaXRlZExpbmtCb3JkZXJCb3R0b21Db2xvciwgc2V0
VmlzaXRlZExpbmtCb3JkZXJCb3R0b21Db2xvciwgdikgfQotICAgIHZvaWQgc2V0VmlzaXRlZExp
bmtCb3JkZXJUb3BDb2xvcihjb25zdCBDb2xvciYgdikgeyBTRVRfQUNDRVNTT1JfVkFSKHJhcmVO
b25Jbmhlcml0ZWREYXRhLCB2aXNpdGVkTGlua0JvcmRlclRvcENvbG9yLCBzZXRWaXNpdGVkTGlu
a0JvcmRlclRvcENvbG9yLCB2KSB9Ci0gICAgdm9pZCBzZXRWaXNpdGVkTGlua091dGxpbmVDb2xv
cihjb25zdCBDb2xvciYgdikgeyBTRVRfQUNDRVNTT1JfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRh
LCB2aXNpdGVkTGlua091dGxpbmVDb2xvciwgc2V0VmlzaXRlZExpbmtPdXRsaW5lQ29sb3IsIHYp
IH0KLSAgICB2b2lkIHNldFZpc2l0ZWRMaW5rQ29sdW1uUnVsZUNvbG9yKGNvbnN0IENvbG9yJik7
Ci0gICAgdm9pZCBzZXRWaXNpdGVkTGlua1RleHRFbXBoYXNpc0NvbG9yKGNvbnN0IENvbG9yJiB2
KSB7IFNFVF9BQ0NFU1NPUl9WQVIocmFyZUluaGVyaXRlZERhdGEsIHZpc2l0ZWRMaW5rVGV4dEVt
cGhhc2lzQ29sb3IsIHNldFZpc2l0ZWRMaW5rVGV4dEVtcGhhc2lzQ29sb3IsIHYpIH0KLSAgICB2
b2lkIHNldFZpc2l0ZWRMaW5rVGV4dEZpbGxDb2xvcihjb25zdCBDb2xvciYgdikgeyBTRVRfQUND
RVNTT1JfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB2aXNpdGVkTGlua1RleHRGaWxsQ29sb3IsIHNl
dFZpc2l0ZWRMaW5rVGV4dEZpbGxDb2xvciwgdikgfQotICAgIHZvaWQgc2V0VmlzaXRlZExpbmtU
ZXh0U3Ryb2tlQ29sb3IoY29uc3QgQ29sb3ImIHYpIHsgU0VUX0FDQ0VTU09SX1ZBUihyYXJlSW5o
ZXJpdGVkRGF0YSwgdmlzaXRlZExpbmtUZXh0U3Ryb2tlQ29sb3IsIHNldFZpc2l0ZWRMaW5rVGV4
dFN0cm9rZUNvbG9yLCB2KSB9CisgICAgdm9pZCBzZXRWaXNpdGVkTGlua0JhY2tncm91bmRDb2xv
cihjb25zdCBDb2xvciYgdikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLCBtX3Zpc2l0
ZWRMaW5rQmFja2dyb3VuZENvbG9yLCB2KSB9CisgICAgdm9pZCBzZXRWaXNpdGVkTGlua0JvcmRl
ckxlZnRDb2xvcihjb25zdCBDb2xvciYgdikgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRh
LCBtX3Zpc2l0ZWRMaW5rQm9yZGVyTGVmdENvbG9yLCB2KSB9CisgICAgdm9pZCBzZXRWaXNpdGVk
TGlua0JvcmRlclJpZ2h0Q29sb3IoY29uc3QgQ29sb3ImIHYpIHsgU0VUX1ZBUihyYXJlTm9uSW5o
ZXJpdGVkRGF0YSwgbV92aXNpdGVkTGlua0JvcmRlclJpZ2h0Q29sb3IsIHYpIH0KKyAgICB2b2lk
IHNldFZpc2l0ZWRMaW5rQm9yZGVyQm90dG9tQ29sb3IoY29uc3QgQ29sb3ImIHYpIHsgU0VUX1ZB
UihyYXJlTm9uSW5oZXJpdGVkRGF0YSwgbV92aXNpdGVkTGlua0JvcmRlckJvdHRvbUNvbG9yLCB2
KSB9CisgICAgdm9pZCBzZXRWaXNpdGVkTGlua0JvcmRlclRvcENvbG9yKGNvbnN0IENvbG9yJiB2
KSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEsIG1fdmlzaXRlZExpbmtCb3JkZXJUb3BD
b2xvciwgdikgfQorICAgIHZvaWQgc2V0VmlzaXRlZExpbmtPdXRsaW5lQ29sb3IoY29uc3QgQ29s
b3ImIHYpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YSwgbV92aXNpdGVkTGlua091dGxp
bmVDb2xvciwgdikgfQorICAgIHZvaWQgc2V0VmlzaXRlZExpbmtDb2x1bW5SdWxlQ29sb3IoY29u
c3QgQ29sb3ImIHYpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9t
dWx0aUNvbCwgbV92aXNpdGVkTGlua0NvbHVtblJ1bGVDb2xvciwgdikgfQorICAgIHZvaWQgc2V0
VmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xvcihjb25zdCBDb2xvciYgdikgeyBTRVRfVkFSKHJh
cmVJbmhlcml0ZWREYXRhLCB2aXNpdGVkTGlua1RleHRFbXBoYXNpc0NvbG9yLCB2KSB9CisgICAg
dm9pZCBzZXRWaXNpdGVkTGlua1RleHRGaWxsQ29sb3IoY29uc3QgQ29sb3ImIHYpIHsgU0VUX1ZB
UihyYXJlSW5oZXJpdGVkRGF0YSwgdmlzaXRlZExpbmtUZXh0RmlsbENvbG9yLCB2KSB9CisgICAg
dm9pZCBzZXRWaXNpdGVkTGlua1RleHRTdHJva2VDb2xvcihjb25zdCBDb2xvciYgdikgeyBTRVRf
VkFSKHJhcmVJbmhlcml0ZWREYXRhLCB2aXNpdGVkTGlua1RleHRTdHJva2VDb2xvciwgdikgfQog
CiAgICAgdm9pZCBpbmhlcml0VW5pY29kZUJpZGlGcm9tKGNvbnN0IFJlbmRlclN0eWxlKiBwYXJl
bnQpIHsgbm9uaW5oZXJpdGVkX2ZsYWdzLl91bmljb2RlQmlkaSA9IHBhcmVudC0+bm9uaW5oZXJp
dGVkX2ZsYWdzLl91bmljb2RlQmlkaTsgfQogICAgIHZvaWQgZ2V0U2hhZG93RXh0ZW50KGNvbnN0
IFNoYWRvd0RhdGEqLCBMYXlvdXRVbml0JiB0b3AsIExheW91dFVuaXQmIHJpZ2h0LCBMYXlvdXRV
bml0JiBib3R0b20sIExheW91dFVuaXQmIGxlZnQpIGNvbnN0OwpAQCAtMTgwMCwyMCArMTc5NSwy
MCBAQCBwcml2YXRlOgogICAgIENvbG9yIGNvbG9yKCkgY29uc3Q7CiAgICAgQ29sb3IgY29sdW1u
UnVsZUNvbG9yKCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fbXVsdGlD
b2wtPm1fcnVsZS5jb2xvcigpOyB9CiAgICAgQ29sb3Igb3V0bGluZUNvbG9yKCkgY29uc3QgeyBy
ZXR1cm4gbV9iYWNrZ3JvdW5kLT5vdXRsaW5lKCkuY29sb3IoKTsgfQotICAgIENvbG9yIHRleHRF
bXBoYXNpc0NvbG9yKCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRlZERhdGEtPnRleHRFbXBo
YXNpc0NvbG9yKCk7IH0KLSAgICBDb2xvciB0ZXh0RmlsbENvbG9yKCkgY29uc3QgeyByZXR1cm4g
cmFyZUluaGVyaXRlZERhdGEtPnRleHRGaWxsQ29sb3IoKTsgfQotICAgIENvbG9yIHRleHRTdHJv
a2VDb2xvcigpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0U3Ryb2tlQ29s
b3IoKTsgfQorICAgIENvbG9yIHRleHRFbXBoYXNpc0NvbG9yKCkgY29uc3QgeyByZXR1cm4gcmFy
ZUluaGVyaXRlZERhdGEtPnRleHRFbXBoYXNpc0NvbG9yOyB9CisgICAgQ29sb3IgdGV4dEZpbGxD
b2xvcigpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0RmlsbENvbG9yOyB9
CisgICAgQ29sb3IgdGV4dFN0cm9rZUNvbG9yKCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRl
ZERhdGEtPnRleHRTdHJva2VDb2xvcjsgfQogICAgIENvbG9yIHZpc2l0ZWRMaW5rQ29sb3IoKSBj
b25zdDsKLSAgICBDb2xvciB2aXNpdGVkTGlua0JhY2tncm91bmRDb2xvcigpIGNvbnN0IHsgcmV0
dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT52aXNpdGVkTGlua0JhY2tncm91bmRDb2xvcigpOyB9
Ci0gICAgQ29sb3IgdmlzaXRlZExpbmtCb3JkZXJMZWZ0Q29sb3IoKSBjb25zdCB7IHJldHVybiBy
YXJlTm9uSW5oZXJpdGVkRGF0YS0+dmlzaXRlZExpbmtCb3JkZXJMZWZ0Q29sb3IoKTsgfQotICAg
IENvbG9yIHZpc2l0ZWRMaW5rQm9yZGVyUmlnaHRDb2xvcigpIGNvbnN0IHsgcmV0dXJuIHJhcmVO
b25Jbmhlcml0ZWREYXRhLT52aXNpdGVkTGlua0JvcmRlclJpZ2h0Q29sb3IoKTsgfQotICAgIENv
bG9yIHZpc2l0ZWRMaW5rQm9yZGVyQm90dG9tQ29sb3IoKSBjb25zdCB7IHJldHVybiByYXJlTm9u
SW5oZXJpdGVkRGF0YS0+dmlzaXRlZExpbmtCb3JkZXJCb3R0b21Db2xvcigpOyB9Ci0gICAgQ29s
b3IgdmlzaXRlZExpbmtCb3JkZXJUb3BDb2xvcigpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhl
cml0ZWREYXRhLT52aXNpdGVkTGlua0JvcmRlclRvcENvbG9yKCk7IH0KLSAgICBDb2xvciB2aXNp
dGVkTGlua091dGxpbmVDb2xvcigpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRh
LT52aXNpdGVkTGlua091dGxpbmVDb2xvcigpOyB9Ci0gICAgQ29sb3IgdmlzaXRlZExpbmtDb2x1
bW5SdWxlQ29sb3IoKSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9tdWx0
aUNvbC0+dmlzaXRlZExpbmtDb2x1bW5SdWxlQ29sb3IoKTsgfQotICAgIENvbG9yIHZpc2l0ZWRM
aW5rVGV4dEVtcGhhc2lzQ29sb3IoKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+
dmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xvcigpOyB9Ci0gICAgQ29sb3IgdmlzaXRlZExpbmtU
ZXh0RmlsbENvbG9yKCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRlZERhdGEtPnZpc2l0ZWRM
aW5rVGV4dEZpbGxDb2xvcigpOyB9Ci0gICAgQ29sb3IgdmlzaXRlZExpbmtUZXh0U3Ryb2tlQ29s
b3IoKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+dmlzaXRlZExpbmtUZXh0U3Ry
b2tlQ29sb3IoKTsgfQorICAgIENvbG9yIHZpc2l0ZWRMaW5rQmFja2dyb3VuZENvbG9yKCkgY29u
c3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fdmlzaXRlZExpbmtCYWNrZ3JvdW5k
Q29sb3I7IH0KKyAgICBDb2xvciB2aXNpdGVkTGlua0JvcmRlckxlZnRDb2xvcigpIGNvbnN0IHsg
cmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3Zpc2l0ZWRMaW5rQm9yZGVyTGVmdENvbG9y
OyB9CisgICAgQ29sb3IgdmlzaXRlZExpbmtCb3JkZXJSaWdodENvbG9yKCkgY29uc3QgeyByZXR1
cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fdmlzaXRlZExpbmtCb3JkZXJSaWdodENvbG9yOyB9
CisgICAgQ29sb3IgdmlzaXRlZExpbmtCb3JkZXJCb3R0b21Db2xvcigpIGNvbnN0IHsgcmV0dXJu
IHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3Zpc2l0ZWRMaW5rQm9yZGVyQm90dG9tQ29sb3I7IH0K
KyAgICBDb2xvciB2aXNpdGVkTGlua0JvcmRlclRvcENvbG9yKCkgY29uc3QgeyByZXR1cm4gcmFy
ZU5vbkluaGVyaXRlZERhdGEtPm1fdmlzaXRlZExpbmtCb3JkZXJUb3BDb2xvcjsgfQorICAgIENv
bG9yIHZpc2l0ZWRMaW5rT3V0bGluZUNvbG9yKCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVy
aXRlZERhdGEtPm1fdmlzaXRlZExpbmtPdXRsaW5lQ29sb3I7IH0KKyAgICBDb2xvciB2aXNpdGVk
TGlua0NvbHVtblJ1bGVDb2xvcigpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRh
LT5tX211bHRpQ29sLT5tX3Zpc2l0ZWRMaW5rQ29sdW1uUnVsZUNvbG9yOyB9CisgICAgQ29sb3Ig
dmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xvcigpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0
ZWREYXRhLT52aXNpdGVkTGlua1RleHRFbXBoYXNpc0NvbG9yOyB9CisgICAgQ29sb3IgdmlzaXRl
ZExpbmtUZXh0RmlsbENvbG9yKCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRlZERhdGEtPnZp
c2l0ZWRMaW5rVGV4dEZpbGxDb2xvcjsgfQorICAgIENvbG9yIHZpc2l0ZWRMaW5rVGV4dFN0cm9r
ZUNvbG9yKCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRlZERhdGEtPnZpc2l0ZWRMaW5rVGV4
dFN0cm9rZUNvbG9yOyB9CiAKICAgICBDb2xvciBjb2xvckluY2x1ZGluZ0ZhbGxiYWNrKGludCBj
b2xvclByb3BlcnR5LCBib29sIHZpc2l0ZWRMaW5rKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQmFja2dyb3VuZERhdGEuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQmFja2dyb3VuZERhdGEuY3BwCmluZGV4
IGVkYjQ2MDUxM2E0Y2E5MmE4MjAwZGI5MGIyNWE5YWFiYzA4ZThkZGUuLjA4ZjU1MjdhZDI3MWE2
MzkzYzA2ZjdiMjBjZGU2OTExNjIxODNhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZUJhY2tncm91bmREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCYWNrZ3JvdW5kRGF0YS5jcHAKQEAgLTI4LDE1ICsyOCwx
NSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTdHlsZUJhY2tncm91bmREYXRhOjpTdHlsZUJh
Y2tncm91bmREYXRhKCkKLSAgICA6IG1fY29sb3IoUmVuZGVyU3R5bGU6OmluaXRpYWxCYWNrZ3Jv
dW5kQ29sb3IoKS5yZ2IoKSkKLSAgICAsIG1fYmFja2dyb3VuZChCYWNrZ3JvdW5kRmlsbExheWVy
KQorICAgIDogbV9iYWNrZ3JvdW5kKEJhY2tncm91bmRGaWxsTGF5ZXIpCisgICAgLCBtX2NvbG9y
KFJlbmRlclN0eWxlOjppbml0aWFsQmFja2dyb3VuZENvbG9yKCkpCiB7CiB9CiAKIFN0eWxlQmFj
a2dyb3VuZERhdGE6OlN0eWxlQmFja2dyb3VuZERhdGEoY29uc3QgU3R5bGVCYWNrZ3JvdW5kRGF0
YSYgbykKICAgICA6IFJlZkNvdW50ZWQ8U3R5bGVCYWNrZ3JvdW5kRGF0YT4oKQotICAgICwgbV9j
b2xvcihvLm1fY29sb3IpCiAgICAgLCBtX2JhY2tncm91bmQoby5tX2JhY2tncm91bmQpCisgICAg
LCBtX2NvbG9yKG8ubV9jb2xvcikKICAgICAsIG1fb3V0bGluZShvLm1fb3V0bGluZSkKIHsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJhY2tncm91
bmREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCYWNrZ3JvdW5k
RGF0YS5oCmluZGV4IDY1NzIwOTU4NmUwODIxM2Y3YTgxM2VjZWQyN2E2ZTI2OGIzOGYyYzcuLjQ4
YTcwMGVjY2ZkNzdmYzQ0ZGI0NjljYTc4MzZiNTk5YzkxNTUzZGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJhY2tncm91bmREYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQmFja2dyb3VuZERhdGEuaApAQCAtNDYs
NyArNDYsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgY29uc3QgRmlsbExheWVyJiBiYWNrZ3Jv
dW5kKCkgY29uc3QgeyByZXR1cm4gbV9iYWNrZ3JvdW5kOyB9Ci0gICAgY29uc3QgQ29sb3IgY29s
b3IoKSBjb25zdCB7IHJldHVybiBtX2NvbG9yOyB9CisgICAgY29uc3QgQ29sb3ImIGNvbG9yKCkg
Y29uc3QgeyByZXR1cm4gbV9jb2xvcjsgfQogICAgIGNvbnN0IE91dGxpbmVWYWx1ZSYgb3V0bGlu
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fb3V0bGluZTsgfQogCiBwcml2YXRlOgpAQCAtNTUsOCArNTUs
OCBAQCBwcml2YXRlOgogICAgIFN0eWxlQmFja2dyb3VuZERhdGEoKTsKICAgICBTdHlsZUJhY2tn
cm91bmREYXRhKGNvbnN0IFN0eWxlQmFja2dyb3VuZERhdGEmKTsgCiAKLSAgICBSR0JBMzIgbV9j
b2xvcjsKICAgICBGaWxsTGF5ZXIgbV9iYWNrZ3JvdW5kOworICAgIENvbG9yIG1fY29sb3I7CiAg
ICAgT3V0bGluZVZhbHVlIG1fb3V0bGluZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggZDM3YzAwOGRi
ZTBjOGZmYThjYmNjMTM0NzU5ZTU5Y2E4Y2JkMGVmYS4uMDIxNzQwZjE1NjNlMjMwZDk4OTc1NmI3
ZDMyNjVlNzA5NjlhN2E4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTMyLDggKzMyLDggQEAgU3R5bGVJbmhl
cml0ZWREYXRhOjpTdHlsZUluaGVyaXRlZERhdGEoKQogICAgICwgdmVydGljYWxfYm9yZGVyX3Nw
YWNpbmcoUmVuZGVyU3R5bGU6OmluaXRpYWxWZXJ0aWNhbEJvcmRlclNwYWNpbmcoKSkKICAgICAs
IGxpbmVfaGVpZ2h0KFJlbmRlclN0eWxlOjppbml0aWFsTGluZUhlaWdodCgpKQogICAgICwgbGlz
dF9zdHlsZV9pbWFnZShSZW5kZXJTdHlsZTo6aW5pdGlhbExpc3RTdHlsZUltYWdlKCkpCi0gICAg
LCBjb2xvcihSZW5kZXJTdHlsZTo6aW5pdGlhbENvbG9yKCkucmdiKCkpCi0gICAgLCB2aXNpdGVk
TGlua0NvbG9yKFJlbmRlclN0eWxlOjppbml0aWFsQ29sb3IoKS5yZ2IoKSkKKyAgICAsIGNvbG9y
KFJlbmRlclN0eWxlOjppbml0aWFsQ29sb3IoKSkKKyAgICAsIHZpc2l0ZWRMaW5rQ29sb3IoUmVu
ZGVyU3R5bGU6OmluaXRpYWxDb2xvcigpKQogewogfQogCkBAIC00Nyw5ICs0Nyw5IEBAIFN0eWxl
SW5oZXJpdGVkRGF0YTo6U3R5bGVJbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlSW5oZXJpdGVkRGF0
YSYgbykKICAgICAsIHZlcnRpY2FsX2JvcmRlcl9zcGFjaW5nKG8udmVydGljYWxfYm9yZGVyX3Nw
YWNpbmcpCiAgICAgLCBsaW5lX2hlaWdodChvLmxpbmVfaGVpZ2h0KQogICAgICwgbGlzdF9zdHls
ZV9pbWFnZShvLmxpc3Rfc3R5bGVfaW1hZ2UpCisgICAgLCBmb250KG8uZm9udCkKICAgICAsIGNv
bG9yKG8uY29sb3IpCiAgICAgLCB2aXNpdGVkTGlua0NvbG9yKG8udmlzaXRlZExpbmtDb2xvcikK
LSAgICAsIGZvbnQoby5mb250KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVJbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVJbmhlcml0ZWREYXRhLmgKaW5kZXggMzM3ZjI2MTEyMmY3Njk3MWZl
YjFmMDQxYzI3NjQ0ZDg2ZTRkZTI1Ny4uNmNiN2JjNWJiYzAwN2U2ZDM1MTc3MmZiMjIzMjFiMzk2
NGZiM2M3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
SW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZUluaGVyaXRlZERhdGEuaApAQCAtNTcsMTAgKzU3LDkgQEAgcHVibGljOgogCiAgICAgUmVmUHRy
PFN0eWxlSW1hZ2U+IGxpc3Rfc3R5bGVfaW1hZ2U7CiAKLSAgICBSR0JBMzIgY29sb3I7Ci0gICAg
UkdCQTMyIHZpc2l0ZWRMaW5rQ29sb3I7Ci0KICAgICBGb250IGZvbnQ7CisgICAgQ29sb3IgY29s
b3I7CisgICAgQ29sb3IgdmlzaXRlZExpbmtDb2xvcjsKIAogcHJpdmF0ZToKICAgICBTdHlsZUlu
aGVyaXRlZERhdGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZU11bHRpQ29sRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVNdWx0aUNvbERhdGEuY3BwCmluZGV4IDUwNzVmNDZmMzI0ODNjNDQyYmRiODk0ZDIxOTMx
OGU4YzkxYmJlMjcuLjYxMDI3N2MyMGI4MWU5OTNkMWE2OWQ4ZmYyMzU5MWEyYzYzN2EzOTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZU11bHRpQ29sRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlTXVsdGlDb2xE
YXRhLmNwcApAQCAtMzksOCArMzksNiBAQCBTdHlsZU11bHRpQ29sRGF0YTo6U3R5bGVNdWx0aUNv
bERhdGEoKQogICAgICwgbV9icmVha0luc2lkZShSZW5kZXJTdHlsZTo6aW5pdGlhbFBhZ2VCcmVh
aygpKQogICAgICwgbV9heGlzKFJlbmRlclN0eWxlOjppbml0aWFsQ29sdW1uQXhpcygpKQogICAg
ICwgbV9wcm9ncmVzc2lvbihSZW5kZXJTdHlsZTo6aW5pdGlhbENvbHVtblByb2dyZXNzaW9uKCkp
Ci0gICAgLCBtX2hhc1Zpc2l0ZWRMaW5rQ29sdW1uUnVsZUNvbG9yKGZhbHNlKQotICAgICwgbV92
aXNpdGVkTGlua0NvbHVtblJ1bGVDb2xvcihDb2xvcjo6dHJhbnNwYXJlbnQpCiB7CiB9CiAKQEAg
LTUwLDYgKzQ4LDcgQEAgU3R5bGVNdWx0aUNvbERhdGE6OlN0eWxlTXVsdGlDb2xEYXRhKGNvbnN0
IFN0eWxlTXVsdGlDb2xEYXRhJiBvKQogICAgICwgbV9jb3VudChvLm1fY291bnQpCiAgICAgLCBt
X2dhcChvLm1fZ2FwKQogICAgICwgbV9ydWxlKG8ubV9ydWxlKQorICAgICwgbV92aXNpdGVkTGlu
a0NvbHVtblJ1bGVDb2xvcihvLm1fdmlzaXRlZExpbmtDb2x1bW5SdWxlQ29sb3IpCiAgICAgLCBt
X2F1dG9XaWR0aChvLm1fYXV0b1dpZHRoKQogICAgICwgbV9hdXRvQ291bnQoby5tX2F1dG9Db3Vu
dCkKICAgICAsIG1fbm9ybWFsR2FwKG8ubV9ub3JtYWxHYXApCkBAIC01OSw4ICs1OCw2IEBAIFN0
eWxlTXVsdGlDb2xEYXRhOjpTdHlsZU11bHRpQ29sRGF0YShjb25zdCBTdHlsZU11bHRpQ29sRGF0
YSYgbykKICAgICAsIG1fYnJlYWtJbnNpZGUoby5tX2JyZWFrSW5zaWRlKQogICAgICwgbV9heGlz
KG8ubV9heGlzKQogICAgICwgbV9wcm9ncmVzc2lvbihvLm1fcHJvZ3Jlc3Npb24pCi0gICAgLCBt
X2hhc1Zpc2l0ZWRMaW5rQ29sdW1uUnVsZUNvbG9yKG8ubV9oYXNWaXNpdGVkTGlua0NvbHVtblJ1
bGVDb2xvcikKLSAgICAsIG1fdmlzaXRlZExpbmtDb2x1bW5SdWxlQ29sb3Ioby5tX3Zpc2l0ZWRM
aW5rQ29sdW1uUnVsZUNvbG9yKQogewogfQogCkBAIC03MywxMCArNzAsNCBAQCBib29sIFN0eWxl
TXVsdGlDb2xEYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlTXVsdGlDb2xEYXRhJiBvKSBjb25z
dAogICAgICAgICAgICAmJiBtX3Byb2dyZXNzaW9uID09IG8ubV9wcm9ncmVzc2lvbjsKIH0KIAot
dm9pZCBTdHlsZU11bHRpQ29sRGF0YTo6c2V0VmlzaXRlZExpbmtDb2x1bW5SdWxlQ29sb3IoY29u
c3QgQ29sb3ImIGNvbG9yKQotewotICAgIG1faGFzVmlzaXRlZExpbmtDb2x1bW5SdWxlQ29sb3Ig
PSBjb2xvci5pc1ZhbGlkKCk7Ci0gICAgbV92aXNpdGVkTGlua0NvbHVtblJ1bGVDb2xvciA9IGNv
bG9yLnJnYigpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVNdWx0aUNvbERhdGEuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZU11bHRpQ29sRGF0YS5oCmluZGV4IGJmYWJkZTY4
NTg3NmZmN2QwNmZjNDg0M2FiNWFjZmM2YmM4YmIwODkuLjg4OGFlNmQ1NjFhZDRlMWYxZjRmMTQx
NTAwZmEwMDI0MzBmOWY1MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZU11bHRpQ29sRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZU11bHRpQ29sRGF0YS5oCkBAIC01Nyw5ICs1Nyw3IEBAIHB1YmxpYzoKICAgICB1
bnNpZ25lZCBzaG9ydCBtX2NvdW50OwogICAgIGZsb2F0IG1fZ2FwOwogICAgIEJvcmRlclZhbHVl
IG1fcnVsZTsKLQotICAgIENvbG9yIHZpc2l0ZWRMaW5rQ29sdW1uUnVsZUNvbG9yKCkgY29uc3Qg
eyByZXR1cm4gbV9oYXNWaXNpdGVkTGlua0NvbHVtblJ1bGVDb2xvciA/IENvbG9yKG1fdmlzaXRl
ZExpbmtDb2x1bW5SdWxlQ29sb3IpIDogQ29sb3IoKTsgfQotICAgIHZvaWQgc2V0VmlzaXRlZExp
bmtDb2x1bW5SdWxlQ29sb3IoY29uc3QgQ29sb3ImKTsKKyAgICBDb2xvciBtX3Zpc2l0ZWRMaW5r
Q29sdW1uUnVsZUNvbG9yOwogCiAgICAgYm9vbCBtX2F1dG9XaWR0aCA6IDE7CiAgICAgYm9vbCBt
X2F1dG9Db3VudCA6IDE7CkBAIC03Miw5ICs3MCw2IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBt
X3Byb2dyZXNzaW9uIDogMjsgLy8gQ29sdW1uUHJvZ3Jlc3Npb24KIAogcHJpdmF0ZToKLSAgICBi
b29sIG1faGFzVmlzaXRlZExpbmtDb2x1bW5SdWxlQ29sb3IgOiAxOwotICAgIFJHQkEzMiBtX3Zp
c2l0ZWRMaW5rQ29sdW1uUnVsZUNvbG9yOwotCiAgICAgU3R5bGVNdWx0aUNvbERhdGEoKTsKICAg
ICBTdHlsZU11bHRpQ29sRGF0YShjb25zdCBTdHlsZU11bHRpQ29sRGF0YSYpOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWRE
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0
ZWREYXRhLmNwcAppbmRleCBhYjA0OTA3OGMzZjAyZTYzNDNmZGRlN2EyM2IwMTY2NjFjYTQ0MjVm
Li5iMWJhNTk4NmE0OTIyZmRjNTUzNWIxYTRkYjQ3NWVjMjcyNGVhZjdkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERh
dGEuY3BwCkBAIC0yNywxNCArMjcsMTQgQEAKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2lu
Y2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSAiU2hhZG93RGF0YS5oIgot
I2luY2x1ZGUgIlN0eWxlSW1hZ2UuaCIKICNpbmNsdWRlICJXZWJDb3JlTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IFNhbWVTaXplQXNTdHls
ZVJhcmVJbmhlcml0ZWREYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8U2FtZVNpemVBc1N0eWxlUmFy
ZUluaGVyaXRlZERhdGE+IHsKKyAgICBDb2xvciBmaXJzdENvbG9yOwogICAgIGZsb2F0IGZpcnN0
RmxvYXQ7Ci0gICAgUkdCQTMyIGNvbG9yc1s2XTsKKyAgICBDb2xvciBjb2xvcnNbNV07CiAgICAg
dm9pZCogb3duUHRyc1sxXTsKICAgICBBdG9taWNTdHJpbmcgYXRvbWljU3RyaW5nc1s1XTsKICAg
ICB2b2lkKiByZWZQdHJzWzJdOwpAQCAtNTAsNyArNTAsNyBAQCBzdHJ1Y3QgU2FtZVNpemVBc1N0
eWxlUmFyZUluaGVyaXRlZERhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxTYW1lU2l6ZUFzU3R5bGVS
YXJlSQogI2VuZGlmCiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotICAgIFJHQkEzMiB0b3Vj
aENvbG9yczsKKyAgICBDb2xvciB0b3VjaENvbG9yczsKICNlbmRpZgogCiAjaWYgRU5BQkxFKENT
U19WQVJJQUJMRVMpCkBAIC02NiwxMiArNjYsNiBAQCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpT
dHlsZVJhcmVJbmhlcml0ZWREYXRhKCkKICAgICAsIG1fZWZmZWN0aXZlWm9vbShSZW5kZXJTdHls
ZTo6aW5pdGlhbFpvb20oKSkKICAgICAsIHdpZG93cyhSZW5kZXJTdHlsZTo6aW5pdGlhbFdpZG93
cygpKQogICAgICwgb3JwaGFucyhSZW5kZXJTdHlsZTo6aW5pdGlhbE9ycGhhbnMoKSkKLSAgICAs
IG1faGFzVGV4dFN0cm9rZUNvbG9yKGZhbHNlKQotICAgICwgbV9oYXNUZXh0RmlsbENvbG9yKGZh
bHNlKQotICAgICwgbV9oYXNUZXh0RW1waGFzaXNDb2xvcihmYWxzZSkKLSAgICAsIG1faGFzVmlz
aXRlZExpbmtUZXh0U3Ryb2tlQ29sb3IoZmFsc2UpCi0gICAgLCBtX2hhc1Zpc2l0ZWRMaW5rVGV4
dEZpbGxDb2xvcihmYWxzZSkKLSAgICAsIG1faGFzVmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xv
cihmYWxzZSkKICAgICAsIHRleHRTZWN1cml0eShSZW5kZXJTdHlsZTo6aW5pdGlhbFRleHRTZWN1
cml0eSgpKQogICAgICwgdXNlck1vZGlmeShSRUFEX09OTFkpCiAgICAgLCB3b3JkQnJlYWsoUmVu
ZGVyU3R5bGU6OmluaXRpYWxXb3JkQnJlYWsoKSkKQEAgLTExMywxNCArMTA3LDggQEAgU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgpCiAgICAgLCBtX2ltYWdl
UmVzb2x1dGlvbihSZW5kZXJTdHlsZTo6aW5pdGlhbEltYWdlUmVzb2x1dGlvbigpKQogI2VuZGlm
CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSAgICAsIHRhcEhpZ2hsaWdodENvbG9yKFJlbmRl
clN0eWxlOjppbml0aWFsVGFwSGlnaGxpZ2h0Q29sb3IoKS5yZ2IoKSkKLSNlbmRpZgotICAgICwg
bV90ZXh0U3Ryb2tlQ29sb3IoQ29sb3I6OnRyYW5zcGFyZW50KQotICAgICwgbV90ZXh0RmlsbENv
bG9yKENvbG9yOjp0cmFuc3BhcmVudCkKLSAgICAsIG1fdGV4dEVtcGhhc2lzQ29sb3IoQ29sb3I6
OnRyYW5zcGFyZW50KQotICAgICwgbV92aXNpdGVkTGlua1RleHRTdHJva2VDb2xvcihDb2xvcjo6
dHJhbnNwYXJlbnQpCi0gICAgLCBtX3Zpc2l0ZWRMaW5rVGV4dEZpbGxDb2xvcihDb2xvcjo6dHJh
bnNwYXJlbnQpCi0gICAgLCBtX3Zpc2l0ZWRMaW5rVGV4dEVtcGhhc2lzQ29sb3IoQ29sb3I6OnRy
YW5zcGFyZW50KQorICAgICwgdGFwSGlnaGxpZ2h0Q29sb3IoUmVuZGVyU3R5bGU6OmluaXRpYWxU
YXBIaWdobGlnaHRDb2xvcigpKQorI2VuZGlmICAgIAogewogI2lmIEVOQUJMRShDU1NfVkFSSUFC
TEVTKQogICAgIG1fdmFyaWFibGVzLmluaXQoKTsKQEAgLTEyOSw3ICsxMTcsMTMgQEAgU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSgpCiAKIFN0eWxlUmFyZUlu
aGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlSW5oZXJp
dGVkRGF0YSYgbykKICAgICA6IFJlZkNvdW50ZWQ8U3R5bGVSYXJlSW5oZXJpdGVkRGF0YT4oKQor
ICAgICwgdGV4dFN0cm9rZUNvbG9yKG8udGV4dFN0cm9rZUNvbG9yKQogICAgICwgdGV4dFN0cm9r
ZVdpZHRoKG8udGV4dFN0cm9rZVdpZHRoKQorICAgICwgdGV4dEZpbGxDb2xvcihvLnRleHRGaWxs
Q29sb3IpCisgICAgLCB0ZXh0RW1waGFzaXNDb2xvcihvLnRleHRFbXBoYXNpc0NvbG9yKQorICAg
ICwgdmlzaXRlZExpbmtUZXh0U3Ryb2tlQ29sb3Ioby52aXNpdGVkTGlua1RleHRTdHJva2VDb2xv
cikKKyAgICAsIHZpc2l0ZWRMaW5rVGV4dEZpbGxDb2xvcihvLnZpc2l0ZWRMaW5rVGV4dEZpbGxD
b2xvcikKKyAgICAsIHZpc2l0ZWRMaW5rVGV4dEVtcGhhc2lzQ29sb3Ioby52aXNpdGVkTGlua1Rl
eHRFbXBoYXNpc0NvbG9yKQogICAgICwgdGV4dFNoYWRvdyhvLnRleHRTaGFkb3cgPyBhZG9wdFB0
cihuZXcgU2hhZG93RGF0YSgqby50ZXh0U2hhZG93KSkgOiBudWxscHRyKQogICAgICwgaGlnaGxp
Z2h0KG8uaGlnaGxpZ2h0KQogICAgICwgY3Vyc29yRGF0YShvLmN1cnNvckRhdGEpCkBAIC0xMzcs
MTIgKzEzMSw2IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERh
dGEoY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykKICAgICAsIG1fZWZmZWN0aXZlWm9v
bShvLm1fZWZmZWN0aXZlWm9vbSkKICAgICAsIHdpZG93cyhvLndpZG93cykKICAgICAsIG9ycGhh
bnMoby5vcnBoYW5zKQotICAgICwgbV9oYXNUZXh0U3Ryb2tlQ29sb3Ioby5tX2hhc1RleHRTdHJv
a2VDb2xvcikKLSAgICAsIG1faGFzVGV4dEZpbGxDb2xvcihvLm1faGFzVGV4dEZpbGxDb2xvcikK
LSAgICAsIG1faGFzVGV4dEVtcGhhc2lzQ29sb3Ioby5tX2hhc1RleHRFbXBoYXNpc0NvbG9yKQot
ICAgICwgbV9oYXNWaXNpdGVkTGlua1RleHRTdHJva2VDb2xvcihvLm1faGFzVmlzaXRlZExpbmtU
ZXh0U3Ryb2tlQ29sb3IpCi0gICAgLCBtX2hhc1Zpc2l0ZWRMaW5rVGV4dEZpbGxDb2xvcihvLm1f
aGFzVmlzaXRlZExpbmtUZXh0RmlsbENvbG9yKQotICAgICwgbV9oYXNWaXNpdGVkTGlua1RleHRF
bXBoYXNpc0NvbG9yKG8ubV9oYXNWaXNpdGVkTGlua1RleHRFbXBoYXNpc0NvbG9yKQogICAgICwg
dGV4dFNlY3VyaXR5KG8udGV4dFNlY3VyaXR5KQogICAgICwgdXNlck1vZGlmeShvLnVzZXJNb2Rp
ZnkpCiAgICAgLCB3b3JkQnJlYWsoby53b3JkQnJlYWspCkBAIC0xOTIsMTIgKzE4MCw2IEBAIFN0
eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YSYgbykKICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICAsIG1f
dmFyaWFibGVzKG8ubV92YXJpYWJsZXMpCiAjZW5kaWYKLSAgICAsIG1fdGV4dFN0cm9rZUNvbG9y
KG8ubV90ZXh0U3Ryb2tlQ29sb3IpCi0gICAgLCBtX3RleHRGaWxsQ29sb3Ioby5tX3RleHRGaWxs
Q29sb3IpCi0gICAgLCBtX3RleHRFbXBoYXNpc0NvbG9yKG8ubV90ZXh0RW1waGFzaXNDb2xvcikK
LSAgICAsIG1fdmlzaXRlZExpbmtUZXh0U3Ryb2tlQ29sb3Ioby5tX3Zpc2l0ZWRMaW5rVGV4dFN0
cm9rZUNvbG9yKQotICAgICwgbV92aXNpdGVkTGlua1RleHRGaWxsQ29sb3Ioby5tX3Zpc2l0ZWRM
aW5rVGV4dEZpbGxDb2xvcikKLSAgICAsIG1fdmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xvcihv
Lm1fdmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xvcikKIHsKIH0KIApAQCAtMjE2LDEzICsxOTgs
MTMgQEAgc3RhdGljIGJvb2wgY3Vyc29yRGF0YUVxdWl2YWxlbnQoY29uc3QgQ3Vyc29yTGlzdCog
YzEsIGNvbnN0IEN1cnNvckxpc3QqIGMyKQogCiBib29sIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6
Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykgY29uc3QKIHsKLSAg
ICByZXR1cm4gdGV4dFN0cm9rZUNvbG9yKCkgPT0gby50ZXh0U3Ryb2tlQ29sb3IoKQorICAgIHJl
dHVybiB0ZXh0U3Ryb2tlQ29sb3IgPT0gby50ZXh0U3Ryb2tlQ29sb3IKICAgICAgICAgJiYgdGV4
dFN0cm9rZVdpZHRoID09IG8udGV4dFN0cm9rZVdpZHRoCi0gICAgICAgICYmIHRleHRGaWxsQ29s
b3IoKSA9PSBvLnRleHRGaWxsQ29sb3IoKQotICAgICAgICAmJiB0ZXh0RW1waGFzaXNDb2xvcigp
ID09IG8udGV4dEVtcGhhc2lzQ29sb3IoKQotICAgICAgICAmJiB2aXNpdGVkTGlua1RleHRTdHJv
a2VDb2xvcigpID09IG8udmlzaXRlZExpbmtUZXh0U3Ryb2tlQ29sb3IoKQotICAgICAgICAmJiB2
aXNpdGVkTGlua1RleHRGaWxsQ29sb3IoKSA9PSBvLnZpc2l0ZWRMaW5rVGV4dEZpbGxDb2xvcigp
Ci0gICAgICAgICYmIHZpc2l0ZWRMaW5rVGV4dEVtcGhhc2lzQ29sb3IoKSA9PSBvLnZpc2l0ZWRM
aW5rVGV4dEVtcGhhc2lzQ29sb3IoKQorICAgICAgICAmJiB0ZXh0RmlsbENvbG9yID09IG8udGV4
dEZpbGxDb2xvcgorICAgICAgICAmJiB0ZXh0RW1waGFzaXNDb2xvciA9PSBvLnRleHRFbXBoYXNp
c0NvbG9yCisgICAgICAgICYmIHZpc2l0ZWRMaW5rVGV4dFN0cm9rZUNvbG9yID09IG8udmlzaXRl
ZExpbmtUZXh0U3Ryb2tlQ29sb3IKKyAgICAgICAgJiYgdmlzaXRlZExpbmtUZXh0RmlsbENvbG9y
ID09IG8udmlzaXRlZExpbmtUZXh0RmlsbENvbG9yCisgICAgICAgICYmIHZpc2l0ZWRMaW5rVGV4
dEVtcGhhc2lzQ29sb3IgPT0gby52aXNpdGVkTGlua1RleHRFbXBoYXNpc0NvbG9yCiAjaWYgRU5B
QkxFKFRPVUNIX0VWRU5UUykKICAgICAgICAgJiYgdGFwSGlnaGxpZ2h0Q29sb3IgPT0gby50YXBI
aWdobGlnaHRDb2xvcgogI2VuZGlmCkBAIC0yODksNDIgKzI3MSw2IEBAIGJvb2wgU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YTo6c2hhZG93RGF0YUVxdWl2YWxlbnQoY29uc3QgU3R5bGVSYXJlSW5oZXJp
dGVkRGF0YSYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBTdHlsZVJhcmVJbmhlcml0ZWRE
YXRhOjpzZXRUZXh0U3Ryb2tlQ29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQotewotICAgIG1faGFz
VGV4dFN0cm9rZUNvbG9yID0gY29sb3IuaXNWYWxpZCgpOwotICAgIG1fdGV4dFN0cm9rZUNvbG9y
ID0gY29sb3IucmdiKCk7Ci19Ci0KLXZvaWQgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6c2V0VGV4
dEZpbGxDb2xvcihjb25zdCBDb2xvciYgY29sb3IpCi17Ci0gICAgbV9oYXNUZXh0RmlsbENvbG9y
ID0gY29sb3IuaXNWYWxpZCgpOwotICAgIG1fdGV4dEZpbGxDb2xvciA9IGNvbG9yLnJnYigpOwot
fQotCi12b2lkIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OnNldFRleHRFbXBoYXNpc0NvbG9yKGNv
bnN0IENvbG9yJiBjb2xvcikKLXsKLSAgICBtX2hhc1RleHRFbXBoYXNpc0NvbG9yID0gY29sb3Iu
aXNWYWxpZCgpOwotICAgIG1fdGV4dEVtcGhhc2lzQ29sb3IgPSBjb2xvci5yZ2IoKTsKLX0KLQot
dm9pZCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpzZXRWaXNpdGVkTGlua1RleHRTdHJva2VDb2xv
cihjb25zdCBDb2xvciYgY29sb3IpCi17Ci0gICAgbV9oYXNWaXNpdGVkTGlua1RleHRTdHJva2VD
b2xvciA9IGNvbG9yLmlzVmFsaWQoKTsKLSAgICBtX3Zpc2l0ZWRMaW5rVGV4dFN0cm9rZUNvbG9y
ID0gY29sb3IucmdiKCk7Ci19Ci0KLXZvaWQgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6c2V0Vmlz
aXRlZExpbmtUZXh0RmlsbENvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKLXsKLSAgICBtX2hhc1Zp
c2l0ZWRMaW5rVGV4dEZpbGxDb2xvciA9IGNvbG9yLmlzVmFsaWQoKTsKLSAgICBtX3Zpc2l0ZWRM
aW5rVGV4dEZpbGxDb2xvciA9IGNvbG9yLnJnYigpOwotfQotCi12b2lkIFN0eWxlUmFyZUluaGVy
aXRlZERhdGE6OnNldFZpc2l0ZWRMaW5rVGV4dEVtcGhhc2lzQ29sb3IoY29uc3QgQ29sb3ImIGNv
bG9yKQotewotICAgIG1faGFzVmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xvciA9IGNvbG9yLmlz
VmFsaWQoKTsKLSAgICBtX3Zpc2l0ZWRMaW5rVGV4dEVtcGhhc2lzQ29sb3IgPSBjb2xvci5yZ2Io
KTsKLX0KLQogdm9pZCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpyZXBvcnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6
Q1NTKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJh
cmVJbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlSW5oZXJpdGVkRGF0YS5oCmluZGV4IDE2MDEzYzVkZjFhMWQyNTZmMmQ4ZDc2NmQ4MmFlNjgy
YzBlZTQxYTIuLmQwN2UwNGMzMzA5ODBmMzA4ODkyNThkMTU3YjE3MzhlOTIxYmM3YjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWRE
YXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVy
aXRlZERhdGEuaApAQCAtNDEsNyArNDEsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBD
dXJzb3JMaXN0OwogY2xhc3MgUXVvdGVzRGF0YTsKIGNsYXNzIFNoYWRvd0RhdGE7Ci1jbGFzcyBT
dHlsZUltYWdlOwogCiAvLyBUaGlzIHN0cnVjdCBpcyBmb3IgcmFyZWx5IHVzZWQgaW5oZXJpdGVk
IENTUzMsIENTUzIsIGFuZCBXZWJLaXQtc3BlY2lmaWMgcHJvcGVydGllcy4KIC8vIEJ5IGdyb3Vw
aW5nIHRoZW0gdG9nZXRoZXIsIHdlIHNhdmUgc3BhY2UsIGFuZCBvbmx5IGFsbG9jYXRlIHRoaXMg
b2JqZWN0IHdoZW4gc29tZW9uZQpAQCAtNjEsMjUgKzYwLDE4IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OwogCisgICAgQ29s
b3IgdGV4dFN0cm9rZUNvbG9yOwogICAgIGZsb2F0IHRleHRTdHJva2VXaWR0aDsKLQotICAgIENv
bG9yIHRleHRTdHJva2VDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1faGFzVGV4dFN0cm9rZUNvbG9y
ID8gQ29sb3IobV90ZXh0U3Ryb2tlQ29sb3IpIDogQ29sb3IoKTsgfQotICAgIENvbG9yIHRleHRG
aWxsQ29sb3IoKSBjb25zdCB7IHJldHVybiBtX2hhc1RleHRGaWxsQ29sb3IgPyBDb2xvcihtX3Rl
eHRGaWxsQ29sb3IpIDogQ29sb3IoKTsgfQotICAgIENvbG9yIHRleHRFbXBoYXNpc0NvbG9yKCkg
Y29uc3QgeyByZXR1cm4gbV9oYXNUZXh0RW1waGFzaXNDb2xvciA/IENvbG9yKG1fdGV4dEVtcGhh
c2lzQ29sb3IpIDogQ29sb3IoKTsgfQotICAgIENvbG9yIHZpc2l0ZWRMaW5rVGV4dFN0cm9rZUNv
bG9yKCkgY29uc3QgeyByZXR1cm4gbV9oYXNWaXNpdGVkTGlua1RleHRTdHJva2VDb2xvciA/IENv
bG9yKG1fdmlzaXRlZExpbmtUZXh0U3Ryb2tlQ29sb3IpIDogQ29sb3IoKTsgfQotICAgIENvbG9y
IHZpc2l0ZWRMaW5rVGV4dEZpbGxDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzaXRlZExp
bmtUZXh0RmlsbENvbG9yID8gQ29sb3IobV92aXNpdGVkTGlua1RleHRGaWxsQ29sb3IpIDogQ29s
b3IoKTsgfQotICAgIENvbG9yIHZpc2l0ZWRMaW5rVGV4dEVtcGhhc2lzQ29sb3IoKSBjb25zdCB7
IHJldHVybiBtX2hhc1Zpc2l0ZWRMaW5rVGV4dEVtcGhhc2lzQ29sb3IgPyBDb2xvcihtX3Zpc2l0
ZWRMaW5rVGV4dEVtcGhhc2lzQ29sb3IpIDogQ29sb3IoKTsgfQotCi0gICAgdm9pZCBzZXRUZXh0
U3Ryb2tlQ29sb3IoY29uc3QgQ29sb3ImKTsKLSAgICB2b2lkIHNldFRleHRGaWxsQ29sb3IoY29u
c3QgQ29sb3ImKTsKLSAgICB2b2lkIHNldFRleHRFbXBoYXNpc0NvbG9yKGNvbnN0IENvbG9yJik7
Ci0gICAgdm9pZCBzZXRWaXNpdGVkTGlua1RleHRTdHJva2VDb2xvcihjb25zdCBDb2xvciYpOwot
ICAgIHZvaWQgc2V0VmlzaXRlZExpbmtUZXh0RmlsbENvbG9yKGNvbnN0IENvbG9yJik7Ci0gICAg
dm9pZCBzZXRWaXNpdGVkTGlua1RleHRFbXBoYXNpc0NvbG9yKGNvbnN0IENvbG9yJik7CisgICAg
Q29sb3IgdGV4dEZpbGxDb2xvcjsKKyAgICBDb2xvciB0ZXh0RW1waGFzaXNDb2xvcjsKKyAgICAK
KyAgICBDb2xvciB2aXNpdGVkTGlua1RleHRTdHJva2VDb2xvcjsKKyAgICBDb2xvciB2aXNpdGVk
TGlua1RleHRGaWxsQ29sb3I7CisgICAgQ29sb3IgdmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xv
cjsgICAgCiAKICAgICBPd25QdHI8U2hhZG93RGF0YT4gdGV4dFNoYWRvdzsgLy8gT3VyIHRleHQg
c2hhZG93IGluZm9ybWF0aW9uIGZvciBzaGFkb3dlZCB0ZXh0IGRyYXdpbmcuCiAgICAgQXRvbWlj
U3RyaW5nIGhpZ2hsaWdodDsgLy8gQXBwbGUtc3BlY2lmaWMgZXh0ZW5zaW9uIGZvciBjdXN0b20g
aGlnaGxpZ2h0IHJlbmRlcmluZy4KLQorICAgIAogICAgIFJlZlB0cjxDdXJzb3JMaXN0PiBjdXJz
b3JEYXRhOwogICAgIExlbmd0aCBpbmRlbnQ7CiAgICAgZmxvYXQgbV9lZmZlY3RpdmVab29tOwpA
QCAtODcsMTMgKzc5LDcgQEAgcHVibGljOgogICAgIC8vIFBhZ2VkIG1lZGlhIHByb3BlcnRpZXMu
CiAgICAgc2hvcnQgd2lkb3dzOwogICAgIHNob3J0IG9ycGhhbnM7Ci0KLSAgICB1bnNpZ25lZCBt
X2hhc1RleHRTdHJva2VDb2xvciA6IDE7Ci0gICAgdW5zaWduZWQgbV9oYXNUZXh0RmlsbENvbG9y
IDogMTsKLSAgICB1bnNpZ25lZCBtX2hhc1RleHRFbXBoYXNpc0NvbG9yIDogMTsKLSAgICB1bnNp
Z25lZCBtX2hhc1Zpc2l0ZWRMaW5rVGV4dFN0cm9rZUNvbG9yIDogMTsKLSAgICB1bnNpZ25lZCBt
X2hhc1Zpc2l0ZWRMaW5rVGV4dEZpbGxDb2xvciA6IDE7Ci0gICAgdW5zaWduZWQgbV9oYXNWaXNp
dGVkTGlua1RleHRFbXBoYXNpc0NvbG9yIDogMTsKKyAgICAKICAgICB1bnNpZ25lZCB0ZXh0U2Vj
dXJpdHkgOiAyOyAvLyBFVGV4dFNlY3VyaXR5CiAgICAgdW5zaWduZWQgdXNlck1vZGlmeSA6IDI7
IC8vIEVVc2VyTW9kaWZ5IChlZGl0aW5nKQogICAgIHVuc2lnbmVkIHdvcmRCcmVhayA6IDI7IC8v
IEVXb3JkQnJlYWsKQEAgLTE0Niw3ICsxMzIsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCi0gICAgUkdCQTMyIHRhcEhpZ2hsaWdodENvbG9yOworICAgIENv
bG9yIHRhcEhpZ2hsaWdodENvbG9yOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxF
UykKQEAgLTE1NCwxNCArMTQwLDYgQEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6Ci0gICAg
UkdCQTMyIG1fdGV4dFN0cm9rZUNvbG9yOwotICAgIFJHQkEzMiBtX3RleHRGaWxsQ29sb3I7Ci0g
ICAgUkdCQTMyIG1fdGV4dEVtcGhhc2lzQ29sb3I7Ci0KLSAgICBSR0JBMzIgbV92aXNpdGVkTGlu
a1RleHRTdHJva2VDb2xvcjsKLSAgICBSR0JBMzIgbV92aXNpdGVkTGlua1RleHRGaWxsQ29sb3I7
Ci0gICAgUkdCQTMyIG1fdmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xvcjsKLQogICAgIFN0eWxl
UmFyZUluaGVyaXRlZERhdGEoKTsKICAgICBTdHlsZVJhcmVJbmhlcml0ZWREYXRhKGNvbnN0IFN0
eWxlUmFyZUluaGVyaXRlZERhdGEmKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXgg
ZGUxN2MyMzhjZTgyMjRkMGUzNTM1YWEyYTk2ZGFiYWM3NGMwZjg5OS4uNmM4OTg5NjBkZjFmOWI1
YTk0ZTA1NDcxYzg2MzNlYzJiMDIzNGIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcApAQCAt
NTQsNiArNTQsNyBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhKCkKICAgICAsIG1fd3JhcE1hcmdpbihSZW5kZXJTdHlsZTo6aW5pdGlhbFdyYXBN
YXJnaW4oKSkKICAgICAsIG1fd3JhcFBhZGRpbmcoUmVuZGVyU3R5bGU6OmluaXRpYWxXcmFwUGFk
ZGluZygpKQogICAgICwgbV9jbGlwUGF0aChSZW5kZXJTdHlsZTo6aW5pdGlhbENsaXBQYXRoKCkp
CisgICAgLCBtX3Zpc2l0ZWRMaW5rQmFja2dyb3VuZENvbG9yKFJlbmRlclN0eWxlOjppbml0aWFs
QmFja2dyb3VuZENvbG9yKCkpCiAgICAgLCBtX29yZGVyKFJlbmRlclN0eWxlOjppbml0aWFsT3Jk
ZXIoKSkKICAgICAsIG1fZmxvd1RocmVhZChSZW5kZXJTdHlsZTo6aW5pdGlhbEZsb3dUaHJlYWQo
KSkKICAgICAsIG1fcmVnaW9uVGhyZWFkKFJlbmRlclN0eWxlOjppbml0aWFsUmVnaW9uVGhyZWFk
KCkpCkBAIC04NywxOSArODgsNiBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhKCkKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgICwg
bV9lZmZlY3RpdmVCbGVuZE1vZGUoUmVuZGVyU3R5bGU6OmluaXRpYWxCbGVuZE1vZGUoKSkKICNl
bmRpZgotICAgICwgbV9oYXNWaXNpdGVkTGlua0JhY2tncm91bmRDb2xvcihSZW5kZXJTdHlsZTo6
aW5pdGlhbEJhY2tncm91bmRDb2xvcigpLmlzVmFsaWQoKSkKLSAgICAsIG1faGFzVmlzaXRlZExp
bmtPdXRsaW5lQ29sb3IoZmFsc2UpCi0gICAgLCBtX2hhc1Zpc2l0ZWRMaW5rQm9yZGVyTGVmdENv
bG9yKGZhbHNlKQotICAgICwgbV9oYXNWaXNpdGVkTGlua0JvcmRlclJpZ2h0Q29sb3IoZmFsc2Up
Ci0gICAgLCBtX2hhc1Zpc2l0ZWRMaW5rQm9yZGVyVG9wQ29sb3IoZmFsc2UpCi0gICAgLCBtX2hh
c1Zpc2l0ZWRMaW5rQm9yZGVyQm90dG9tQ29sb3IoZmFsc2UpCi0gICAgLCBtX3Zpc2l0ZWRMaW5r
QmFja2dyb3VuZENvbG9yKFJlbmRlclN0eWxlOjppbml0aWFsQmFja2dyb3VuZENvbG9yKCkucmdi
KCkpCi0gICAgLCBtX3Zpc2l0ZWRMaW5rT3V0bGluZUNvbG9yKENvbG9yOjp0cmFuc3BhcmVudCkK
LSAgICAsIG1fdmlzaXRlZExpbmtCb3JkZXJMZWZ0Q29sb3IoQ29sb3I6OnRyYW5zcGFyZW50KQot
ICAgICwgbV92aXNpdGVkTGlua0JvcmRlclJpZ2h0Q29sb3IoQ29sb3I6OnRyYW5zcGFyZW50KQot
ICAgICwgbV92aXNpdGVkTGlua0JvcmRlclRvcENvbG9yKENvbG9yOjp0cmFuc3BhcmVudCkKLSAg
ICAsIG1fdmlzaXRlZExpbmtCb3JkZXJCb3R0b21Db2xvcihDb2xvcjo6dHJhbnNwYXJlbnQpCi0K
IHsKICAgICBtX21hc2tCb3hJbWFnZS5zZXRNYXNrRGVmYXVsdHMoKTsKIH0KQEAgLTE0MCw2ICsx
MjgsMTIgQEAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZWQKICAgICAsIG1fd3JhcE1hcmdpbihvLm1f
d3JhcE1hcmdpbikKICAgICAsIG1fd3JhcFBhZGRpbmcoby5tX3dyYXBQYWRkaW5nKQogICAgICwg
bV9jbGlwUGF0aChvLm1fY2xpcFBhdGgpCisgICAgLCBtX3Zpc2l0ZWRMaW5rQmFja2dyb3VuZENv
bG9yKG8ubV92aXNpdGVkTGlua0JhY2tncm91bmRDb2xvcikKKyAgICAsIG1fdmlzaXRlZExpbmtP
dXRsaW5lQ29sb3Ioby5tX3Zpc2l0ZWRMaW5rT3V0bGluZUNvbG9yKQorICAgICwgbV92aXNpdGVk
TGlua0JvcmRlckxlZnRDb2xvcihvLm1fdmlzaXRlZExpbmtCb3JkZXJMZWZ0Q29sb3IpCisgICAg
LCBtX3Zpc2l0ZWRMaW5rQm9yZGVyUmlnaHRDb2xvcihvLm1fdmlzaXRlZExpbmtCb3JkZXJSaWdo
dENvbG9yKQorICAgICwgbV92aXNpdGVkTGlua0JvcmRlclRvcENvbG9yKG8ubV92aXNpdGVkTGlu
a0JvcmRlclRvcENvbG9yKQorICAgICwgbV92aXNpdGVkTGlua0JvcmRlckJvdHRvbUNvbG9yKG8u
bV92aXNpdGVkTGlua0JvcmRlckJvdHRvbUNvbG9yKQogICAgICwgbV9vcmRlcihvLm1fb3JkZXIp
CiAgICAgLCBtX2Zsb3dUaHJlYWQoby5tX2Zsb3dUaHJlYWQpCiAgICAgLCBtX3JlZ2lvblRocmVh
ZChvLm1fcmVnaW9uVGhyZWFkKQpAQCAtMTczLDE4ICsxNjcsNiBAQCBTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZU5vbklu
aGVyaXRlZAogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgLCBtX2VmZmVjdGl2ZUJs
ZW5kTW9kZShvLm1fZWZmZWN0aXZlQmxlbmRNb2RlKQogI2VuZGlmCi0gICAgLCBtX2hhc1Zpc2l0
ZWRMaW5rQmFja2dyb3VuZENvbG9yKG8ubV9oYXNWaXNpdGVkTGlua0JhY2tncm91bmRDb2xvcikK
LSAgICAsIG1faGFzVmlzaXRlZExpbmtPdXRsaW5lQ29sb3Ioby5tX2hhc1Zpc2l0ZWRMaW5rT3V0
bGluZUNvbG9yKQotICAgICwgbV9oYXNWaXNpdGVkTGlua0JvcmRlckxlZnRDb2xvcihvLm1faGFz
VmlzaXRlZExpbmtCb3JkZXJMZWZ0Q29sb3IpCi0gICAgLCBtX2hhc1Zpc2l0ZWRMaW5rQm9yZGVy
UmlnaHRDb2xvcihvLm1faGFzVmlzaXRlZExpbmtCb3JkZXJSaWdodENvbG9yKQotICAgICwgbV9o
YXNWaXNpdGVkTGlua0JvcmRlclRvcENvbG9yKG8ubV9oYXNWaXNpdGVkTGlua0JvcmRlclRvcENv
bG9yKQotICAgICwgbV9oYXNWaXNpdGVkTGlua0JvcmRlckJvdHRvbUNvbG9yKG8ubV9oYXNWaXNp
dGVkTGlua0JvcmRlckJvdHRvbUNvbG9yKQotICAgICwgbV92aXNpdGVkTGlua0JhY2tncm91bmRD
b2xvcihvLm1fdmlzaXRlZExpbmtCYWNrZ3JvdW5kQ29sb3IpCi0gICAgLCBtX3Zpc2l0ZWRMaW5r
T3V0bGluZUNvbG9yKG8ubV92aXNpdGVkTGlua091dGxpbmVDb2xvcikKLSAgICAsIG1fdmlzaXRl
ZExpbmtCb3JkZXJMZWZ0Q29sb3Ioby5tX3Zpc2l0ZWRMaW5rQm9yZGVyTGVmdENvbG9yKQotICAg
ICwgbV92aXNpdGVkTGlua0JvcmRlclJpZ2h0Q29sb3Ioby5tX3Zpc2l0ZWRMaW5rQm9yZGVyUmln
aHRDb2xvcikKLSAgICAsIG1fdmlzaXRlZExpbmtCb3JkZXJUb3BDb2xvcihvLm1fdmlzaXRlZExp
bmtCb3JkZXJUb3BDb2xvcikKLSAgICAsIG1fdmlzaXRlZExpbmtCb3JkZXJCb3R0b21Db2xvcihv
Lm1fdmlzaXRlZExpbmtCb3JkZXJCb3R0b21Db2xvcikKIHsKIH0KIApAQCAtMjMxLDEyICsyMTMs
MTIgQEAgYm9vbCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEmIG8pIGMKICAgICAgICAgJiYgbV93cmFwTWFyZ2luID09
IG8ubV93cmFwTWFyZ2luCiAgICAgICAgICYmIG1fd3JhcFBhZGRpbmcgPT0gby5tX3dyYXBQYWRk
aW5nCiAgICAgICAgICYmIG1fY2xpcFBhdGggPT0gby5tX2NsaXBQYXRoCi0gICAgICAgICYmIHZp
c2l0ZWRMaW5rQmFja2dyb3VuZENvbG9yKCkgPT0gby52aXNpdGVkTGlua0JhY2tncm91bmRDb2xv
cigpCi0gICAgICAgICYmIHZpc2l0ZWRMaW5rT3V0bGluZUNvbG9yKCkgPT0gby52aXNpdGVkTGlu
a091dGxpbmVDb2xvcigpCi0gICAgICAgICYmIHZpc2l0ZWRMaW5rQm9yZGVyTGVmdENvbG9yKCkg
PT0gby52aXNpdGVkTGlua0JvcmRlckxlZnRDb2xvcigpCi0gICAgICAgICYmIHZpc2l0ZWRMaW5r
Qm9yZGVyUmlnaHRDb2xvcigpID09IG8udmlzaXRlZExpbmtCb3JkZXJSaWdodENvbG9yKCkKLSAg
ICAgICAgJiYgdmlzaXRlZExpbmtCb3JkZXJUb3BDb2xvcigpID09IG8udmlzaXRlZExpbmtCb3Jk
ZXJUb3BDb2xvcigpCi0gICAgICAgICYmIHZpc2l0ZWRMaW5rQm9yZGVyQm90dG9tQ29sb3IoKSA9
PSBvLnZpc2l0ZWRMaW5rQm9yZGVyQm90dG9tQ29sb3IoKQorICAgICAgICAmJiBtX3Zpc2l0ZWRM
aW5rQmFja2dyb3VuZENvbG9yID09IG8ubV92aXNpdGVkTGlua0JhY2tncm91bmRDb2xvcgorICAg
ICAgICAmJiBtX3Zpc2l0ZWRMaW5rT3V0bGluZUNvbG9yID09IG8ubV92aXNpdGVkTGlua091dGxp
bmVDb2xvcgorICAgICAgICAmJiBtX3Zpc2l0ZWRMaW5rQm9yZGVyTGVmdENvbG9yID09IG8ubV92
aXNpdGVkTGlua0JvcmRlckxlZnRDb2xvcgorICAgICAgICAmJiBtX3Zpc2l0ZWRMaW5rQm9yZGVy
UmlnaHRDb2xvciA9PSBvLm1fdmlzaXRlZExpbmtCb3JkZXJSaWdodENvbG9yCisgICAgICAgICYm
IG1fdmlzaXRlZExpbmtCb3JkZXJUb3BDb2xvciA9PSBvLm1fdmlzaXRlZExpbmtCb3JkZXJUb3BD
b2xvcgorICAgICAgICAmJiBtX3Zpc2l0ZWRMaW5rQm9yZGVyQm90dG9tQ29sb3IgPT0gby5tX3Zp
c2l0ZWRMaW5rQm9yZGVyQm90dG9tQ29sb3IKICAgICAgICAgJiYgbV9vcmRlciA9PSBvLm1fb3Jk
ZXIKICAgICAgICAgJiYgbV9mbG93VGhyZWFkID09IG8ubV9mbG93VGhyZWFkCiAgICAgICAgICYm
IG1fcmVnaW9uVGhyZWFkID09IG8ubV9yZWdpb25UaHJlYWQKQEAgLTMzMyw0MiArMzE1LDYgQEAg
Ym9vbCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjp0cmFuc2l0aW9uRGF0YUVxdWl2YWxlbnQo
Y29uc3QgU3R5bGVSYXJlTm9uSW5oZXIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBTdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpzZXRWaXNpdGVkTGlua0JvcmRlckxlZnRDb2xvcihjb25z
dCBDb2xvciYgY29sb3IpCi17Ci0gICAgbV9oYXNWaXNpdGVkTGlua0JvcmRlckxlZnRDb2xvciA9
IGNvbG9yLmlzVmFsaWQoKTsKLSAgICBtX3Zpc2l0ZWRMaW5rQm9yZGVyTGVmdENvbG9yID0gY29s
b3IucmdiKCk7Ci19Ci0KLXZvaWQgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6c2V0VmlzaXRl
ZExpbmtCb3JkZXJSaWdodENvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKLXsKLSAgICBtX2hhc1Zp
c2l0ZWRMaW5rQm9yZGVyUmlnaHRDb2xvciA9IGNvbG9yLmlzVmFsaWQoKTsKLSAgICBtX3Zpc2l0
ZWRMaW5rQm9yZGVyUmlnaHRDb2xvciA9IGNvbG9yLnJnYigpOwotfQotCi12b2lkIFN0eWxlUmFy
ZU5vbkluaGVyaXRlZERhdGE6OnNldFZpc2l0ZWRMaW5rQm9yZGVyVG9wQ29sb3IoY29uc3QgQ29s
b3ImIGNvbG9yKQotewotICAgIG1faGFzVmlzaXRlZExpbmtCb3JkZXJUb3BDb2xvciA9IGNvbG9y
LmlzVmFsaWQoKTsKLSAgICBtX3Zpc2l0ZWRMaW5rQm9yZGVyVG9wQ29sb3IgPSBjb2xvci5yZ2Io
KTsKLX0KLQotdm9pZCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpzZXRWaXNpdGVkTGlua0Jv
cmRlckJvdHRvbUNvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKLXsKLSAgICBtX2hhc1Zpc2l0ZWRM
aW5rQm9yZGVyQm90dG9tQ29sb3IgPSBjb2xvci5pc1ZhbGlkKCk7Ci0gICAgbV92aXNpdGVkTGlu
a0JvcmRlckJvdHRvbUNvbG9yID0gY29sb3IucmdiKCk7Ci19Ci0KLXZvaWQgU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YTo6c2V0VmlzaXRlZExpbmtPdXRsaW5lQ29sb3IoY29uc3QgQ29sb3ImIGNv
bG9yKQotewotICAgIG1faGFzVmlzaXRlZExpbmtPdXRsaW5lQ29sb3IgPSBjb2xvci5pc1ZhbGlk
KCk7Ci0gICAgbV92aXNpdGVkTGlua091dGxpbmVDb2xvciA9IGNvbG9yLnJnYigpOwotfQotCi12
b2lkIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OnNldFZpc2l0ZWRMaW5rQmFja2dyb3VuZENv
bG9yKGNvbnN0IENvbG9yJiBjb2xvcikKLXsKLSAgICBtX2hhc1Zpc2l0ZWRMaW5rQmFja2dyb3Vu
ZENvbG9yID0gY29sb3IuaXNWYWxpZCgpOwotICAgIG1fdmlzaXRlZExpbmtCYWNrZ3JvdW5kQ29s
b3IgPSBjb2xvci5yZ2IoKTsKLX0KLQogdm9pZCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpy
ZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdl
YkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCmluZGV4IGE3ZGQ0YjUy
YzI3NjEwZDE2NzJmOWU0MGEwZDk5ZjJmMGVjMWFjMjQuLmUzNzg0ZDRhZmI0NjE0NTllMGRlMzg2
NjU4MWUxMTRmMDdlYzdjNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApAQCAtMTQ0LDE5ICsxNDQs
MTIgQEAgcHVibGljOgogCiAgICAgUmVmUHRyPENsaXBQYXRoT3BlcmF0aW9uPiBtX2NsaXBQYXRo
OwogCi0gICAgQ29sb3IgdmlzaXRlZExpbmtCYWNrZ3JvdW5kQ29sb3IoKSBjb25zdCB7IHJldHVy
biBtX2hhc1Zpc2l0ZWRMaW5rQmFja2dyb3VuZENvbG9yID8gQ29sb3IobV92aXNpdGVkTGlua0Jh
Y2tncm91bmRDb2xvcikgOiBDb2xvcigpOyB9Ci0gICAgQ29sb3IgdmlzaXRlZExpbmtPdXRsaW5l
Q29sb3IoKSBjb25zdCB7IHJldHVybiBtX2hhc1Zpc2l0ZWRMaW5rT3V0bGluZUNvbG9yID8gQ29s
b3IobV92aXNpdGVkTGlua091dGxpbmVDb2xvcikgOiBDb2xvcigpOyB9Ci0gICAgQ29sb3Igdmlz
aXRlZExpbmtCb3JkZXJMZWZ0Q29sb3IoKSBjb25zdCB7IHJldHVybiBtX2hhc1Zpc2l0ZWRMaW5r
Qm9yZGVyTGVmdENvbG9yID8gQ29sb3IobV92aXNpdGVkTGlua0JvcmRlckxlZnRDb2xvcikgOiBD
b2xvcigpOyB9Ci0gICAgQ29sb3IgdmlzaXRlZExpbmtCb3JkZXJSaWdodENvbG9yKCkgY29uc3Qg
eyByZXR1cm4gbV9oYXNWaXNpdGVkTGlua0JvcmRlclJpZ2h0Q29sb3IgPyBDb2xvcihtX3Zpc2l0
ZWRMaW5rQm9yZGVyUmlnaHRDb2xvcikgOiBDb2xvcigpOyB9Ci0gICAgQ29sb3IgdmlzaXRlZExp
bmtCb3JkZXJUb3BDb2xvcigpIGNvbnN0IHsgcmV0dXJuIG1faGFzVmlzaXRlZExpbmtCb3JkZXJU
b3BDb2xvciA/IENvbG9yKG1fdmlzaXRlZExpbmtCb3JkZXJUb3BDb2xvcikgOiBDb2xvcigpOyB9
Ci0gICAgQ29sb3IgdmlzaXRlZExpbmtCb3JkZXJCb3R0b21Db2xvcigpIGNvbnN0IHsgcmV0dXJu
IG1faGFzVmlzaXRlZExpbmtCb3JkZXJCb3R0b21Db2xvciA/IENvbG9yKG1fdmlzaXRlZExpbmtC
b3JkZXJCb3R0b21Db2xvcikgOiBDb2xvcigpOyB9Ci0KLSAgICB2b2lkIHNldFZpc2l0ZWRMaW5r
QmFja2dyb3VuZENvbG9yKGNvbnN0IENvbG9yJik7Ci0gICAgdm9pZCBzZXRWaXNpdGVkTGlua091
dGxpbmVDb2xvcihjb25zdCBDb2xvciYpOwotICAgIHZvaWQgc2V0VmlzaXRlZExpbmtCb3JkZXJM
ZWZ0Q29sb3IoY29uc3QgQ29sb3ImKTsKLSAgICB2b2lkIHNldFZpc2l0ZWRMaW5rQm9yZGVyUmln
aHRDb2xvcihjb25zdCBDb2xvciYpOwotICAgIHZvaWQgc2V0VmlzaXRlZExpbmtCb3JkZXJUb3BD
b2xvcihjb25zdCBDb2xvciYpOwotICAgIHZvaWQgc2V0VmlzaXRlZExpbmtCb3JkZXJCb3R0b21D
b2xvcihjb25zdCBDb2xvciYpOworICAgIENvbG9yIG1fdmlzaXRlZExpbmtCYWNrZ3JvdW5kQ29s
b3I7CisgICAgQ29sb3IgbV92aXNpdGVkTGlua091dGxpbmVDb2xvcjsKKyAgICBDb2xvciBtX3Zp
c2l0ZWRMaW5rQm9yZGVyTGVmdENvbG9yOworICAgIENvbG9yIG1fdmlzaXRlZExpbmtCb3JkZXJS
aWdodENvbG9yOworICAgIENvbG9yIG1fdmlzaXRlZExpbmtCb3JkZXJUb3BDb2xvcjsKKyAgICBD
b2xvciBtX3Zpc2l0ZWRMaW5rQm9yZGVyQm90dG9tQ29sb3I7CiAKICAgICBpbnQgbV9vcmRlcjsK
IApAQCAtMjAxLDIxICsxOTQsNyBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgbV9lZmZlY3RpdmVC
bGVuZE1vZGU6IDU7IC8vIEVCbGVuZE1vZGUKICNlbmRpZgogCi0gICAgdW5zaWduZWQgbV9oYXNW
aXNpdGVkTGlua0JhY2tncm91bmRDb2xvciA6IDE7Ci0gICAgdW5zaWduZWQgbV9oYXNWaXNpdGVk
TGlua091dGxpbmVDb2xvciA6IDE7Ci0gICAgdW5zaWduZWQgbV9oYXNWaXNpdGVkTGlua0JvcmRl
ckxlZnRDb2xvciA6IDE7Ci0gICAgdW5zaWduZWQgbV9oYXNWaXNpdGVkTGlua0JvcmRlclJpZ2h0
Q29sb3IgOiAxOwotICAgIHVuc2lnbmVkIG1faGFzVmlzaXRlZExpbmtCb3JkZXJUb3BDb2xvciA6
IDE7Ci0gICAgdW5zaWduZWQgbV9oYXNWaXNpdGVkTGlua0JvcmRlckJvdHRvbUNvbG9yIDogMTsK
LQogcHJpdmF0ZToKLSAgICBSR0JBMzIgbV92aXNpdGVkTGlua0JhY2tncm91bmRDb2xvcjsKLSAg
ICBSR0JBMzIgbV92aXNpdGVkTGlua091dGxpbmVDb2xvcjsKLSAgICBSR0JBMzIgbV92aXNpdGVk
TGlua0JvcmRlckxlZnRDb2xvcjsKLSAgICBSR0JBMzIgbV92aXNpdGVkTGlua0JvcmRlclJpZ2h0
Q29sb3I7Ci0gICAgUkdCQTMyIG1fdmlzaXRlZExpbmtCb3JkZXJUb3BDb2xvcjsKLSAgICBSR0JB
MzIgbV92aXNpdGVkTGlua0JvcmRlckJvdHRvbUNvbG9yOwotCiAgICAgU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YSgpOwogICAgIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YSYpOwogfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>