<?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>21362</bug_id>
          
          <creation_ts>2008-10-03 23:58:09 -0700</creation_ts>
          <short_desc>&quot;this&quot; object in methods called on primitives should be wrapper object</short_desc>
          <delta_ts>2008-10-04 08:58:32 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>94054</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-10-03 23:58:09 -0700</bug_when>
    <thetext>In cases like this:

String.prototype.thisType = function() { return typeof this; };
Number.prototype.thisType = function() { return typeof this; };
Boolean.prototype.thisType = function() { return typeof this; };

shouldBe(&quot;(1).thisType()&quot;, &quot;&apos;object&apos;&quot;);
shouldBe(&quot;(2.3).thisType()&quot;, &quot;&apos;object&apos;&quot;);
shouldBe(&quot;&apos;xxx&apos;.thisType()&quot;, &quot;&apos;object&apos;&quot;);
shouldBe(&quot;(false).thisType()&quot;, &quot;&apos;object&apos;&quot;);

We&apos;re currently providing the raw number or string or bool as the &quot;this&quot; value, which is subtly wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94056</commentid>
    <comment_count>1</comment_count>
      <attachid>24084</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-10-04 00:02:11 -0700</bug_when>
    <thetext>Created attachment 24084
the fix, with test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94057</commentid>
    <comment_count>2</comment_count>
      <attachid>24084</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-10-04 00:12:16 -0700</bug_when>
    <thetext>Comment on attachment 24084
the fix, with test case

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94084</commentid>
    <comment_count>3</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-10-04 08:58:32 -0700</bug_when>
    <thetext>Landed in r37285.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24084</attachid>
            <date>2008-10-04 00:02:11 -0700</date>
            <delta_ts>2008-10-04 00:12:16 -0700</delta_ts>
            <desc>the fix, with test case</desc>
            <filename>this-fix.patch.txt</filename>
            <type>text/plain</type>
            <size>23654</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDM3Mjg0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTMgQEAKKzIwMDgtMTAtMDMgIE1hY2llaiBT
dGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIC0gInRoaXMiIG9iamVjdCBpbiBtZXRob2RzIGNh
bGxlZCBvbiBwcmltaXRpdmVzIHNob3VsZCBiZSB3cmFwcGVyIG9iamVjdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjIKKworICAgICAgICBJIGNo
YW5nZWQgdGhpbmdzIHNvIHRoYXQgZnVuY3Rpb25zIHdoaWNoIHVzZSAidGhpcyIgZG8gYSBmYXN0
CisgICAgICAgIHZlcnNpb24gb2YgdG9UaGlzT2JqZWN0IGNvbnZlcnNpb24gaWYgbmVlZGVkLiBD
dXJyZW50bHkgd2UgbWlzcworICAgICAgICB0aGUgY29udmVyc2lvbiBlbnRpcmVseSwgYXQgbGVh
c3QgZm9yIHByaW1pdGl2ZSB0eXBlcy4gVXNpbmcKKyAgICAgICAgVHlwZUluZm8gYW5kIHRoZSBw
cmltaXRpdmUgY2hlY2ssIEkgbWFkZSB0aGUgZmFzdCBjYXNlIGJhaWwgb3V0CisgICAgICAgIHBy
ZXR0eSBmYXN0LgorICAgICAgICAKKyAgICAgICAgVGhpcyBpcyBpbmV4cGxpY2FibHkgYW4gMS4w
MDd4IFN1blNwaWRlciBzcGVlZHVwIChhbmQgYSB3YXNoIG9uIFY4IGJlbmNobWFya3MpLgorICAg
ICAgICAKKyAgICAgICAgKiBWTS9DVEkuY3BwOgorICAgICAgICAoSlNDOjpDVEk6OnByaXZhdGVD
b21waWxlTWFpblBhc3MpOgorICAgICAgICAoSlNDOjpDVEk6OnByaXZhdGVDb21waWxlU2xvd0Nh
c2VzKToKKyAgICAgICAgKiBWTS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxv
Y2s6OmR1bXApOgorICAgICAgICAqIFZNL0NvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlND
OjpDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSk6CisgICAgICAgIChKU0M6OkNvZGVHZW5lcmF0b3I6
OkNvZGVHZW5lcmF0b3IpOgorICAgICAgICAqIFZNL01hY2hpbmUuY3BwOgorICAgICAgICAoSlND
OjpNYWNoaW5lOjpwcml2YXRlRXhlY3V0ZSk6CisgICAgICAgIChKU0M6Ok1hY2hpbmU6OmN0aV9v
cF9jb252ZXJ0X3RoaXMpOgorICAgICAgICAqIFZNL01hY2hpbmUuaDoKKyAgICAgICAgKiBWTS9P
cGNvZGUuaDoKKyAgICAgICAgKiBranMvSlNBY3RpdmF0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6
SlNBY3RpdmF0aW9uOjpKU0FjdGl2YXRpb24pOgorICAgICAgICAqIGtqcy9KU0FjdGl2YXRpb24u
aDoKKyAgICAgICAgKEpTQzo6SlNBY3RpdmF0aW9uOjpjcmVhdGVTdHJ1Y3R1cmVJRCk6CisgICAg
ICAgICoga2pzL0pTQ2VsbC5oOgorICAgICAgICAoSlNDOjpKU1ZhbHVlOjpuZWVkc1RoaXNDb252
ZXJzaW9uKToKKyAgICAgICAgKiBranMvSlNHbG9iYWxEYXRhLmNwcDoKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxEYXRhOjpKU0dsb2JhbERhdGEpOgorICAgICAgICAqIGtqcy9KU0dsb2JhbERhdGEu
aDoKKyAgICAgICAgKiBranMvSlNOdW1iZXJDZWxsLmg6CisgICAgICAgIChKU0M6OkpTTnVtYmVy
Q2VsbDo6Y3JlYXRlU3RydWN0dXJlSUQpOgorICAgICAgICAqIGtqcy9KU1N0YXRpY1Njb3BlT2Jq
ZWN0Lmg6CisgICAgICAgIChKU0M6OkpTU3RhdGljU2NvcGVPYmplY3Q6OkpTU3RhdGljU2NvcGVP
YmplY3QpOgorICAgICAgICAoSlNDOjpKU1N0YXRpY1Njb3BlT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1
cmVJRCk6CisgICAgICAgICoga2pzL0pTU3RyaW5nLmg6CisgICAgICAgIChKU0M6OkpTU3RyaW5n
OjpjcmVhdGVTdHJ1Y3R1cmVJRCk6CisgICAgICAgICoga2pzL0pTVmFsdWUuaDoKKyAgICAgICAg
KiBranMvVHlwZUluZm8uaDoKKyAgICAgICAgKEpTQzo6VHlwZUluZm86Om5lZWRzVGhpc0NvbnZl
cnNpb24pOgorICAgICAgICAqIGtqcy9ub2Rlcy5oOgorICAgICAgICAoSlNDOjpTY29wZU5vZGU6
OnVzZXNUaGlzKToKKwogMjAwOC0xMC0wMyAgQ2FtZXJvbiBad2FyaWNoICA8endhcmljaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCkluZGV4OiBK
YXZhU2NyaXB0Q29yZS9WTS9DVEkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL1ZN
L0NUSS5jcHAJKHJldmlzaW9uIDM3MjcwKQorKysgSmF2YVNjcmlwdENvcmUvVk0vQ1RJLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTk2NCw3ICsxOTY0LDcgQEAgdm9pZCBDVEk6OnByaXZhdGVDb21w
aWxlTWFpblBhc3MoKQogICAgICAgICAgICAgaSArPSAzOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KLSAgICAgICAgY2FzZSBvcF9pbml0OiB7CisgICAgICAgIGNhc2Ugb3BfZW50ZXI6
IHsKICAgICAgICAgICAgIC8vIEV2ZW4gdGhvdWdoIENUSSBkb2Vzbid0IHVzZSB0aGVtLCB3ZSBp
bml0aWFsaXplIG91ciBjb25zdGFudAogICAgICAgICAgICAgLy8gcmVnaXN0ZXJzIHRvIHphcCBz
dGFsZSBwb2ludGVycywgdG8gYXZvaWQgdW5uZWNlc3NhcmlseSBwcm9sb25naW5nCiAgICAgICAg
ICAgICAvLyBvYmplY3QgbGlmZXRpbWUgYW5kIGluY3JlYXNpbmcgR0MgcHJlc3N1cmUuCkBAIC0x
OTc1LDcgKzE5NzUsNyBAQCB2b2lkIENUSTo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAg
ICAgICAgICBpKz0gMTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIGNh
c2Ugb3BfaW5pdF9hY3RpdmF0aW9uOiB7CisgICAgICAgIGNhc2Ugb3BfZW50ZXJfd2l0aF9hY3Rp
dmF0aW9uOiB7CiAgICAgICAgICAgICBlbWl0Q2FsbChpLCBNYWNoaW5lOjpjdGlfb3BfcHVzaF9h
Y3RpdmF0aW9uKTsKIAogICAgICAgICAgICAgLy8gRXZlbiB0aG91Z2ggQ1RJIGRvZXNuJ3QgdXNl
IHRoZW0sIHdlIGluaXRpYWxpemUgb3VyIGNvbnN0YW50CkBAIC0xOTkzLDYgKzE5OTMsMTcgQEAg
dm9pZCBDVEk6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICAgICAgaSArPSAxOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBvcF9jb252ZXJ0X3Ro
aXM6IHsKKyAgICAgICAgICAgIGVtaXRHZXRBcmcoaW5zdHJ1Y3Rpb25baSArIDFdLnUub3BlcmFu
ZCwgWDg2OjplYXgpOworCisgICAgICAgICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RKU0NlbGwo
WDg2OjplYXgsIGkpOworICAgICAgICAgICAgbV9qaXQubW92bF9tcihPQkpFQ1RfT0ZGU0VUKEpT
Q2VsbCwgbV9zdHJ1Y3R1cmVJRCksIFg4Njo6ZWF4LCBYODY6OmVkeCk7CisgICAgICAgICAgICBt
X2ppdC50ZXN0bF9pMzJtKE5lZWRzVGhpc0NvbnZlcnNpb24sIE9CSkVDVF9PRkZTRVQoU3RydWN0
dXJlSUQsIG1fdHlwZUluZm8ubV9mbGFncyksIFg4Njo6ZWR4KTsKKyAgICAgICAgICAgIG1fc2xv
d0Nhc2VzLmFwcGVuZChTbG93Q2FzZUVudHJ5KG1faml0LmVtaXRVbmxpbmtlZEpueigpLCBpKSk7
CisKKyAgICAgICAgICAgIGkgKz0gMjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAg
ICAgICAgIGNhc2Ugb3BfZ2V0X2FycmF5X2xlbmd0aDoKICAgICAgICAgY2FzZSBvcF9nZXRfYnlf
aWRfY2hhaW46CiAgICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2dlbmVyaWM6CkBAIC0yMDM3LDYg
KzIwNDgsMTUgQEAgdm9pZCBDVEk6OnByaXZhdGVDb21waWxlU2xvd0Nhc2VzKCkKICAgICBmb3Ig
KFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3IgaXRlciA9IG1fc2xvd0Nhc2VzLmJlZ2lu
KCk7IGl0ZXIgIT0gbV9zbG93Q2FzZXMuZW5kKCk7ICsraXRlcikgewogICAgICAgICB1bnNpZ25l
ZCBpID0gaXRlci0+dG87CiAgICAgICAgIHN3aXRjaCAobV9tYWNoaW5lLT5nZXRPcGNvZGVJRChp
bnN0cnVjdGlvbltpXS51Lm9wY29kZSkpIHsKKyAgICAgICAgY2FzZSBvcF9jb252ZXJ0X3RoaXM6
IHsKKyAgICAgICAgICAgIG1faml0LmxpbmsoaXRlci0+ZnJvbSwgbV9qaXQubGFiZWwoKSk7Cisg
ICAgICAgICAgICBtX2ppdC5saW5rKCgrK2l0ZXIpLT5mcm9tLCBtX2ppdC5sYWJlbCgpKTsKKyAg
ICAgICAgICAgIGVtaXRQdXRBcmcoWDg2OjplYXgsIDApOworICAgICAgICAgICAgZW1pdENhbGwo
aSwgTWFjaGluZTo6Y3RpX29wX2NvbnZlcnRfdGhpcyk7CisgICAgICAgICAgICBlbWl0UHV0UmVz
dWx0KGluc3RydWN0aW9uW2kgKyAxXS51Lm9wZXJhbmQpOworICAgICAgICAgICAgaSArPSAyOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBvcF9hZGQ6IHsKICAg
ICAgICAgICAgIHVuc2lnbmVkIGRzdCA9IGluc3RydWN0aW9uW2kgKyAxXS51Lm9wZXJhbmQ7CiAg
ICAgICAgICAgICB1bnNpZ25lZCBzcmMxID0gaW5zdHJ1Y3Rpb25baSArIDJdLnUub3BlcmFuZDsK
SW5kZXg6IEphdmFTY3JpcHRDb3JlL1ZNL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2
YVNjcmlwdENvcmUvVk0vQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMzcyNzApCisrKyBKYXZhU2Ny
aXB0Q29yZS9WTS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDgsMTggKzM0OCwy
MyBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcChFeGVjU3RhdGUqIGV4ZWMsIGNvCiB7CiAgICAgaW50
IGxvY2F0aW9uID0gaXQgLSBiZWdpbjsKICAgICBzd2l0Y2ggKGV4ZWMtPm1hY2hpbmUoKS0+Z2V0
T3Bjb2RlSUQoaXQtPnUub3Bjb2RlKSkgewotICAgICAgICBjYXNlIG9wX2luaXQ6IHsKLSAgICAg
ICAgICAgIHByaW50ZigiWyU0ZF0gaW5pdFxuIiwgbG9jYXRpb24pOworICAgICAgICBjYXNlIG9w
X2VudGVyOiB7CisgICAgICAgICAgICBwcmludGYoIlslNGRdIGVudGVyXG4iLCBsb2NhdGlvbik7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBjYXNlIG9wX2luaXRfYWN0
aXZhdGlvbjogewotICAgICAgICAgICAgcHJpbnRmKCJbJTRkXSBpbml0X2FjdGl2YXRpb25cbiIs
IGxvY2F0aW9uKTsKKyAgICAgICAgY2FzZSBvcF9lbnRlcl93aXRoX2FjdGl2YXRpb246IHsKKyAg
ICAgICAgICAgIHByaW50ZigiWyU0ZF0gZW50ZXJfd2l0aF9hY3RpdmF0aW9uXG4iLCBsb2NhdGlv
bik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIG9wX2luaXRf
YXJndW1lbnRzOiB7CiAgICAgICAgICAgICBwcmludGYoIlslNGRdIGluaXRfYXJndW1lbnRzXG4i
LCBsb2NhdGlvbik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorICAgICAgICBjYXNl
IG9wX2NvbnZlcnRfdGhpczogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJh
bmQ7CisgICAgICAgICAgICBwcmludGYoIlslNGRdIGNvbnZlcnRfdGhpcyAlc1xuIiwgbG9jYXRp
b24sIHJlZ2lzdGVyTmFtZShyMCkuY19zdHIoKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQogICAgICAgICBjYXNlIG9wX3VuZXhwZWN0ZWRfbG9hZDogewogICAgICAgICAgICAgaW50
IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQgazAgPSAoKytpdCktPnUu
b3BlcmFuZDsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL1ZNL0NvZGVHZW5lcmF0b3IuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL1ZNL0NvZGVHZW5lcmF0b3IuY3BwCShyZXZpc2lvbiAz
NzI3MCkKKysrIEphdmFTY3JpcHRDb3JlL1ZNL0NvZGVHZW5lcmF0b3IuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzcsOCArMTM3LDggQEAgdm9pZCBDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSgpCiAg
ICAgbV9zY29wZU5vZGUtPmVtaXRDb2RlKCp0aGlzKTsKIAogICAgIGlmIChtX2NvZGVUeXBlID09
IEZ1bmN0aW9uQ29kZSAmJiBtX2NvZGVCbG9jay0+bmVlZHNGdWxsU2NvcGVDaGFpbikgewotICAg
ICAgICBBU1NFUlQoZ2xvYmFsRGF0YSgpLT5tYWNoaW5lLT5nZXRPcGNvZGVJRChtX2NvZGVCbG9j
ay0+aW5zdHJ1Y3Rpb25zWzBdLnUub3Bjb2RlKSA9PSBvcF9pbml0KTsKLSAgICAgICAgbV9jb2Rl
QmxvY2stPmluc3RydWN0aW9uc1swXSA9IGdsb2JhbERhdGEoKS0+bWFjaGluZS0+Z2V0T3Bjb2Rl
KG9wX2luaXRfYWN0aXZhdGlvbik7CisgICAgICAgIEFTU0VSVChnbG9iYWxEYXRhKCktPm1hY2hp
bmUtPmdldE9wY29kZUlEKG1fY29kZUJsb2NrLT5pbnN0cnVjdGlvbnNbMF0udS5vcGNvZGUpID09
IG9wX2VudGVyKTsKKyAgICAgICAgbV9jb2RlQmxvY2stPmluc3RydWN0aW9uc1swXSA9IGdsb2Jh
bERhdGEoKS0+bWFjaGluZS0+Z2V0T3Bjb2RlKG9wX2VudGVyX3dpdGhfYWN0aXZhdGlvbik7CiAg
ICAgfQogCiAjaWZuZGVmIE5ERUJVRwpAQCAtMjE2LDcgKzIxNiw3IEBAIENvZGVHZW5lcmF0b3I6
OkNvZGVHZW5lcmF0b3IoUHJvZ3JhbU5vZGUKICAgICAsIG1fZ2xvYmFsRGF0YSgmc2NvcGVDaGFp
bi5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpLT5nbG9iYWxEYXRhKCkpCiAgICAgLCBtX2xh
c3RPcGNvZGVJRChvcF9lbmQpCiB7Ci0gICAgZW1pdE9wY29kZShvcF9pbml0KTsKKyAgICBlbWl0
T3Bjb2RlKG9wX2VudGVyKTsKICAgICBjb2RlQmxvY2stPmdsb2JhbERhdGEgPSBtX2dsb2JhbERh
dGE7CiAKICAgICAvLyBGSVhNRTogTW92ZSBjb2RlIHRoYXQgbW9kaWZpZXMgdGhlIGdsb2JhbCBv
YmplY3QgdG8gTWFjaGluZTo6ZXhlY3V0ZS4KQEAgLTI4OSw3ICsyODksNyBAQCBDb2RlR2VuZXJh
dG9yOjpDb2RlR2VuZXJhdG9yKEZ1bmN0aW9uQm9kCiAgICAgLCBtX2dsb2JhbERhdGEoJnNjb3Bl
Q2hhaW4uZ2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKS0+Z2xvYmFsRGF0YSgpKQogICAgICwg
bV9sYXN0T3Bjb2RlSUQob3BfZW5kKQogewotICAgIGVtaXRPcGNvZGUob3BfaW5pdCk7CisgICAg
ZW1pdE9wY29kZShvcF9lbnRlcik7CiAgICAgY29kZUJsb2NrLT5nbG9iYWxEYXRhID0gbV9nbG9i
YWxEYXRhOwogCiAgICAgYm9vbCB1c2VzQXJndW1lbnRzID0gZnVuY3Rpb25Cb2R5LT51c2VzQXJn
dW1lbnRzKCk7CkBAIC0zMjEsNiArMzIxLDExIEBAIENvZGVHZW5lcmF0b3I6OkNvZGVHZW5lcmF0
b3IoRnVuY3Rpb25Cb2QKICAgICBtX3RoaXNSZWdpc3Rlci5zZXRJbmRleChtX25leHRQYXJhbWV0
ZXIpOwogICAgICsrbV9uZXh0UGFyYW1ldGVyOwogICAgICsrbV9jb2RlQmxvY2stPm51bVBhcmFt
ZXRlcnM7CisKKyAgICBpZiAoZnVuY3Rpb25Cb2R5LT51c2VzVGhpcygpKSB7CisgICAgICAgIGVt
aXRPcGNvZGUob3BfY29udmVydF90aGlzKTsKKyAgICAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5k
KG1fdGhpc1JlZ2lzdGVyLmluZGV4KCkpOworICAgIH0KICAgICAKICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IHBhcmFtZXRlckNvdW50OyArK2kpCiAgICAgICAgIGFkZFBhcmFtZXRlcihwYXJh
bWV0ZXJzW2ldKTsKQEAgLTM0Miw3ICszNDcsNyBAQCBDb2RlR2VuZXJhdG9yOjpDb2RlR2VuZXJh
dG9yKEV2YWxOb2RlKiBlCiAgICAgLCBtX2dsb2JhbERhdGEoJnNjb3BlQ2hhaW4uZ2xvYmFsT2Jq
ZWN0KCktPmdsb2JhbEV4ZWMoKS0+Z2xvYmFsRGF0YSgpKQogICAgICwgbV9sYXN0T3Bjb2RlSUQo
b3BfZW5kKQogewotICAgIGVtaXRPcGNvZGUob3BfaW5pdCk7CisgICAgZW1pdE9wY29kZShvcF9l
bnRlcik7CiAgICAgY29kZUJsb2NrLT5nbG9iYWxEYXRhID0gbV9nbG9iYWxEYXRhOwogICAgIG1f
Y29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzID0gMTsgLy8gQWxsb2NhdGUgc3BhY2UgZm9yICJ0aGlz
IgogCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9WTS9NYWNoaW5lLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
YXZhU2NyaXB0Q29yZS9WTS9NYWNoaW5lLmNwcAkocmV2aXNpb24gMzcyNzApCisrKyBKYXZhU2Ny
aXB0Q29yZS9WTS9NYWNoaW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM3NSw3ICszMzc1LDcg
QEAgSlNWYWx1ZSogTWFjaGluZTo6cHJpdmF0ZUV4ZWN1dGUoRXhlY3V0aQogCiAgICAgICAgIE5F
WFRfT1BDT0RFOwogICAgIH0KLSAgICBCRUdJTl9PUENPREUob3BfaW5pdCkgeworICAgIEJFR0lO
X09QQ09ERShvcF9lbnRlcikgewogICAgICAgICBzaXplX3QgaSA9IDA7CiAgICAgICAgIENvZGVC
bG9jayogY29kZUJsb2NrID0gdGhpcy0+Y29kZUJsb2NrKHIpOwogICAgICAgICAKQEAgLTMzODgs
NyArMzM4OCw3IEBAIEpTVmFsdWUqIE1hY2hpbmU6OnByaXZhdGVFeGVjdXRlKEV4ZWN1dGkKICAg
ICAgICAgKyt2UEM7CiAgICAgICAgIE5FWFRfT1BDT0RFOwogICAgIH0KLSAgICBCRUdJTl9PUENP
REUob3BfaW5pdF9hY3RpdmF0aW9uKSB7CisgICAgQkVHSU5fT1BDT0RFKG9wX2VudGVyX3dpdGhf
YWN0aXZhdGlvbikgewogICAgICAgICBzaXplX3QgaSA9IDA7CiAgICAgICAgIENvZGVCbG9jayog
Y29kZUJsb2NrID0gdGhpcy0+Y29kZUJsb2NrKHIpOwogCkBAIC0zNDA1LDYgKzM0MDUsMTUgQEAg
SlNWYWx1ZSogTWFjaGluZTo6cHJpdmF0ZUV4ZWN1dGUoRXhlY3V0aQogICAgICAgICArK3ZQQzsK
ICAgICAgICAgTkVYVF9PUENPREU7CiAgICAgfQorICAgIEJFR0lOX09QQ09ERShvcF9jb252ZXJ0
X3RoaXMpIHsKKyAgICAgICAgaW50IHRoaXNSZWdpc3RlciA9ICgrK3ZQQyktPnUub3BlcmFuZDsK
KyAgICAgICAgSlNWYWx1ZSogdGhpc1ZhbCA9IHJbdGhpc1JlZ2lzdGVyXS5nZXRKU1ZhbHVlKCk7
CisgICAgICAgIGlmICh0aGlzVmFsLT5uZWVkc1RoaXNDb252ZXJzaW9uKCkpCisgICAgICAgICAg
ICByW3RoaXNSZWdpc3Rlcl0gPSB0aGlzVmFsLT50b1RoaXNPYmplY3QoZXhlYyk7CisKKyAgICAg
ICAgKyt2UEM7CisgICAgICAgIE5FWFRfT1BDT0RFOworICAgIH0KICAgICBCRUdJTl9PUENPREUo
b3BfaW5pdF9hcmd1bWVudHMpIHsKICAgICAgICAgSlNWYWx1ZSogYWN0aXZhdGlvbiA9IHJbUmVn
aXN0ZXJGaWxlOjpPcHRpb25hbENhbGxlZUFjdGl2YXRpb25dLmdldEpTVmFsdWUoKTsKICAgICAg
ICAgQXJndW1lbnRzKiBhcmd1bWVudHM7CkBAIC00MjAwLDYgKzQyMDksMTcgQEAgTkVWRVJfSU5M
SU5FIHZvaWQgTWFjaGluZTo6dHJ5Q1RJQ2FjaGVHZQogICAgICAgICB9IFwKICAgICB9IHdoaWxl
ICgwKQogCisKK0pTVmFsdWUqIE1hY2hpbmU6OmN0aV9vcF9jb252ZXJ0X3RoaXMoQ1RJX0FSR1Mp
Cit7CisgICAgSlNWYWx1ZSogdjEgPSBBUkdfc3JjMTsKKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSBB
UkdfZXhlYzsKKworICAgIEpTT2JqZWN0KiByZXN1bHQgPSB2MS0+dG9UaGlzT2JqZWN0KGV4ZWMp
OworICAgIFZNX0NIRUNLX0VYQ0VQVElPTl9BVF9FTkQoKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCiB2b2lkIE1hY2hpbmU6OmN0aV9vcF9lbmQoQ1RJX0FSR1MpCiB7CiAgICAgUmVnaXN0ZXIq
IHIgPSBBUkdfcjsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL1ZNL01hY2hpbmUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKYXZhU2NyaXB0Q29yZS9WTS9NYWNoaW5lLmgJKHJldmlzaW9uIDM3MjcwKQorKysgSmF2
YVNjcmlwdENvcmUvVk0vTWFjaGluZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsNiArMTQzLDcg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIHZvaWQgU0ZYX0NBTEwgY3RpX3Rp
bWVvdXRfY2hlY2soQ1RJX0FSR1MpOwogCisgICAgICAgIHN0YXRpYyBKU1ZhbHVlKiBTRlhfQ0FM
TCBjdGlfb3BfY29udmVydF90aGlzKENUSV9BUkdTKTsKICAgICAgICAgc3RhdGljIHZvaWQgU0ZY
X0NBTEwgY3RpX29wX2VuZChDVElfQVJHUyk7CiAgICAgICAgIHN0YXRpYyBKU1ZhbHVlKiBTRlhf
Q0FMTCBjdGlfb3BfYWRkKENUSV9BUkdTKTsKICAgICAgICAgc3RhdGljIEpTVmFsdWUqIFNGWF9D
QUxMIGN0aV9vcF9wcmVfaW5jKENUSV9BUkdTKTsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL1ZNL09w
Y29kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL1ZNL09wY29kZS5oCShyZXZpc2lv
biAzNzI3MCkKKysrIEphdmFTY3JpcHRDb3JlL1ZNL09wY29kZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC00MCw5ICs0MCwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICNkZWZpbmUgRFVNUF9PUENPREVfU1RB
VFMgMAogCiAgICAgI2RlZmluZSBGT1JfRUFDSF9PUENPREVfSUQobWFjcm8pIFwKLSAgICAgICAg
bWFjcm8ob3BfaW5pdCkgXAotICAgICAgICBtYWNybyhvcF9pbml0X2FjdGl2YXRpb24pIFwKKyAg
ICAgICAgbWFjcm8ob3BfZW50ZXIpIFwKKyAgICAgICAgbWFjcm8ob3BfZW50ZXJfd2l0aF9hY3Rp
dmF0aW9uKSBcCiAgICAgICAgIG1hY3JvKG9wX2luaXRfYXJndW1lbnRzKSBcCisgICAgICAgIG1h
Y3JvKG9wX2NvbnZlcnRfdGhpcykgXAogICAgICAgICBcCiAgICAgICAgIG1hY3JvKG9wX3VuZXhw
ZWN0ZWRfbG9hZCkgXAogICAgICAgICBtYWNybyhvcF9uZXdfb2JqZWN0KSBcCkluZGV4OiBKYXZh
U2NyaXB0Q29yZS9ranMvSlNBY3RpdmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9ranMvSlNBY3RpdmF0aW9uLmNwcAkocmV2aXNpb24gMzcyNzApCisrKyBKYXZhU2NyaXB0
Q29yZS9ranMvSlNBY3RpdmF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBA
QCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTQWN0aXZhdGlvbik7CiBjb25zdCBDbGFzc0lu
Zm8gSlNBY3RpdmF0aW9uOjppbmZvID0geyAiSlNBY3RpdmF0aW9uIiwgMCwgMCwgMCB9OwogCiBK
U0FjdGl2YXRpb246OkpTQWN0aXZhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIFBhc3NSZWZQdHI8RnVu
Y3Rpb25Cb2R5Tm9kZT4gZnVuY3Rpb25Cb2R5LCBSZWdpc3RlciogcmVnaXN0ZXJzKQotICAgIDog
QmFzZShleGVjLT5nbG9iYWxEYXRhKCkubnVsbFByb3RvU3RydWN0dXJlSUQsIG5ldyBKU0FjdGl2
YXRpb25EYXRhKGZ1bmN0aW9uQm9keSwgcmVnaXN0ZXJzKSkKKyAgICA6IEJhc2UoZXhlYy0+Z2xv
YmFsRGF0YSgpLmFjdGl2YXRpb25TdHJ1Y3R1cmVJRCwgbmV3IEpTQWN0aXZhdGlvbkRhdGEoZnVu
Y3Rpb25Cb2R5LCByZWdpc3RlcnMpKQogewogfQogCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMv
SlNBY3RpdmF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL0pTQWN0aXZh
dGlvbi5oCShyZXZpc2lvbiAzNzI3MCkKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9KU0FjdGl2YXRp
b24uaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgdmlydHVhbCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbygpIGNvbnN0IHsgcmV0dXJu
ICZpbmZvOyB9CiAgICAgICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gaW5mbzsKIAorICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1cmVJRD4gY3JlYXRlU3RydWN0dXJlSUQoSlNWYWx1
ZSogcHJvdG8pIHsgcmV0dXJuIFN0cnVjdHVyZUlEOjpjcmVhdGUocHJvdG8sIFR5cGVJbmZvKE9i
amVjdFR5cGUsIE5lZWRzVGhpc0NvbnZlcnNpb24pKTsgfQorCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgc3RydWN0IEpTQWN0aXZhdGlvbkRhdGEgOiBwdWJsaWMgSlNWYXJpYWJsZU9iamVjdERhdGEg
ewogICAgICAgICAgICAgSlNBY3RpdmF0aW9uRGF0YShQYXNzUmVmUHRyPEZ1bmN0aW9uQm9keU5v
ZGU+IGZ1bmN0aW9uQm9keSwgUmVnaXN0ZXIqIHJlZ2lzdGVycykKSW5kZXg6IEphdmFTY3JpcHRD
b3JlL2tqcy9KU0NlbGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvSlNDZWxs
LmgJKHJldmlzaW9uIDM3MjcwKQorKysgSmF2YVNjcmlwdENvcmUva2pzL0pTQ2VsbC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOTksNiArMjk5LDE0IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBy
ZXR1cm4gYXNDZWxsKCktPnRvVGhpc09iamVjdChleGVjKTsKICAgICB9CiAKKyAgICBpbmxpbmUg
Ym9vbCBKU1ZhbHVlOjpuZWVkc1RoaXNDb252ZXJzaW9uKCkgY29uc3QKKyAgICB7CisgICAgICAg
IGlmIChVTkxJS0VMWShKU0ltbWVkaWF0ZTo6aXNJbW1lZGlhdGUodGhpcykpKQorICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAgcmV0dXJuIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgp
LT50eXBlSW5mbygpLm5lZWRzVGhpc0NvbnZlcnNpb24oKTsKKyAgICB9CisKICAgICBpbmxpbmUg
VVN0cmluZyBKU1ZhbHVlOjp0b1RoaXNTdHJpbmcoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogICAg
IHsKICAgICAgICAgcmV0dXJuIEpTSW1tZWRpYXRlOjppc0ltbWVkaWF0ZSh0aGlzKSA/IEpTSW1t
ZWRpYXRlOjp0b1N0cmluZyh0aGlzKSA6IGFzQ2VsbCgpLT50b1RoaXNTdHJpbmcoZXhlYyk7Cklu
ZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMvSlNHbG9iYWxEYXRhLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
YXZhU2NyaXB0Q29yZS9ranMvSlNHbG9iYWxEYXRhLmNwcAkocmV2aXNpb24gMzcyNzApCisrKyBK
YXZhU2NyaXB0Q29yZS9ranMvSlNHbG9iYWxEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEs
OCArMzEsMTAgQEAKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKICNpbmNsdWRlICJDb21tb25JZGVu
dGlmaWVycy5oIgorI2luY2x1ZGUgIkpTQWN0aXZhdGlvbi5oIgogI2luY2x1ZGUgIkpTQ2xhc3NS
ZWYuaCIKICNpbmNsdWRlICJKU0xvY2suaCIKKyNpbmNsdWRlICJKU1N0YXRpY1Njb3BlT2JqZWN0
LmgiCiAjaW5jbHVkZSAiTWFjaGluZS5oIgogI2luY2x1ZGUgIlBhcnNlci5oIgogI2luY2x1ZGUg
ImNvbGxlY3Rvci5oIgpAQCAtNzYsNiArNzgsOCBAQCBKU0dsb2JhbERhdGE6OkpTR2xvYmFsRGF0
YShib29sIGlzU2hhcmVkCiAgICAgLCBzdHJpbmdUYWJsZSgmSlNDOjpzdHJpbmdUYWJsZSkKICNl
bmRpZgogICAgICwgbnVsbFByb3RvU3RydWN0dXJlSUQoSlNPYmplY3Q6OmNyZWF0ZVN0cnVjdHVy
ZUlEKGpzTnVsbCgpKSkKKyAgICAsIGFjdGl2YXRpb25TdHJ1Y3R1cmVJRChKU0FjdGl2YXRpb246
OmNyZWF0ZVN0cnVjdHVyZUlEKGpzTnVsbCgpKSkKKyAgICAsIHN0YXRpY1Njb3BlU3RydWN0dXJl
SUQoSlNTdGF0aWNTY29wZU9iamVjdDo6Y3JlYXRlU3RydWN0dXJlSUQoanNOdWxsKCkpKQogICAg
ICwgc3RyaW5nU3RydWN0dXJlSUQoSlNTdHJpbmc6OmNyZWF0ZVN0cnVjdHVyZUlEKGpzTnVsbCgp
KSkKICAgICAsIG51bWJlclN0cnVjdHVyZUlEKEpTTnVtYmVyQ2VsbDo6Y3JlYXRlU3RydWN0dXJl
SUQoanNOdWxsKCkpKQogICAgICwgaWRlbnRpZmllclRhYmxlKGNyZWF0ZUlkZW50aWZpZXJUYWJs
ZSgpKQpJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL0pTR2xvYmFsRGF0YS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEphdmFTY3JpcHRDb3JlL2tqcy9KU0dsb2JhbERhdGEuaAkocmV2aXNpb24gMzcyNzApCisr
KyBKYXZhU2NyaXB0Q29yZS9ranMvSlNHbG9iYWxEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTcz
LDYgKzczLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGNvbnN0IEhhc2hUYWJsZSogc3Ry
aW5nVGFibGU7CiAgICAgICAgIAogICAgICAgICBSZWZQdHI8U3RydWN0dXJlSUQ+IG51bGxQcm90
b1N0cnVjdHVyZUlEOworICAgICAgICBSZWZQdHI8U3RydWN0dXJlSUQ+IGFjdGl2YXRpb25TdHJ1
Y3R1cmVJRDsKKyAgICAgICAgUmVmUHRyPFN0cnVjdHVyZUlEPiBzdGF0aWNTY29wZVN0cnVjdHVy
ZUlEOwogICAgICAgICBSZWZQdHI8U3RydWN0dXJlSUQ+IHN0cmluZ1N0cnVjdHVyZUlEOwogICAg
ICAgICBSZWZQdHI8U3RydWN0dXJlSUQ+IG51bWJlclN0cnVjdHVyZUlEOwogCkluZGV4OiBKYXZh
U2NyaXB0Q29yZS9ranMvSlNOdW1iZXJDZWxsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENv
cmUva2pzL0pTTnVtYmVyQ2VsbC5oCShyZXZpc2lvbiAzNzI3MCkKKysrIEphdmFTY3JpcHRDb3Jl
L2tqcy9KU051bWJlckNlbGwuaAkod29ya2luZyBjb3B5KQpAQCAtODIsNyArODIsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAjZW5kaWYKICAgICAgICAgfQogCi0gICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFN0cnVjdHVyZUlEPiBjcmVhdGVTdHJ1Y3R1cmVJRChKU1ZhbHVlKiBwcm90bykgeyBy
ZXR1cm4gU3RydWN0dXJlSUQ6OmNyZWF0ZShwcm90bywgVHlwZUluZm8oTnVtYmVyVHlwZSkpOyB9
CisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZUlEPiBjcmVhdGVTdHJ1Y3R1cmVJ
RChKU1ZhbHVlKiBwcm90bykgeyByZXR1cm4gU3RydWN0dXJlSUQ6OmNyZWF0ZShwcm90bywgVHlw
ZUluZm8oTnVtYmVyVHlwZSwgTmVlZHNUaGlzQ29udmVyc2lvbikpOyB9CiAKICAgICBwcml2YXRl
OgogICAgICAgICBKU051bWJlckNlbGwoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBkb3VibGUg
dmFsdWUpCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMvSlNTdGF0aWNTY29wZU9iamVjdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9KU1N0YXRpY1Njb3BlT2JqZWN0LmgJKHJl
dmlzaW9uIDM3MjcwKQorKysgSmF2YVNjcmlwdENvcmUva2pzL0pTU3RhdGljU2NvcGVPYmplY3Qu
aAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCBuYW1lc3BhY2UgSlNDewogICAgICAg
ICAKICAgICBwdWJsaWM6CiAgICAgICAgIEpTU3RhdGljU2NvcGVPYmplY3QoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgSlNWYWx1ZSogdmFsdWUsIHVuc2lnbmVkIGF0
dHJpYnV0ZXMpCi0gICAgICAgICAgICA6IEpTVmFyaWFibGVPYmplY3QoZXhlYy0+Z2xvYmFsRGF0
YSgpLm51bGxQcm90b1N0cnVjdHVyZUlELCBuZXcgSlNTdGF0aWNTY29wZU9iamVjdERhdGEoKSkK
KyAgICAgICAgICAgIDogSlNWYXJpYWJsZU9iamVjdChleGVjLT5nbG9iYWxEYXRhKCkuc3RhdGlj
U2NvcGVTdHJ1Y3R1cmVJRCwgbmV3IEpTU3RhdGljU2NvcGVPYmplY3REYXRhKCkpCiAgICAgICAg
IHsKICAgICAgICAgICAgIGQoKS0+cmVnaXN0ZXJTdG9yZSA9IHZhbHVlOwogICAgICAgICAgICAg
c3ltYm9sVGFibGUoKS5hZGQoaWRlbnQudXN0cmluZygpLnJlcCgpLCBTeW1ib2xUYWJsZUVudHJ5
KC0xLCBhdHRyaWJ1dGVzKSk7CkBAIC01OCw2ICs1OCw4IEBAIG5hbWVzcGFjZSBKU0N7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBwdXQoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIEpTVmFs
dWUqLCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdm9pZCBwdXRXaXRoQXR0cmlidXRlcyhF
eGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgSlNWYWx1ZSosIHVuc2lnbmVkIGF0dHJpYnV0
ZXMpOwogCisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZUlEPiBjcmVhdGVTdHJ1
Y3R1cmVJRChKU1ZhbHVlKiBwcm90bykgeyByZXR1cm4gU3RydWN0dXJlSUQ6OmNyZWF0ZShwcm90
bywgVHlwZUluZm8oT2JqZWN0VHlwZSwgTmVlZHNUaGlzQ29udmVyc2lvbikpOyB9CisKICAgICBw
cml2YXRlOgogICAgICAgICBKU1N0YXRpY1Njb3BlT2JqZWN0RGF0YSogZCgpIHsgcmV0dXJuIHN0
YXRpY19jYXN0PEpTU3RhdGljU2NvcGVPYmplY3REYXRhKj4oSlNWYXJpYWJsZU9iamVjdDo6ZCk7
IH0KICAgICB9OwpJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL0pTU3RyaW5nLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL0pTU3RyaW5nLmgJKHJldmlzaW9uIDM3MjcwKQorKysg
SmF2YVNjcmlwdENvcmUva2pzL0pTU3RyaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTkwLDcgKzkw
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgY2FuR2V0SW5kZXgodW5zaWduZWQg
aSkgeyByZXR1cm4gaSA8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX3ZhbHVlLnNpemUoKSk7IH0K
ICAgICAgICAgSlNTdHJpbmcqIGdldEluZGV4KEpTR2xvYmFsRGF0YSosIHVuc2lnbmVkKTsKIAot
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1cmVJRD4gY3JlYXRlU3RydWN0dXJlSUQo
SlNWYWx1ZSogcHJvdG8pIHsgcmV0dXJuIFN0cnVjdHVyZUlEOjpjcmVhdGUocHJvdG8sIFR5cGVJ
bmZvKFN0cmluZ1R5cGUpKTsgfQorICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1cmVJ
RD4gY3JlYXRlU3RydWN0dXJlSUQoSlNWYWx1ZSogcHJvdG8pIHsgcmV0dXJuIFN0cnVjdHVyZUlE
OjpjcmVhdGUocHJvdG8sIFR5cGVJbmZvKFN0cmluZ1R5cGUsIE5lZWRzVGhpc0NvbnZlcnNpb24p
KTsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZW51bSBWUHRyU3RlYWxpbmdIYWNrVHlwZSB7
IFZQdHJTdGVhbGluZ0hhY2sgfTsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9KU1ZhbHVlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL0pTVmFsdWUuaAkocmV2aXNpb24gMzcy
NzApCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvSlNWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzcsNiArMTM3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgZGVsZXRlUHJvcGVy
dHkoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKICAgICAgICAg
Ym9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpOwog
CisgICAgICAgIGJvb2wgbmVlZHNUaGlzQ29udmVyc2lvbigpIGNvbnN0OwogICAgICAgICBKU09i
amVjdCogdG9UaGlzT2JqZWN0KEV4ZWNTdGF0ZSopIGNvbnN0OwogICAgICAgICBVU3RyaW5nIHRv
VGhpc1N0cmluZyhFeGVjU3RhdGUqKSBjb25zdDsKICAgICAgICAgSlNTdHJpbmcqIHRvVGhpc0pT
U3RyaW5nKEV4ZWNTdGF0ZSopOwpJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL1R5cGVJbmZvLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL1R5cGVJbmZvLmgJKHJldmlzaW9uIDM3
MjcwKQorKysgSmF2YVNjcmlwdENvcmUva2pzL1R5cGVJbmZvLmgJKHdvcmtpbmcgY29weSkKQEAg
LTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQgPSAxOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBJ
bXBsZW1lbnRzSGFzSW5zdGFuY2UgPSAxIDw8IDE7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IE92ZXJyaWRlc0hhc0luc3RhbmNlID0gMSA8PCAyOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBOZWVkc1RoaXNDb252ZXJzaW9uID0gMSA8PCAzOwogCiAgICAgY2xhc3MgVHlwZUluZm8gewog
ICAgICAgICBmcmllbmQgY2xhc3MgQ1RJOwpAQCAtNDYsNiArNDcsNyBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgYm9vbCBtYXNxdWVyYWRlc0FzVW5kZWZpbmVkKCkgY29uc3QgeyByZXR1cm4g
bV9mbGFncyAmIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQ7IH0KICAgICAgICAgYm9vbCBpbXBsZW1l
bnRzSGFzSW5zdGFuY2UoKSBjb25zdCB7IHJldHVybiBtX2ZsYWdzICYgSW1wbGVtZW50c0hhc0lu
c3RhbmNlOyB9CiAgICAgICAgIGJvb2wgb3ZlcnJpZGVzSGFzSW5zdGFuY2UoKSBjb25zdCB7IHJl
dHVybiBtX2ZsYWdzICYgT3ZlcnJpZGVzSGFzSW5zdGFuY2U7IH0KKyAgICAgICAgYm9vbCBuZWVk
c1RoaXNDb252ZXJzaW9uKCkgY29uc3QgeyByZXR1cm4gbV9mbGFncyAmIE5lZWRzVGhpc0NvbnZl
cnNpb247IH0KIAogICAgICAgICB1bnNpZ25lZCBmbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fZmxh
Z3M7IH0KICAgICBwcml2YXRlOgpJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmgJKHJldmlzaW9uIDM3Mjc1KQor
KysgSmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxOTIsNiAr
MjE5Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIGNvbnRhaW5zQ2xvc3VyZXMo
KSBjb25zdCB7IHJldHVybiBtX2ZlYXR1cmVzICYgQ2xvc3VyZUZlYXR1cmU7IH0KICAgICAgICAg
Ym9vbCB1c2VzQXJndW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlcyAmIEFyZ3VtZW50
c0ZlYXR1cmU7IH0KICAgICAgICAgdm9pZCBzZXRVc2VzQXJndW1lbnRzKCkgeyBtX2ZlYXR1cmVz
IHw9IEFyZ3VtZW50c0ZlYXR1cmU7IH0KKyAgICAgICAgYm9vbCB1c2VzVGhpcygpIGNvbnN0IHsg
cmV0dXJuIG1fZmVhdHVyZXMgJiBUaGlzRmVhdHVyZTsgfQogCiAgICAgICAgIFZhclN0YWNrJiB2
YXJTdGFjaygpIHsgcmV0dXJuIG1fdmFyU3RhY2s7IH0KICAgICAgICAgRnVuY3Rpb25TdGFjayYg
ZnVuY3Rpb25TdGFjaygpIHsgcmV0dXJuIG1fZnVuY3Rpb25TdGFjazsgfQpJbmRleDogV2ViQ29y
ZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDM3
Mjg0KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBA
QAorMjAwOC0xMC0wMyAgTWFjaWVqIFN0YWNob3dpYWsgIDxtanNAYXBwbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gInRoaXMiIG9iamVj
dCBpbiBtZXRob2RzIGNhbGxlZCBvbiBwcmltaXRpdmVzIHNob3VsZCBiZSB3cmFwcGVyIG9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjIK
KworICAgICAgICBVcGRhdGVkIHNvIHRvVGhpcyBjb252ZXJzaW9uIGZvciB0aGUgc3BsaXQgd2lu
ZG93IGlzIGhhbmRsZWQgcHJvcGVybHkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbToKKwogMjAwOC0xMC0wMyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkICJUaGUgTW90aXZhdG9yIiBIeWF0dC4K
SW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkocmV2
aXNpb24gMzcyNzApCisrKyBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtCSh3b3JraW5nIGNvcHkpCkBAIC00NTksNiArNDU5LDEzIEBAIHN1YiBHZW5lcmF0ZUhlYWRl
cgogICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgdmlydHVhbCBjb25zdCBKU0M6OkNsYXNz
SW5mbyogY2xhc3NJbmZvKCkgY29uc3QgeyByZXR1cm4gJnNfaW5mbzsgfVxuIik7CiAgICAgcHVz
aChAaGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMgY29uc3QgSlNDOjpDbGFzc0luZm8gc19pbmZv
O1xuXG4iKTsKIAorICAgICMgU3RydWN0dXJlIElECisgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVx
ICJET01XaW5kb3ciKSB7CisJcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxKU0M6OlN0cnVjdHVyZUlEPiBjcmVhdGVTdHJ1Y3R1cmVJRChKU0M6OkpTVmFsdWUqIHBy
b3RvKVxuIiAuCisJICAgICAiICAgIHtcbiIgLgorCSAgICAgIiAgICAgICAgcmV0dXJuIEpTQzo6
U3RydWN0dXJlSUQ6OmNyZWF0ZShwcm90bywgSlNDOjpUeXBlSW5mbyhKU0M6Ok9iamVjdFR5cGUs
IEpTQzo6SW1wbGVtZW50c0hhc0luc3RhbmNlIHwgSlNDOjpOZWVkc1RoaXNDb252ZXJzaW9uKSk7
XG4iIC4KKwkgICAgICIgICAgfVxuXG4iKTsKKyAgICB9CiAgICAgIyBDdXN0b20gbWFyayBmdW5j
dGlvbgogICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgdmlydHVhbCB2b2lkIG1hcmsoKTtc
blxuIikgaWYgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tTWFya0Z1bmN0
aW9uIn07CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDM3Mjg0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDgtMTAtMDMgIE1hY2llaiBT
dGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIC0gdGVzdCBjYXNlIGZvcjogInRoaXMiIG9iamVj
dCBpbiBtZXRob2RzIGNhbGxlZCBvbiBwcmltaXRpdmVzIHNob3VsZCBiZSB3cmFwcGVyIG9iamVj
dAorCisgICAgICAgICogZmFzdC9qcy9wcmltaXRpdmUtbWV0aG9kLXRoaXMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3ByaW1pdGl2ZS1tZXRob2QtdGhpcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3Jlc291cmNlcy9wcmltaXRpdmUtbWV0aG9kLXRoaXMu
anM6IEFkZGVkLgorCiAyMDA4LTEwLTAzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2pzL3ByaW1pdGl2ZS1tZXRob2QtdGhpcy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9wcmltaXRpdmUtbWV0aG9kLXRoaXMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9wcmltaXRpdmUtbWV0aG9k
LXRoaXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgbWV0aG9kcyBjYWxsZWQgZGlyZWN0bHkgb24gcHJpbWl0aXZlIHR5cGVz
IGdldCB0aGUgd3JhcHBlciwgbm90IHRoZSBwcmltaXRpdmUsIGFzIHRoZSAndGhpcycgb2JqZWN0
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyAoMSkudGhpc1R5cGUoKSBp
cyAnb2JqZWN0JworUEFTUyAoMi4zKS50aGlzVHlwZSgpIGlzICdvYmplY3QnCitQQVNTICd4eHgn
LnRoaXNUeXBlKCkgaXMgJ29iamVjdCcKK1BBU1MgKGZhbHNlKS50aGlzVHlwZSgpIGlzICdvYmpl
Y3QnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9wcmltaXRpdmUtbWV0aG9kLXRoaXMuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL3ByaW1pdGl2ZS1tZXRob2QtdGhpcy5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9wcmltaXRpdmUtbWV0aG9kLXRo
aXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9wcmltaXRpdmUtbWV0aG9kLXRoaXMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvcHJpbWl0aXZl
LW1ldGhvZC10aGlzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3Vy
Y2VzL3ByaW1pdGl2ZS1tZXRob2QtdGhpcy5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvanMvcmVzb3VyY2VzL3ByaW1pdGl2ZS1tZXRob2QtdGhpcy5qcwkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwxNyBAQAorZGVzY3JpcHRpb24oCisKKyJUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
bWV0aG9kcyBjYWxsZWQgZGlyZWN0bHkgb24gcHJpbWl0aXZlIHR5cGVzIGdldCB0aGUgd3JhcHBl
ciwgbm90IHRoZSBwcmltaXRpdmUsIGFzIHRoZSAndGhpcycgb2JqZWN0LiIKKworKTsKKworCitT
dHJpbmcucHJvdG90eXBlLnRoaXNUeXBlID0gZnVuY3Rpb24oKSB7IHJldHVybiB0eXBlb2YgdGhp
czsgfTsKK051bWJlci5wcm90b3R5cGUudGhpc1R5cGUgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHR5
cGVvZiB0aGlzOyB9OworQm9vbGVhbi5wcm90b3R5cGUudGhpc1R5cGUgPSBmdW5jdGlvbigpIHsg
cmV0dXJuIHR5cGVvZiB0aGlzOyB9OworCitzaG91bGRCZSgiKDEpLnRoaXNUeXBlKCkiLCAiJ29i
amVjdCciKTsKK3Nob3VsZEJlKCIoMi4zKS50aGlzVHlwZSgpIiwgIidvYmplY3QnIik7CitzaG91
bGRCZSgiJ3h4eCcudGhpc1R5cGUoKSIsICInb2JqZWN0JyIpOworc2hvdWxkQmUoIihmYWxzZSku
dGhpc1R5cGUoKSIsICInb2JqZWN0JyIpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>
<flag name="review"
          id="10919"
          type_id="1"
          status="+"
          setter="zwarich"
    />
          </attachment>
      

    </bug>

</bugzilla>