<?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>161857</bug_id>
          
          <creation_ts>2016-09-11 23:49:03 -0700</creation_ts>
          <short_desc>[DFG][FTL] Add ArithTan</short_desc>
          <delta_ts>2016-09-12 16:14:05 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1228693</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-11 23:49:03 -0700</bug_when>
    <thetext>[DFG][FTL] Add ArithTan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228695</commentid>
    <comment_count>1</comment_count>
      <attachid>288556</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-11 23:55:40 -0700</bug_when>
    <thetext>Created attachment 288556
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228921</commentid>
    <comment_count>2</comment_count>
      <attachid>288556</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-12 15:03:18 -0700</bug_when>
    <thetext>Comment on attachment 288556
Patch

Clearing flags on attachment: 288556

Committed r205828: &lt;http://trac.webkit.org/changeset/205828&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228922</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-12 15:03:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228960</commentid>
    <comment_count>4</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-09-12 15:56:32 -0700</bug_when>
    <thetext>stress/ftl-arithtan.js appears to be failing on Yosemite Release JSC tests (other bots are behind, so this may eventually fail on other configurations too)

https://build.webkit.org/builders/Apple%20Yosemite%20Release%20JSC%20(Tests)/builds/14218/steps/jscore-test/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228968</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-12 16:08:13 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; stress/ftl-arithtan.js appears to be failing on Yosemite Release JSC tests
&gt; (other bots are behind, so this may eventually fail on other configurations
&gt; too)
&gt; 
&gt; https://build.webkit.org/builders/Apple%20Yosemite%20Release%20JSC%20(Tests)/
&gt; builds/14218/steps/jscore-test/logs/stdio

Ah, ok. This is due to different results produced from different libms.
I created this test case on Linux box, and the result seems slightly different from libm on OS X. (-1.687173625802563 v.s. -1.6871736258025631).
I&apos;ll fix this test soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228973</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-09-12 16:14:05 -0700</bug_when>
    <thetext>Committed r205837: &lt;http://trac.webkit.org/changeset/205837&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288556</attachid>
            <date>2016-09-11 23:55:40 -0700</date>
            <delta_ts>2016-09-12 15:03:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161857-20160912155308.patch</filename>
            <type>text/plain</type>
            <size>30684</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1NzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
YzQ3NDAzYTU3NWRkMjQ4YWJlZmY5Njk0OWE1YmU1ZGMyZjZjZTNkLi5mOGIwOTc0NTU2OWI5NWE5
YzExNTJiOGFmZmE3NWExYTRjYTA3ZWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1OCBAQAorMjAxNi0wOS0xMSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbREZHXVtGVExdIEFkZCBBcml0aFRhbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxODU3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hpbGUgQXJpdGhTaW4gYW5kIEFyaXRo
Q29zIGFyZSBzdXBwb3J0ZWQsIEFyaXRoVGFuIGlzIG5vdCBzdXBwb3J0ZWQgeWV0LgorICAgICAg
ICBBbmQgd2UgYWxzbyBmaW5kIHRoYXQgTWF0aC50YW4gaXMgaW5jbHVkZWQgaW4gTW90aW9uTWFy
aydzIE11bHRpcGx5IGJlbmNobWFyay4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgQXJpdGhU
YW4gc3VwcG9ydCBpbiBERkcgYW5kIEZUTC4gQW5kIGl0IGFsc28gY2xlYW5zIHVwIHRoZQorICAg
ICAgICBleGlzdGluZyBBcml0aFNpbiwgQXJpdGhDb3MsIGFuZCBBcml0aExvZyBjb21waWxhdGlv
bnMgYnkgdW5pZnlpbmcgdGhlbS4KKyAgICAgICAgVGhlIG1pY3JvYmVuY2htYXJrIHNob3dzIHRo
ZSA5JSBwZXJmIGltcHJvdmVtZW50LgorCisgICAgICAgICAgICB0YW4gICAgMzIyLjQ4MTkrLTAu
Mzc2NiAgICAgXiAgICAyOTUuODcwMCstMC4zMDk0ICAgICAgICBeIGRlZmluaXRlbHkgMS4wODk5
eCBmYXN0ZXIKKworICAgICAgICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5o
OgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5
cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNw
cDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6aGFuZGxlSW50cmluc2ljQ2Fs
bCk6CisgICAgICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpj
bG9iYmVyaXplKToKKyAgICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpkb2VzR0MpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2Rl
VHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBkZmcv
REZHT3BlcmF0aW9ucy5oOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25Q
aGFzZS5jcHA6CisgICAgICAgICogZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpT
Qzo6REZHOjpzYWZlVG9FeGVjdXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlQXJpdGhEb3Vi
bGVVbmFyeU9wKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFy
aXRoQ29zKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFyaXRo
VGFuKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFyaXRoU2lu
KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFyaXRoTG9nKToK
KyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoKKyAgICAgICAgKiBkZmcvREZHU3Bl
Y3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZnRsL0ZU
TENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6CisgICAg
ICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpM
b3dlckRGR1RvQjM6OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2Vy
REZHVG9CMzo6Y29tcGlsZUFyaXRoVGFuKToKKyAgICAgICAgKiBmdGwvRlRMT3V0cHV0LmNwcDoK
KyAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6OmRvdWJsZVRhbik6CisgICAgICAgICogZnRsL0ZU
TE91dHB1dC5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50cmluc2ljLmg6CisgICAgICAgICogcnVu
dGltZS9NYXRoT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6TWF0aE9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24pOgorCiAyMDE2LTA5LTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgcGFyc2VIVE1MSW50ZWdlcigpIHNob3VsZCB0YWtlIGEgU3RyaW5nVmlldyBpbiBw
YXJhbWV0ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJz
dHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCBhNDM1MTgzZWQ1YmExMjAyNmNiMTAxYTZk
OWUzYjllYTlmM2ZiNTI0Li4xNzhkNzMxYzE3NTVhNzMzZjA5ZmRlMGU0Y2JjNWNhODdiNjU4MWM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJw
cmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFj
dEludGVycHJldGVySW5saW5lcy5oCkBAIC05NTgsNiArOTU4LDEwIEBAIGJvb2wgQWJzdHJhY3RJ
bnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNs
b2JiZXJMaW1pCiAgICAgICAgIGV4ZWN1dGVEb3VibGVVbmFyeU9wRWZmZWN0cyhub2RlLCBjb3Mp
OwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgQXJpdGhUYW46CisgICAgICAgIGV4ZWN1dGVE
b3VibGVVbmFyeU9wRWZmZWN0cyhub2RlLCB0YW4pOworICAgICAgICBicmVhazsKKwogICAgIGNh
c2UgQXJpdGhMb2c6CiAgICAgICAgIGV4ZWN1dGVEb3VibGVVbmFyeU9wRWZmZWN0cyhub2RlLCBs
b2cpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdC
eXRlQ29kZVBhcnNlci5jcHAKaW5kZXggNDY0NzA0NmMxYWY0M2EwYTJmYjE1MjA1ODViNDg4ZTJk
MjNjMDQ4ZC4uMDEyZTlkNzk3NTg3Mjg5YjE2MTQ1YTc3MzlkNDZmYTZjMTExOTQwMyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTIx
NTUsNyArMjE1NSw4IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUludHJpbnNpY0NhbGwo
Tm9kZSogY2FsbGVlLCBpbnQgcmVzdWx0T3BlcmFuZCwgSW50cmluCiAgICAgY2FzZSBGUm91bmRJ
bnRyaW5zaWM6CiAgICAgY2FzZSBMb2dJbnRyaW5zaWM6CiAgICAgY2FzZSBTaW5JbnRyaW5zaWM6
Ci0gICAgY2FzZSBTcXJ0SW50cmluc2ljOiB7CisgICAgY2FzZSBTcXJ0SW50cmluc2ljOgorICAg
IGNhc2UgVGFuSW50cmluc2ljOiB7CiAgICAgICAgIGlmIChhcmd1bWVudENvdW50SW5jbHVkaW5n
VGhpcyA9PSAxKSB7CiAgICAgICAgICAgICBpbnNlcnRDaGVja3MoKTsKICAgICAgICAgICAgIHNl
dChWaXJ0dWFsUmVnaXN0ZXIocmVzdWx0T3BlcmFuZCksIGFkZFRvR3JhcGgoSlNDb25zdGFudCwg
T3BJbmZvKG1fY29uc3RhbnROYU4pKSk7CkBAIC0yMTc5LDYgKzIxODAsOSBAQCBib29sIEJ5dGVD
b2RlUGFyc2VyOjpoYW5kbGVJbnRyaW5zaWNDYWxsKE5vZGUqIGNhbGxlZSwgaW50IHJlc3VsdE9w
ZXJhbmQsIEludHJpbgogICAgICAgICBjYXNlIFNxcnRJbnRyaW5zaWM6CiAgICAgICAgICAgICBu
b2RlVHlwZSA9IEFyaXRoU3FydDsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFRh
bkludHJpbnNpYzoKKyAgICAgICAgICAgIG5vZGVUeXBlID0gQXJpdGhUYW47CisgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9i
YmVyaXplLmgKaW5kZXggY2Q3NjQ5YmM4NDA2OTYzY2Y1YTY0NGQzZWE1Yjg4MTE5NzhiNWE2My4u
NDBhMDc0MGI1NmMxNDczMDRkZTY0MDExYzMxMjE2NmE4YTJhNWQyZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTE4OCw2ICsxODgsNyBAQCB2b2lkIGNs
b2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVh
ZCwgY29uc3QgV3JpdGVGdQogICAgIGNhc2UgQXJpdGhMb2c6CiAgICAgY2FzZSBBcml0aFNpbjoK
ICAgICBjYXNlIEFyaXRoU3FydDoKKyAgICBjYXNlIEFyaXRoVGFuOgogICAgICAgICBpZiAobm9k
ZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IERvdWJsZVJlcFVzZSkKICAgICAgICAgICAgIGRlZihQ
dXJlVmFsdWUobm9kZSkpOwogICAgICAgICBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRG9lc0dDLmNwcAppbmRleCA4ODNiNzE2M2E1OTU4OGEyYWUxYTgxNTYyNGRmODhhNzE0OWEx
ZWQ3Li42ZTc2MWI1MGM4OGYyNDZmYzYxZDM0ZjM5MDg5ZTVmMjViMWU4YTc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCkBAIC05NCw2ICs5NCw3IEBAIGJvb2wgZG9l
c0dDKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIEFyaXRoRlJvdW5kOgogICAg
IGNhc2UgQXJpdGhTaW46CiAgICAgY2FzZSBBcml0aENvczoKKyAgICBjYXNlIEFyaXRoVGFuOgog
ICAgIGNhc2UgQXJpdGhMb2c6CiAgICAgY2FzZSBWYWx1ZUFkZDoKICAgICBjYXNlIFRyeUdldEJ5
SWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2Uu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAppbmRleCBl
ZTkxNWM2MjZlNmM0ZjU3MTliNDdlMjE4MTk5NjcyNGI3NDdjYzFhLi5kMzIxMWM1OGZlYTczODJl
Njk1M2I0Y2VkMzVjMDUxNDFlYTA3N2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRml4dXBQaGFzZS5jcHAKQEAgLTQwMSw3ICs0MDEsOCBAQCBjbGFzcyBGaXh1cFBoYXNlIDog
cHVibGljIFBoYXNlIHsKICAgICAgICAgY2FzZSBBcml0aEZSb3VuZDoKICAgICAgICAgY2FzZSBB
cml0aExvZzoKICAgICAgICAgY2FzZSBBcml0aFNpbjoKLSAgICAgICAgY2FzZSBBcml0aFNxcnQ6
IHsKKyAgICAgICAgY2FzZSBBcml0aFNxcnQ6CisgICAgICAgIGNhc2UgQXJpdGhUYW46IHsKICAg
ICAgICAgICAgIEVkZ2UmIGNoaWxkMSA9IG5vZGUtPmNoaWxkMSgpOwogICAgICAgICAgICAgaWYg
KGNoaWxkMS0+c2hvdWxkU3BlY3VsYXRlTm90Q2VsbCgpKSB7CiAgICAgICAgICAgICAgICAgZml4
RG91YmxlT3JCb29sZWFuRWRnZShjaGlsZDEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdO
b2RlVHlwZS5oCmluZGV4IDI0MDQ3YmM4ZjlmYTcxMmJmNzVjNzJhNmU0NTE0ODI3ZGNmOWI0MGYu
LmRjYTFjYTVmMWI1ZTUzN2JkYTA0NTAwNjM5ZjI0OGM1YTBiODM5YmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTE2Miw2ICsxNjIsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oQXJpdGhTcXJ0LCBOb2RlUmVzdWx0RG91
YmxlIHwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKEFyaXRoU2luLCBOb2RlUmVzdWx0
RG91YmxlIHwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKEFyaXRoQ29zLCBOb2RlUmVz
dWx0RG91YmxlIHwgTm9kZU11c3RHZW5lcmF0ZSkgXAorICAgIG1hY3JvKEFyaXRoVGFuLCBOb2Rl
UmVzdWx0RG91YmxlIHwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKEFyaXRoTG9nLCBO
b2RlUmVzdWx0RG91YmxlIHwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIFwKICAgICAvKiBBZGQg
b2YgdmFsdWVzIG1heSBlaXRoZXIgYmUgYXJpdGhtZXRpYywgb3IgcmVzdWx0IGluIHN0cmluZyBj
b25jYXRlbmF0aW9uLiAqL1wKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlv
bnMuY3BwCmluZGV4IDJmOWYzMjk4OWU1MjcxY2M1NWUzZThlMDU1NDEyYzdhY2NkNDk2NzguLjU2
MmM4YTRkMDAxYTY0MjVhN2ViYTk2ZDQxYzc0NTIyODQyZjIzNzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcApAQCAtNDI5LDYgKzQyOSwxOSBAQCBkb3Vi
bGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25Bcml0aFNxcnQoRXhlY1N0YXRlKiBleGVjLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkTwogICAgIHJldHVybiBzcXJ0KGEpOwogfQogCitkb3VibGUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25Bcml0aFRhbihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRPcDEpCit7CisgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CisgICAgTmF0aXZl
Q2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CisgICAgYXV0byBzY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUoKnZtKTsKKworICAgIEpTVmFsdWUgb3AxID0gSlNWYWx1ZTo6ZGVjb2Rl
KGVuY29kZWRPcDEpOworICAgIGRvdWJsZSBhID0gb3AxLnRvTnVtYmVyKGV4ZWMpOworICAgIGlm
IChVTkxJS0VMWShzY29wZS5leGNlcHRpb24oKSkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoSlNWYWx1ZSgpKTsKKyAgICByZXR1cm4gdGFuKGEpOworfQorCiBzdGF0aWMgQUxXQVlT
X0lOTElORSBFbmNvZGVkSlNWYWx1ZSBnZXRCeVZhbChFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCog
YmFzZSwgdWludDMyX3QgaW5kZXgpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmgKaW5kZXggZGQ0MGNhNDJmODQwMzkx
ZGY2YmFmNjQwYWU1MGRkNThlYWU0MDM5Yi4uODZlMTkxZTYzZTJkM2Y0NmRmNzEwNWI0MGE4ODBh
YWViYjhkNzA2MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmgK
QEAgLTU2LDYgKzU2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25W
YWx1ZURpdihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGUKIGRvdWJsZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkFyaXRoQWJzKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRPcDEpIFdURl9JTlRFUk5BTDsKIGludDMyX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25Bcml0
aENsejMyKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEpIFdURl9JTlRFUk5B
TDsKIGRvdWJsZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkFyaXRoQ29zKEV4ZWNTdGF0ZSosIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRPcDEpIFdURl9JTlRFUk5BTDsKK2RvdWJsZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkFyaXRoVGFuKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRP
cDEpIFdURl9JTlRFUk5BTDsKIGRvdWJsZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkFyaXRoRlJv
dW5kKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEpIFdURl9JTlRFUk5BTDsK
IGRvdWJsZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkFyaXRoTG9nKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRPcDEpIFdURl9JTlRFUk5BTDsKIGRvdWJsZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkFyaXRoU2luKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEp
IFdURl9JTlRFUk5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXggNjJiNjcxOTczOGUyNTY4
ZTlkYjM1NjZhMWQ3YmU3MWQwN2U3YzBlNi4uOTM0NGY2MjVhMGZkODdiOTQwMzUxZGVkNzY3NmIx
NDNkNzRmMTIwYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVk
aWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTU2MSw2ICs1NjEsNyBAQCBj
bGFzcyBQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAg
IGNhc2UgQXJpdGhTcXJ0OgogICAgICAgICBjYXNlIEFyaXRoQ29zOgogICAgICAgICBjYXNlIEFy
aXRoU2luOgorICAgICAgICBjYXNlIEFyaXRoVGFuOgogICAgICAgICBjYXNlIEFyaXRoTG9nOgog
ICAgICAgICAgICAgaWYgKG5vZGUtPmNoaWxkMSgpLT5zaG91bGRTcGVjdWxhdGVOdW1iZXIoKSkK
ICAgICAgICAgICAgICAgICBtX2dyYXBoLnZvdGVOb2RlKG5vZGUtPmNoaWxkMSgpLCBWb3RlRG91
YmxlLCB3ZWlnaHQpOwpAQCAtNzY5LDYgKzc3MCw3IEBAIGNsYXNzIFByZWRpY3Rpb25Qcm9wYWdh
dGlvblBoYXNlIDogcHVibGljIFBoYXNlIHsKICAgICAgICAgY2FzZSBBcml0aEZSb3VuZDoKICAg
ICAgICAgY2FzZSBBcml0aFNpbjoKICAgICAgICAgY2FzZSBBcml0aENvczoKKyAgICAgICAgY2Fz
ZSBBcml0aFRhbjoKICAgICAgICAgY2FzZSBBcml0aExvZzogewogICAgICAgICAgICAgc2V0UHJl
ZGljdGlvbihTcGVjQnl0ZWNvZGVEb3VibGUpOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCmluZGV4IDY4YWYyZmE0YWYx
NWY0ZjRiM2JiNmQyMjkwNjc0OTZjZjdiYzQyYmUuLmZkNzY5NTBlMGE0ZDUzZWQ1ZmY5NjFlZTIz
MDI3YTRhOTM5NjFlZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRv
RXhlY3V0ZS5oCkBAIC0xOTEsNiArMTkxLDcgQEAgYm9vbCBzYWZlVG9FeGVjdXRlKEFic3RyYWN0
U3RhdGVUeXBlJiBzdGF0ZSwgR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgQXJp
dGhUcnVuYzoKICAgICBjYXNlIEFyaXRoU2luOgogICAgIGNhc2UgQXJpdGhDb3M6CisgICAgY2Fz
ZSBBcml0aFRhbjoKICAgICBjYXNlIEFyaXRoTG9nOgogICAgIGNhc2UgVmFsdWVBZGQ6CiAgICAg
Y2FzZSBUcnlHZXRCeUlkOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAppbmRleCA5NTRlNTRiMmM4OTg0YjVhNGRmNjg4OGM2ODVmM2UzOTQ4NmNh
OWUzLi5kMDUyMDg5MThkMDE5NTdiMjBkYTlhYmIxZjg2YTgwMmIwYzI0MTg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtMzk1MSwx
NiArMzk1MSwxNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQXJpdGhDbHozMihOb2Rl
KiBub2RlKQogICAgIGludDMyUmVzdWx0KHJlc3VsdFJlZywgbm9kZSk7CiB9CiAKLXZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0aENvcyhOb2RlKiBub2RlKQordm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZUFyaXRoRG91YmxlVW5hcnlPcChOb2RlKiBub2RlLCBkb3VibGUgKCpkb3Vi
bGVGdW5jdGlvbikoZG91YmxlKSwgZG91YmxlICgqb3BlcmF0aW9uKShFeGVjU3RhdGUqLCBFbmNv
ZGVkSlNWYWx1ZSkpCiB7CiAgICAgaWYgKG5vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBEb3Vi
bGVSZXBVc2UpIHsKICAgICAgICAgU3BlY3VsYXRlRG91YmxlT3BlcmFuZCBvcDEodGhpcywgbm9k
ZS0+Y2hpbGQxKCkpOwogICAgICAgICBGUFJSZWcgb3AxRlBSID0gb3AxLmZwcigpOwogCiAgICAg
ICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgICAgIAorCiAgICAgICAgIEZQUlJlc3VsdCByZXN1
bHQodGhpcyk7Ci0gICAgICAgIGNhbGxPcGVyYXRpb24oY29zLCByZXN1bHQuZnByKCksIG9wMUZQ
Uik7CisgICAgICAgIGNhbGxPcGVyYXRpb24oZG91YmxlRnVuY3Rpb24sIHJlc3VsdC5mcHIoKSwg
b3AxRlBSKTsKICAgICAgICAgZG91YmxlUmVzdWx0KHJlc3VsdC5mcHIoKSwgbm9kZSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CkBAIC0zOTY5LDExICszOTY5LDIxIEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVBcml0aENvcyhOb2RlKiBub2RlKQogICAgIEpTVmFsdWVSZWdzIG9wMVJl
Z3MgPSBvcDEuanNWYWx1ZVJlZ3MoKTsKICAgICBmbHVzaFJlZ2lzdGVycygpOwogICAgIEZQUlJl
c3VsdCByZXN1bHQodGhpcyk7Ci0gICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25Bcml0aENvcywg
cmVzdWx0LmZwcigpLCBvcDFSZWdzKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbiwgcmVz
dWx0LmZwcigpLCBvcDFSZWdzKTsKICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwogICAgIGRv
dWJsZVJlc3VsdChyZXN1bHQuZnByKCksIG5vZGUpOwogfQogCit2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlQXJpdGhDb3MoTm9kZSogbm9kZSkKK3sKKyAgICBjb21waWxlQXJpdGhEb3VibGVV
bmFyeU9wKG5vZGUsIGNvcywgb3BlcmF0aW9uQXJpdGhDb3MpOworfQorCit2b2lkIFNwZWN1bGF0
aXZlSklUOjpjb21waWxlQXJpdGhUYW4oTm9kZSogbm9kZSkKK3sKKyAgICBjb21waWxlQXJpdGhE
b3VibGVVbmFyeU9wKG5vZGUsIHRhbiwgb3BlcmF0aW9uQXJpdGhUYW4pOworfQorCiB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlQXJpdGhTdWIoTm9kZSogbm9kZSkKIHsKICAgICBzd2l0Y2gg
KG5vZGUtPmJpbmFyeVVzZUtpbmQoKSkgewpAQCAtNDk5OSwyNSArNTAwOSw3IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0aFJvdW5kaW5nKE5vZGUqIG5vZGUpCiAKIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0aFNpbihOb2RlKiBub2RlKQogewotICAgIGlmIChub2Rl
LT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gRG91YmxlUmVwVXNlKSB7Ci0gICAgICAgIFNwZWN1bGF0
ZURvdWJsZU9wZXJhbmQgb3AxKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgRlBSUmVn
IG9wMUZQUiA9IG9wMS5mcHIoKTsKLQotICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotICAgICAg
ICAKLSAgICAgICAgRlBSUmVzdWx0IHJlc3VsdCh0aGlzKTsKLSAgICAgICAgY2FsbE9wZXJhdGlv
bihzaW4sIHJlc3VsdC5mcHIoKSwgb3AxRlBSKTsKLSAgICAgICAgZG91YmxlUmVzdWx0KHJlc3Vs
dC5mcHIoKSwgbm9kZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBKU1ZhbHVlT3Bl
cmFuZCBvcDEodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgIEpTVmFsdWVSZWdzIG9wMVJlZ3Mg
PSBvcDEuanNWYWx1ZVJlZ3MoKTsKLSAgICBmbHVzaFJlZ2lzdGVycygpOwotICAgIEZQUlJlc3Vs
dCByZXN1bHQodGhpcyk7Ci0gICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25Bcml0aFNpbiwgcmVz
dWx0LmZwcigpLCBvcDFSZWdzKTsKLSAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwotICAgIGRv
dWJsZVJlc3VsdChyZXN1bHQuZnByKCksIG5vZGUpOworICAgIGNvbXBpbGVBcml0aERvdWJsZVVu
YXJ5T3Aobm9kZSwgc2luLCBvcGVyYXRpb25Bcml0aFNpbik7CiB9CiAKIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVBcml0aFNxcnQoTm9kZSogbm9kZSkKQEAgLTUxOTgsMjMgKzUxOTAsNyBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQXJpdGhQb3coTm9kZSogbm9kZSkKIAogdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFyaXRoTG9nKE5vZGUqIG5vZGUpCiB7Ci0gICAgaWYg
KG5vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBEb3VibGVSZXBVc2UpIHsKLSAgICAgICAgU3Bl
Y3VsYXRlRG91YmxlT3BlcmFuZCBvcDEodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICBG
UFJSZWcgb3AxRlBSID0gb3AxLmZwcigpOwotICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotICAg
ICAgICBGUFJSZXN1bHQgcmVzdWx0KHRoaXMpOwotICAgICAgICBjYWxsT3BlcmF0aW9uKGxvZywg
cmVzdWx0LmZwcigpLCBvcDFGUFIpOwotICAgICAgICBkb3VibGVSZXN1bHQocmVzdWx0LmZwcigp
LCBub2RlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEpTVmFsdWVPcGVyYW5kIG9w
MSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAgSlNWYWx1ZVJlZ3Mgb3AxUmVncyA9IG9wMS5q
c1ZhbHVlUmVncygpOwotICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgRlBSUmVzdWx0IHJlc3Vs
dCh0aGlzKTsKLSAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkFyaXRoTG9nLCByZXN1bHQuZnBy
KCksIG9wMVJlZ3MpOwotICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7Ci0gICAgZG91YmxlUmVz
dWx0KHJlc3VsdC5mcHIoKSwgbm9kZSk7CisgICAgY29tcGlsZUFyaXRoRG91YmxlVW5hcnlPcChu
b2RlLCBsb2csIG9wZXJhdGlvbkFyaXRoTG9nKTsKIH0KIAogLy8gUmV0dXJucyB0cnVlIGlmIHRo
ZSBjb21wYXJlIGlzIGZ1c2VkIHdpdGggYSBzdWJzZXF1ZW50IGJyYW5jaC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAppbmRleCBiODU4YzA5ZTg5Y2Vl
N2I1ZmE1Nzc1NTk3ZGQxODQzMDY0NTQ5M2ZmLi45YTc3NzMyNjE2MzgwNTBlNmU0YjhlYjE2Mzg0
MmM3YmM5Zjk1MDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5oCkBAIC0yNTA3LDEyICsyNTA3LDE0IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsK
ICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgR2VuZXJhdG9yLCB0eXBlbmFtZSBSZXBhdGNoaW5nRnVu
Y3Rpb24sIHR5cGVuYW1lIE5vblJlcGF0Y2hpbmdGdW5jdGlvbj4KICAgICB2b2lkIGNvbXBpbGVN
YXRoSUMoTm9kZSosIEpJVE1hdGhJQzxHZW5lcmF0b3I+KiwgYm9vbCBuZWVkc1NjcmF0Y2hHUFJS
ZWcsIGJvb2wgbmVlZHNTY3JhdGNoRlBSUmVnLCBSZXBhdGNoaW5nRnVuY3Rpb24sIE5vblJlcGF0
Y2hpbmdGdW5jdGlvbik7CiAKKyAgICB2b2lkIGNvbXBpbGVBcml0aERvdWJsZVVuYXJ5T3AoTm9k
ZSosIGRvdWJsZSAoKmRvdWJsZUZ1bmN0aW9uKShkb3VibGUpLCBkb3VibGUgKCpvcGVyYXRpb24p
KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlKSk7CiAgICAgdm9pZCBjb21waWxlVmFsdWVBZGQo
Tm9kZSopOwogICAgIHZvaWQgY29tcGlsZUFyaXRoQWRkKE5vZGUqKTsKICAgICB2b2lkIGNvbXBp
bGVNYWtlUm9wZShOb2RlKik7CiAgICAgdm9pZCBjb21waWxlQXJpdGhBYnMoTm9kZSopOwogICAg
IHZvaWQgY29tcGlsZUFyaXRoQ2x6MzIoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUFyaXRoQ29z
KE5vZGUqKTsKKyAgICB2b2lkIGNvbXBpbGVBcml0aFRhbihOb2RlKik7CiAgICAgdm9pZCBjb21w
aWxlQXJpdGhTdWIoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUFyaXRoTmVnYXRlKE5vZGUqKTsK
ICAgICB2b2lkIGNvbXBpbGVBcml0aE11bChOb2RlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCA3MGQxMmVlZmI5
NTg3YzkzMTA1YmY3ZjdjM2UxZDU5OGZhOGUxODJkLi40NzE1Mzk4ZThjYTNmMmJlYWQ4ODgwZjBl
MGQwNDBkZjg1MDU0MTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTIzNDgsNiArMjM0OCwxMCBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGNvbXBpbGVBcml0aENv
cyhub2RlKTsKICAgICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIEFyaXRoVGFuOgorICAgICAgICBj
b21waWxlQXJpdGhUYW4obm9kZSk7CisgICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBBcml0aExv
ZzoKICAgICAgICAgY29tcGlsZUFyaXRoTG9nKG5vZGUpOwogICAgICAgICBicmVhazsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4
IGI5Zjk1MTI2NWU5OGQ5YzE1YjYxZjg2NjkwMTMzMWFhYjAzZWI1ZjQuLjA2Mzg1ZGZjODdlNTEx
OGM0NjU3ZGEzNDI4YmZiNzk0MzA0YWJjZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAtMjUwMyw2ICsyNTAzLDEwIEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgY29tcGlsZUFy
aXRoQ29zKG5vZGUpOwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgQXJpdGhUYW46CisgICAg
ICAgIGNvbXBpbGVBcml0aFRhbihub2RlKTsKKyAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIEFy
aXRoTG9nOgogICAgICAgICBjb21waWxlQXJpdGhMb2cobm9kZSk7CiAgICAgICAgIGJyZWFrOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCmluZGV4IDgy
MTc3ODM0MDgzYWM5M2MwNzJlZDk0MGUxYWFmZWI0NjlhNjU4YTkuLjUwZjZjMGE3ZjJkNDUwYzcx
OWJhMDg5ZDc1NTNjMDI3ODkxZGEzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTENhcGFiaWxpdGllcy5jcHAKQEAgLTk0LDYgKzk0LDcgQEAgaW5saW5lIENhcGFiaWxpdHlM
ZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBBcml0aEFiczoKICAgICBjYXNl
IEFyaXRoU2luOgogICAgIGNhc2UgQXJpdGhDb3M6CisgICAgY2FzZSBBcml0aFRhbjoKICAgICBj
YXNlIEFyaXRoUG93OgogICAgIGNhc2UgQXJpdGhSYW5kb206CiAgICAgY2FzZSBBcml0aFJvdW5k
OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmluZGV4
IDIyNjJkZGMwZGU0ZjBhMGRhYmMyOTYwMjY1MzQ5MzQ4ZWNhYmJlNWMuLjQyZDE4NWE1OTAxOWVm
YzQ3NThiMzAyODQ1NTdlYjYwYjc2MDIxM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKQEAgLTU0MSw2ICs1NDEsOSBAQCBjbGFzcyBMb3dlckRG
R1RvQjMgewogICAgICAgICBjYXNlIEFyaXRoQ29zOgogICAgICAgICAgICAgY29tcGlsZUFyaXRo
Q29zKCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBcml0aFRhbjoKKyAgICAg
ICAgICAgIGNvbXBpbGVBcml0aFRhbigpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgQXJpdGhQb3c6CiAgICAgICAgICAgICBjb21waWxlQXJpdGhQb3coKTsKICAgICAgICAgICAg
IGJyZWFrOwpAQCAtMjA2Niw2ICsyMDY5LDE3IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAgICAg
ICAgIHNldERvdWJsZShyZXN1bHQpOwogICAgIH0KIAorICAgIHZvaWQgY29tcGlsZUFyaXRoVGFu
KCkKKyAgICB7CisgICAgICAgIGlmIChtX25vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBEb3Vi
bGVSZXBVc2UpIHsKKyAgICAgICAgICAgIHNldERvdWJsZShtX291dC5kb3VibGVUYW4obG93RG91
YmxlKG1fbm9kZS0+Y2hpbGQxKCkpKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICAgICAgTFZhbHVlIGFyZ3VtZW50ID0gbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMSgpKTsK
KyAgICAgICAgTFZhbHVlIHJlc3VsdCA9IHZtQ2FsbChEb3VibGUsIG1fb3V0Lm9wZXJhdGlvbihv
cGVyYXRpb25Bcml0aFRhbiksIG1fY2FsbEZyYW1lLCBhcmd1bWVudCk7CisgICAgICAgIHNldERv
dWJsZShyZXN1bHQpOworICAgIH0KKwogICAgIHZvaWQgY29tcGlsZUFyaXRoUG93KCkKICAgICB7
CiAgICAgICAgIGlmIChtX25vZGUtPmNoaWxkMigpLnVzZUtpbmQoKSA9PSBJbnQzMlVzZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmNwcAppbmRleCAyYjFmMTYzYWFhNDE0YmQ2
ZmRkZjY4OWRiNmNkOTg0NmQ5NjgzNDBiLi5jNTYxMzgwMjIwODk4OWQ5ZjcwYTQzYzEyZDdmOTc2
ZjhjYzE1NmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuY3BwCkBAIC0y
OTksNiArMjk5LDEyIEBAIExWYWx1ZSBPdXRwdXQ6OmRvdWJsZUNvcyhMVmFsdWUgdmFsdWUpCiAg
ICAgcmV0dXJuIGNhbGxXaXRob3V0U2lkZUVmZmVjdHMoQjM6OkRvdWJsZSwgY29zRG91YmxlLCB2
YWx1ZSk7CiB9CiAKK0xWYWx1ZSBPdXRwdXQ6OmRvdWJsZVRhbihMVmFsdWUgdmFsdWUpCit7Cisg
ICAgZG91YmxlICgqdGFuRG91YmxlKShkb3VibGUpID0gdGFuOworICAgIHJldHVybiBjYWxsV2l0
aG91dFNpZGVFZmZlY3RzKEIzOjpEb3VibGUsIHRhbkRvdWJsZSwgdmFsdWUpOworfQorCiBMVmFs
dWUgT3V0cHV0Ojpkb3VibGVQb3coTFZhbHVlIHhPcGVyYW5kLCBMVmFsdWUgeU9wZXJhbmQpCiB7
CiAgICAgZG91YmxlICgqcG93RG91YmxlKShkb3VibGUsIGRvdWJsZSkgPSBwb3c7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExPdXRwdXQuaAppbmRleCBkMGM4NjdiOWQ0NmNhYTFkODRmZTlkOTQ2
OWJjMGFmZjNkMzRkNDhmLi43YjI4ZTU0MTRjYjRlY2ZkOTQ4MjRhYzZhMjE5NmJiZjk0YmYwYTMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT3V0cHV0LmgKQEAgLTE2Myw2ICsxNjMsNyBA
QCBjbGFzcyBPdXRwdXQgOiBwdWJsaWMgQ29tbW9uVmFsdWVzIHsKIAogICAgIExWYWx1ZSBkb3Vi
bGVTaW4oTFZhbHVlKTsKICAgICBMVmFsdWUgZG91YmxlQ29zKExWYWx1ZSk7CisgICAgTFZhbHVl
IGRvdWJsZVRhbihMVmFsdWUpOwogCiAgICAgTFZhbHVlIGRvdWJsZVBvdyhMVmFsdWUgYmFzZSwg
TFZhbHVlIGV4cG9uZW50KTsKICAgICBMVmFsdWUgZG91YmxlUG93aShMVmFsdWUgYmFzZSwgTFZh
bHVlIGV4cG9uZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludHJpbnNpYy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50cmluc2ljLmgK
aW5kZXggZDk4ODExMDZlNGIzOGQzZjk1YmU0YzIxOWJhMjcwMTMyMWYzNWEzYi4uMzNmMmQ2MjBh
NzU1ZTYzZDdhNGFhZTg1NTljYTUzNmUxNmJmNWZjNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50cmluc2ljLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50cmluc2ljLmgKQEAgLTM4LDYgKzM4LDcgQEAgZW51bSBKU19FWFBPUlRfUFJJ
VkFURSBJbnRyaW5zaWMgewogICAgIFNpbkludHJpbnNpYywKICAgICBDbHozMkludHJpbnNpYywK
ICAgICBDb3NJbnRyaW5zaWMsCisgICAgVGFuSW50cmluc2ljLAogICAgIEFycmF5UHVzaEludHJp
bnNpYywKICAgICBBcnJheVBvcEludHJpbnNpYywKICAgICBDaGFyQ29kZUF0SW50cmluc2ljLApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aE9iamVjdC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmNwcAppbmRleCAzZGIx
NmY4MjBlNmY0MTI3ZGU2MTQ1N2Q1ZTcxZmE5ZTUwODUyZTJlLi5kMDQwNmNjNTVhMWVlZTFhYTQ2
MGY2OGJiMTI3NGRkMDM2YTgxMWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYXRoT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXRoT2JqZWN0LmNwcApAQCAtMTIwLDcgKzEyMCw3IEBAIHZvaWQgTWF0aE9iamVjdDo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIHB1
dERpcmVjdE5hdGl2ZUZ1bmN0aW9uV2l0aG91dFRyYW5zaXRpb24odm0sIGdsb2JhbE9iamVjdCwg
SWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJzaW4iKSwgMSwgbWF0aFByb3RvRnVuY1Npbiwg
U2luSW50cmluc2ljLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0TmF0aXZlRnVuY3Rpb25XaXRo
b3V0VHJhbnNpdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2
bSwgInNpbmgiKSwgMSwgbWF0aFByb3RvRnVuY1NpbmgsIE5vSW50cmluc2ljLCBEb250RW51bSk7
CiAgICAgcHV0RGlyZWN0TmF0aXZlRnVuY3Rpb25XaXRob3V0VHJhbnNpdGlvbih2bSwgZ2xvYmFs
T2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgInNxcnQiKSwgMSwgbWF0aFByb3Rv
RnVuY1NxcnQsIFNxcnRJbnRyaW5zaWMsIERvbnRFbnVtKTsKLSAgICBwdXREaXJlY3ROYXRpdmVG
dW5jdGlvbldpdGhvdXRUcmFuc2l0aW9uKHZtLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXI6OmZy
b21TdHJpbmcoJnZtLCAidGFuIiksIDEsIG1hdGhQcm90b0Z1bmNUYW4sIE5vSW50cmluc2ljLCBE
b250RW51bSk7CisgICAgcHV0RGlyZWN0TmF0aXZlRnVuY3Rpb25XaXRob3V0VHJhbnNpdGlvbih2
bSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgInRhbiIpLCAxLCBt
YXRoUHJvdG9GdW5jVGFuLCBUYW5JbnRyaW5zaWMsIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RO
YXRpdmVGdW5jdGlvbldpdGhvdXRUcmFuc2l0aW9uKHZtLCBnbG9iYWxPYmplY3QsIElkZW50aWZp
ZXI6OmZyb21TdHJpbmcoJnZtLCAidGFuaCIpLCAxLCBtYXRoUHJvdG9GdW5jVGFuaCwgTm9JbnRy
aW5zaWMsIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3ROYXRpdmVGdW5jdGlvbldpdGhvdXRUcmFu
c2l0aW9uKHZtLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAidHJ1
bmMiKSwgMSwgbWF0aFByb3RvRnVuY1RydW5jLCBUcnVuY0ludHJpbnNpYywgRG9udEVudW0pOwog
ICAgIHB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uV2l0aG91dFRyYW5zaXRpb24odm0sIGdsb2JhbE9i
amVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJpbXVsIiksIDIsIG1hdGhQcm90b0Z1
bmNJTXVsLCBJTXVsSW50cmluc2ljLCBEb250RW51bSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0No
YW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYxYTYzYjdlNzM4ZjE1MDA3ODdlYmYz
NTllMzExYzc0ZjMyMzQ0MGEuLjNlYjBmZDAwYjM1MDIyZTNlMzJkZTg2OGQyZWQ1YTU4YjMyM2Jh
NDMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzQgQEAKKzIwMTYtMDktMTEgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRl
YUBnbWFpbC5jb20+CisKKyAgICAgICAgW0RGR11bRlRMXSBBZGQgQXJpdGhUYW4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTg1NworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbWljcm9iZW5jaG1hcmtz
L3Rhbi5qczogQWRkZWQuCisgICAgICAgICogc3RyZXNzL2FyaXRoLXRhbi1vbi12YXJpb3VzLXR5
cGVzLmpzOiBBZGRlZC4KKyAgICAgICAgKGxldC52YWxpZElucHV0VHlwZWRUZXN0Q2FzZXMudmFs
aWRJbnB1dFRlc3RDYXNlcy5tYXApOgorICAgICAgICAoaXNJZGVudGljYWwpOgorICAgICAgICAo
b3BhcXVlVGFuTm9Bcmd1bWVudCk6CisgICAgICAgICh0ZXN0Tm9Bcmd1bWVudCk6CisgICAgICAg
IChvcGFxdWVBbGxUeXBlc1Rhbik6CisgICAgICAgICh0ZXN0QWxsVHlwZXNDYWxsKToKKyAgICAg
ICAgKHRlc3RUYW5nbGVUeXBlQ2FsbCk6CisgICAgICAgICh0ZXN0Q29uc3RhbnQpOgorICAgICAg
ICAob3BhcXVlVGFuRm9yU2lkZUVmZmVjdHMpOgorICAgICAgICAodGVzdFNpZGVFZmZlY3QubGV0
LnRlc3RPYmplY3QudmFsdWVPZik6CisgICAgICAgICh0ZXN0U2lkZUVmZmVjdCk6CisgICAgICAg
IChvcGFxdWVUYW5Gb3JDU0UpOgorICAgICAgICAodGVzdENTRS5sZXQudGVzdE9iamVjdC52YWx1
ZU9mKToKKyAgICAgICAgKHRlc3RDU0UpOgorICAgICAgICAob3BhcXVlVGFuRm9yRENFKToKKyAg
ICAgICAgKHRlc3REQ0UubGV0LnRlc3RPYmplY3QudmFsdWVPZik6CisgICAgICAgICh0ZXN0RENF
KToKKyAgICAgICAgKHRlc3RFeGNlcHRpb24ub3BhcXVlVGFuV2l0aEV4Y2VwdGlvbik6CisgICAg
ICAgICh0ZXN0RXhjZXB0aW9uKToKKyAgICAgICAgKiBzdHJlc3MvZnRsLWFyaXRodGFuLmpzOiBB
ZGRlZC4KKyAgICAgICAgKGZvbyk6CisKIDIwMTYtMDktMDkgIE1pY2hhZWwgU2Fib2ZmICA8bXNh
Ym9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyByMjA1NzU5IGJh
Y2sgaW4gd2l0aCBhIGZpeC4KZGlmZiAtLWdpdCBhL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3Rh
bi5qcyBiL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3Rhbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZDcwNTE2
NDE0MmU4NWRhNDQ3Yzk5OTFhNWM0MzYxMzg0ZjJmMmQzCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy9taWNyb2JlbmNobWFya3MvdGFuLmpzCkBAIC0wLDAgKzEsNyBAQAorKGZ1bmN0aW9uKCkg
eworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMzAwMDAwMDsgKytpKQorICAgICAgICB4ID0gTWF0
aC50YW4oaSk7CisKKyAgICBpZiAoeCAhPSAxLjgyMjI2NjU4ODQzMDczNTQpCisgICAgICAgIHRo
cm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHg7Cit9KSgpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy9zdHJlc3MvYXJpdGgtdGFuLW9uLXZhcmlvdXMtdHlwZXMuanMgYi9KU1Rlc3RzL3N0cmVzcy9h
cml0aC10YW4tb24tdmFyaW91cy10eXBlcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTk5YWVhMzE0ZDY2MWI4
ZTA3YjEzMmRmNmE3MTA1MWJkZjBiZmRjCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJl
c3MvYXJpdGgtdGFuLW9uLXZhcmlvdXMtdHlwZXMuanMKQEAgLTAsMCArMSwyMzQgQEAKKyJ1c2Ug
c3RyaWN0IjsKKworbGV0IHRhbk9mRm91ciA9IE1hdGgudGFuKDQpOworCitsZXQgdmFsaWRJbnB1
dFRlc3RDYXNlcyA9IFsKKyAgICAvLyBpbnB1dCBhcyBzdHJpbmcsIGV4cGVjdGVkIHJlc3VsdCBh
cyBzdHJpbmcuCisgICAgWyJ1bmRlZmluZWQiLCAiTmFOIl0sCisgICAgWyJudWxsIiwgIjAiXSwK
KyAgICBbIjAiLCAiMCJdLAorICAgIFsiLTAuIiwgIi0wIl0sCisgICAgWyI0IiwgIiIgKyB0YW5P
ZkZvdXJdLAorICAgIFsiTWF0aC5QSSIsICIiICsgTWF0aC50YW4oTWF0aC5QSSldLAorICAgIFsi
SW5maW5pdHkiLCAiTmFOIl0sCisgICAgWyItSW5maW5pdHkiLCAiTmFOIl0sCisgICAgWyJOYU4i
LCAiTmFOIl0sCisgICAgWyJcIldlYktpdFwiIiwgIk5hTiJdLAorICAgIFsiXCI0XCIiLCAiIiAr
IHRhbk9mRm91cl0sCisgICAgWyJ7IHZhbHVlT2Y6ICgpID0+IHsgcmV0dXJuIDQ7IH0gfSIsICIi
ICsgdGFuT2ZGb3VyXSwKK107CisKK2xldCB2YWxpZElucHV0VHlwZWRUZXN0Q2FzZXMgPSB2YWxp
ZElucHV0VGVzdENhc2VzLm1hcCgoZWxlbWVudCkgPT4geyByZXR1cm4gW2V2YWwoIigiICsgZWxl
bWVudFswXSArICIpIiksIGV2YWwoZWxlbWVudFsxXSldIH0pOworCitmdW5jdGlvbiBpc0lkZW50
aWNhbChyZXN1bHQsIGV4cGVjdGVkKQoreworICAgIGlmIChleHBlY3RlZCA9PT0gZXhwZWN0ZWQp
IHsKKyAgICAgICAgaWYgKHJlc3VsdCAhPT0gZXhwZWN0ZWQpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIGlmICghZXhwZWN0ZWQgJiYgMSAvIGV4cGVjdGVkID09PSAtSW5maW5p
dHkgJiYgMSAvIHJlc3VsdCAhPT0gLUluZmluaXR5KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0ICE9PSBy
ZXN1bHQ7Cit9CisKKworLy8gVGVzdCBNYXRoLnRhbigpIHdpdGhvdXQgYXJndW1lbnRzLgorZnVu
Y3Rpb24gb3BhcXVlVGFuTm9Bcmd1bWVudCgpIHsKKyAgICByZXR1cm4gTWF0aC50YW4oKTsKK30K
K25vSW5saW5lKG9wYXF1ZVRhbk5vQXJndW1lbnQpOworbm9PU1JFeGl0RnV6emluZyhvcGFxdWVU
YW5Ob0FyZ3VtZW50KTsKKworZnVuY3Rpb24gdGVzdE5vQXJndW1lbnQoKSB7CisgICAgZm9yIChs
ZXQgaSA9IDA7IGkgPCAxZTQ7ICsraSkgeworICAgICAgICBsZXQgb3V0cHV0ID0gb3BhcXVlVGFu
Tm9Bcmd1bWVudCgpOworICAgICAgICBpZiAob3V0cHV0ID09PSBvdXRwdXQpIHsKKyAgICAgICAg
ICAgIHRocm93ICJGYWlsZWQgb3BhcXVlVGFuTm9Bcmd1bWVudCI7CisgICAgICAgIH0KKyAgICB9
CisgICAgaWYgKG51bWJlck9mREZHQ29tcGlsZXMob3BhcXVlVGFuTm9Bcmd1bWVudCkgPiAxKQor
ICAgICAgICB0aHJvdyAiVGhlIGNhbGwgd2l0aG91dCBhcmd1bWVudHMgc2hvdWxkIG5ldmVyIGV4
aXQuIjsKK30KK3Rlc3ROb0FyZ3VtZW50KCk7CisKKworLy8gVGVzdCBNYXRoLnRhbigpIHdpdGgg
YSB2ZXJ5IHBvbHltb3JwaGljIGlucHV0LiBBbGwgdGVzdCBjYXNlcyBhcmUgc2VlbiBhdCBlYWNo
IGl0ZXJhdGlvbi4KK2Z1bmN0aW9uIG9wYXF1ZUFsbFR5cGVzVGFuKGFyZ3VtZW50KSB7CisgICAg
cmV0dXJuIE1hdGgudGFuKGFyZ3VtZW50KTsKK30KK25vSW5saW5lKG9wYXF1ZUFsbFR5cGVzVGFu
KTsKK25vT1NSRXhpdEZ1enppbmcob3BhcXVlQWxsVHlwZXNUYW4pOworCitmdW5jdGlvbiB0ZXN0
QWxsVHlwZXNDYWxsKCkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMWUzOyArK2kpIHsKKyAg
ICAgICAgZm9yIChsZXQgdGVzdENhc2VJbnB1dCBvZiB2YWxpZElucHV0VHlwZWRUZXN0Q2FzZXMp
IHsKKyAgICAgICAgICAgIGxldCBvdXRwdXQgPSBvcGFxdWVBbGxUeXBlc1Rhbih0ZXN0Q2FzZUlu
cHV0WzBdKTsKKyAgICAgICAgICAgIGlmICghaXNJZGVudGljYWwob3V0cHV0LCB0ZXN0Q2FzZUlu
cHV0WzFdKSkKKyAgICAgICAgICAgICAgICB0aHJvdyAiRmFpbGVkIHRlc3RBbGxUeXBlc0NhbGwg
Zm9yIGlucHV0ICIgKyB0ZXN0Q2FzZUlucHV0WzBdICsgIiBleHBlY3RlZCAiICsgdGVzdENhc2VJ
bnB1dFsxXSArICIgZ290ICIgKyBvdXRwdXQ7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKG51
bWJlck9mREZHQ29tcGlsZXMob3BhcXVlQWxsVHlwZXNUYW4pID4gMikKKyAgICAgICAgdGhyb3cg
IldlIHNob3VsZCBoYXZlIGRldGVjdGVkIHRhbigpIHdhcyBwb2x5bW9ycGhpYyBhbmQgZ2VuZXJh
dGVkIGEgZ2VuZXJpYyB2ZXJzaW9uLiI7Cit9Cit0ZXN0QWxsVHlwZXNDYWxsKCk7CisKKworLy8g
VGVzdCBNYXRoLnRhbigpIG9uIGEgY29tcGxldGVseSB0eXBlZCBpbnB1dC4gRXZlcnkgY2FsbCBz
ZWUgb25seSBvbmUgdHlwZS4KK2Z1bmN0aW9uIHRlc3RUYW5nbGVUeXBlQ2FsbCgpIHsKKyAgICBm
b3IgKGxldCB0ZXN0Q2FzZUlucHV0IG9mIHZhbGlkSW5wdXRUZXN0Q2FzZXMpIHsKKyAgICAgICAg
ZXZhbChgCisgICAgICAgICAgICBmdW5jdGlvbiBvcGFxdWVUYW4oYXJndW1lbnQpIHsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gTWF0aC50YW4oYXJndW1lbnQpOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgbm9JbmxpbmUob3BhcXVlVGFuKTsKKyAgICAgICAgICAgIG5vT1NSRXhpdEZ1enpp
bmcob3BhcXVlVGFuKTsKKworICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxZTQ7ICsr
aSkgeworICAgICAgICAgICAgICAgIGlmICghaXNJZGVudGljYWwob3BhcXVlVGFuKCR7dGVzdENh
c2VJbnB1dFswXX0pLCAke3Rlc3RDYXNlSW5wdXRbMV19KSkgeworICAgICAgICAgICAgICAgICAg
ICB0aHJvdyAiRmFpbGVkIHRlc3RUYW5nbGVUeXBlQ2FsbCgpIjsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobnVtYmVyT2ZERkdDb21waWxlcyhvcGFx
dWVUYW4pID4gMSkKKyAgICAgICAgICAgICAgICB0aHJvdyAiV2Ugc2hvdWxkIGhhdmUgY29tcGls
ZWQgYSB0YW5nbGUgdGFuIGZvciB0aGUgZXhwZWN0ZWQgdHlwZS4iOworICAgICAgICBgKTsKKyAg
ICB9Cit9Cit0ZXN0VGFuZ2xlVHlwZUNhbGwoKTsKKworCisvLyBUZXN0IE1hdGgudGFuKCkgb24g
Y29uc3RhbnRzCitmdW5jdGlvbiB0ZXN0Q29uc3RhbnQoKSB7CisgICAgZm9yIChsZXQgdGVzdENh
c2VJbnB1dCBvZiB2YWxpZElucHV0VGVzdENhc2VzKSB7CisgICAgICAgIGV2YWwoYAorICAgICAg
ICAgICAgZnVuY3Rpb24gb3BhcXVlVGFuT25Db25zdGFudCgpIHsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gTWF0aC50YW4oJHt0ZXN0Q2FzZUlucHV0WzBdfSk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBub0lubGluZShvcGFxdWVUYW5PbkNvbnN0YW50KTsKKyAgICAgICAgICAgIG5vT1NS
RXhpdEZ1enppbmcob3BhcXVlVGFuT25Db25zdGFudCk7CisKKyAgICAgICAgICAgIGZvciAobGV0
IGkgPSAwOyBpIDwgMWU0OyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoIWlzSWRlbnRpY2Fs
KG9wYXF1ZVRhbk9uQ29uc3RhbnQoKSwgJHt0ZXN0Q2FzZUlucHV0WzFdfSkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGhyb3cgIkZhaWxlZCB0ZXN0Q29uc3RhbnQoKSI7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKG51bWJlck9mREZHQ29tcGlsZXMo
b3BhcXVlVGFuT25Db25zdGFudCkgPiAxKQorICAgICAgICAgICAgICAgIHRocm93ICJXZSBzaG91
bGQgaGF2ZSBjb21waWxlZCBhIHRhbmdsZSB0YW4gZm9yIHRoZSBleHBlY3RlZCB0eXBlLiI7Cisg
ICAgICAgIGApOworICAgIH0KK30KK3Rlc3RDb25zdGFudCgpOworCisKKy8vIFZlcmlmeSB3ZSBj
YWxsIHZhbHVlT2YoKSBleGFjdGx5IG9uY2UgcGVyIGNhbGwuCitmdW5jdGlvbiBvcGFxdWVUYW5G
b3JTaWRlRWZmZWN0cyhhcmd1bWVudCkgeworICAgIHJldHVybiBNYXRoLnRhbihhcmd1bWVudCk7
Cit9Citub0lubGluZShvcGFxdWVUYW5Gb3JTaWRlRWZmZWN0cyk7Citub09TUkV4aXRGdXp6aW5n
KG9wYXF1ZVRhbkZvclNpZGVFZmZlY3RzKTsKKworZnVuY3Rpb24gdGVzdFNpZGVFZmZlY3QoKSB7
CisgICAgbGV0IHRlc3RPYmplY3QgPSB7CisgICAgICAgIGNvdW50ZXI6IDAsCisgICAgICAgIHZh
bHVlT2Y6IGZ1bmN0aW9uKCkgeyArK3RoaXMuY291bnRlcjsgcmV0dXJuIDE2OyB9CisgICAgfTsK
KyAgICBsZXQgdGFuMTYgPSBNYXRoLnRhbigxNik7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAx
ZTQ7ICsraSkgeworICAgICAgICBpZiAob3BhcXVlVGFuRm9yU2lkZUVmZmVjdHModGVzdE9iamVj
dCkgIT09IHRhbjE2KQorICAgICAgICAgICAgdGhyb3cgIkluY29ycmVjdCByZXN1bHQgaW4gdGVz
dFNpZGVFZmZlY3QoKSI7CisgICAgfQorICAgIGlmICh0ZXN0T2JqZWN0LmNvdW50ZXIgIT09IDFl
NCkKKyAgICAgICAgdGhyb3cgIkZhaWxlZCB0ZXN0U2lkZUVmZmVjdCgpIjsKKyAgICBpZiAobnVt
YmVyT2ZERkdDb21waWxlcyhvcGFxdWVUYW5Gb3JTaWRlRWZmZWN0cykgPiAxKQorICAgICAgICB0
aHJvdyAib3BhcXVlVGFuRm9yU2lkZUVmZmVjdHMoKSBpcyBwcmVkaWN0YWJsZSwgaXQgc2hvdWxk
IG9ubHkgYmUgY29tcGlsZWQgb25jZS4iOworfQordGVzdFNpZGVFZmZlY3QoKTsKKworCisvLyBW
ZXJpZnkgdGFuKCkgaXMgbm90IHN1YmplY3QgdG8gQ1NFIGlmIHRoZSBhcmd1bWVudCBoYXMgc2lk
ZSBlZmZlY3RzLgorZnVuY3Rpb24gb3BhcXVlVGFuRm9yQ1NFKGFyZ3VtZW50KSB7CisgICAgcmV0
dXJuIE1hdGgudGFuKGFyZ3VtZW50KSArIE1hdGgudGFuKGFyZ3VtZW50KSArIE1hdGgudGFuKGFy
Z3VtZW50KTsKK30KK25vSW5saW5lKG9wYXF1ZVRhbkZvckNTRSk7Citub09TUkV4aXRGdXp6aW5n
KG9wYXF1ZVRhbkZvckNTRSk7CisKK2Z1bmN0aW9uIHRlc3RDU0UoKSB7CisgICAgbGV0IHRlc3RP
YmplY3QgPSB7CisgICAgICAgIGNvdW50ZXI6IDAsCisgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9u
KCkgeyArK3RoaXMuY291bnRlcjsgcmV0dXJuIDE2OyB9CisgICAgfTsKKyAgICBsZXQgdGFuMTYg
PSBNYXRoLnRhbigxNik7CisgICAgbGV0IHRocmVlVGFuMTYgPSB0YW4xNiArIHRhbjE2ICsgdGFu
MTY7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxZTQ7ICsraSkgeworICAgICAgICBpZiAob3Bh
cXVlVGFuRm9yQ1NFKHRlc3RPYmplY3QpICE9PSB0aHJlZVRhbjE2KQorICAgICAgICAgICAgdGhy
b3cgIkluY29ycmVjdCByZXN1bHQgaW4gdGVzdENTRSgpIjsKKyAgICB9CisgICAgaWYgKHRlc3RP
YmplY3QuY291bnRlciAhPT0gM2U0KQorICAgICAgICB0aHJvdyAiRmFpbGVkIHRlc3RDU0UoKSI7
CisgICAgaWYgKG51bWJlck9mREZHQ29tcGlsZXMob3BhcXVlVGFuRm9yQ1NFKSA+IDEpCisgICAg
ICAgIHRocm93ICJvcGFxdWVUYW5Gb3JDU0UoKSBpcyBwcmVkaWN0YWJsZSwgaXQgc2hvdWxkIG9u
bHkgYmUgY29tcGlsZWQgb25jZS4iOworfQordGVzdENTRSgpOworCisKKy8vIFZlcmlmeSB0YW4o
KSBpcyBub3Qgc3ViamVjdCB0byBEQ0UgaWYgdGhlIGFyZ3VtZW50IGhhcyBzaWRlIGVmZmVjdHMu
CitmdW5jdGlvbiBvcGFxdWVUYW5Gb3JEQ0UoYXJndW1lbnQpIHsKKyAgICBNYXRoLnRhbihhcmd1
bWVudCk7Cit9Citub0lubGluZShvcGFxdWVUYW5Gb3JEQ0UpOworbm9PU1JFeGl0RnV6emluZyhv
cGFxdWVUYW5Gb3JEQ0UpOworCitmdW5jdGlvbiB0ZXN0RENFKCkgeworICAgIGxldCB0ZXN0T2Jq
ZWN0ID0geworICAgICAgICBjb3VudGVyOiAwLAorICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbigp
IHsgKyt0aGlzLmNvdW50ZXI7IHJldHVybiAxNjsgfQorICAgIH07CisgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCAxZTQ7ICsraSkgeworICAgICAgICBvcGFxdWVUYW5Gb3JEQ0UodGVzdE9iamVjdCk7
CisgICAgfQorICAgIGlmICh0ZXN0T2JqZWN0LmNvdW50ZXIgIT09IDFlNCkKKyAgICAgICAgdGhy
b3cgIkZhaWxlZCB0ZXN0RENFKCkiOworICAgIGlmIChudW1iZXJPZkRGR0NvbXBpbGVzKG9wYXF1
ZVRhbkZvckRDRSkgPiAxKQorICAgICAgICB0aHJvdyAib3BhcXVlVGFuRm9yRENFKCkgaXMgcHJl
ZGljdGFibGUsIGl0IHNob3VsZCBvbmx5IGJlIGNvbXBpbGVkIG9uY2UuIjsKK30KK3Rlc3REQ0Uo
KTsKKworCisvLyBUZXN0IGV4Y2VwdGlvbnMgaW4gdGhlIGFyZ3VtZW50LgorZnVuY3Rpb24gdGVz
dEV4Y2VwdGlvbigpIHsKKyAgICBsZXQgY291bnRlciA9IDA7CisgICAgZnVuY3Rpb24gb3BhcXVl
VGFuV2l0aEV4Y2VwdGlvbihhcmd1bWVudCkgeworICAgICAgICBsZXQgcmVzdWx0ID0gTWF0aC50
YW4oYXJndW1lbnQpOworICAgICAgICArK2NvdW50ZXI7CisgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgfQorICAgIG5vSW5saW5lKG9wYXF1ZVRhbldpdGhFeGNlcHRpb24pOworCisgICAgbGV0
IHRlc3RPYmplY3QgPSB7IHZhbHVlT2Y6ICgpID0+IHsgIHJldHVybiA2NDsgfSB9OworICAgIGxl
dCB0YW42NCA9IE1hdGgudGFuKDY0KTsKKworICAgIC8vIFdhcm0gdXAgd2l0aG91dCBleGNlcHRp
b24uCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxZTM7ICsraSkgeworICAgICAgICBpZiAob3Bh
cXVlVGFuV2l0aEV4Y2VwdGlvbih0ZXN0T2JqZWN0KSAhPT0gdGFuNjQpCisgICAgICAgICAgICB0
aHJvdyAiSW5jb3JyZWN0IHJlc3VsdCBpbiBvcGFxdWVUYW5XaXRoRXhjZXB0aW9uKCkiOworICAg
IH0KKworICAgIGxldCB0ZXN0VGhyb3dPYmplY3QgPSB7IHZhbHVlT2Y6ICgpID0+IHsgdGhyb3cg
dGVzdE9iamVjdDsgcmV0dXJuIDY0OyB9IH07CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDFl
MjsgKytpKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBpZiAob3BhcXVlVGFuV2l0aEV4
Y2VwdGlvbih0ZXN0VGhyb3dPYmplY3QpICE9PSA4KQorICAgICAgICAgICAgICAgIHRocm93ICJU
aGlzIGNvZGUgc2hvdWxkIG5vdCBiZSByZWFjaGVkISEiOworICAgICAgICB9IGNhdGNoIChlKSB7
CisgICAgICAgICAgICBpZiAoZSAhPT0gdGVzdE9iamVjdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJXcm9uZyBvYmplY3QgdGhyb3duIGZyb20gb3BhcXVlVGFuV2l0aEV4Y2VwdGlvbi4iCisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoY291bnRlciAhPT0gMWUz
KSB7CisgICAgICAgIHRocm93ICJJbnZhbGlkIGNvdW50IGluIHRlc3RFeGNlcHRpb24oKSI7Cisg
ICAgfQorfQordGVzdEV4Y2VwdGlvbigpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvZnRs
LWFyaXRodGFuLmpzIGIvSlNUZXN0cy9zdHJlc3MvZnRsLWFyaXRodGFuLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmI4ZTRmYzcwMjYzYjc5MjRmZTQ2ZTkyY2E1ZDRkMGYwZTAwNGZhNjMKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3N0cmVzcy9mdGwtYXJpdGh0YW4uanMKQEAgLTAsMCArMSwxMyBAQAorZnVu
Y3Rpb24gZm9vKHgpIHsKKyAgICByZXR1cm4gTWF0aC50YW4oeCk7Cit9CisKK25vSW5saW5lKGZv
byk7CisKK3ZhciBqID0gMDsKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpCisgICAg
aiA9IGZvbyhpKTsKKworaWYgKC0xLjY4NzE3MzYyNTgwMjU2MzEgIT0gail7CisgICAgdGhyb3cg
YEVycm9yOiAke2p9YDsKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>