<?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>41299</bug_id>
          
          <creation_ts>2010-06-28 13:17:37 -0700</creation_ts>
          <short_desc>Build up WebKitTestRunner output in the InjectedBundle</short_desc>
          <delta_ts>2010-06-28 14:23:59 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>243852</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-06-28 13:17:37 -0700</bug_when>
    <thetext>We should build up WebKitTestRunner output in the InjectedBundle to simplify code and allow for easier implementation of the other types of dumping.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243854</commentid>
    <comment_count>1</comment_count>
      <attachid>59929</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-06-28 13:19:17 -0700</bug_when>
    <thetext>Created attachment 59929
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243855</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-28 13:20:42 -0700</bug_when>
    <thetext>Attachment 59929 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebKitTools/WebKitTestRunner/TestInvocation.h:51:  _didRecieveMessageFromInjectedBundle is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundle.h:35:  Alphabetical sorting problem.  [build/include_order] [4]
WebKitTools/WebKitTestRunner/TestInvocation.cpp:123:  TestInvocation::_didRecieveMessageFromInjectedBundle is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 3 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243858</commentid>
    <comment_count>3</comment_count>
      <attachid>59929</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-06-28 13:21:09 -0700</bug_when>
    <thetext>Comment on attachment 59929
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243861</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-06-28 13:26:35 -0700</bug_when>
    <thetext>Landed in r62032.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>243898</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-28 14:23:59 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/62032 might have broken GTK Linux 32-bit Debug
The following changes are on the blame list:
http://trac.webkit.org/changeset/62032
http://trac.webkit.org/changeset/62033
http://trac.webkit.org/changeset/62034
http://trac.webkit.org/changeset/62031</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59929</attachid>
            <date>2010-06-28 13:19:17 -0700</date>
            <delta_ts>2010-06-28 13:21:09 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>14620</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDYyMDMwKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTAtMDYtMjggIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBQYXRjaCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQx
Mjk5CisgICAgICAgIEJ1aWxkIHVwIFdlYktpdFRlc3RSdW5uZXIgb3V0cHV0IGluIHRoZSBJbmpl
Y3RlZEJ1bmRsZQorCisgICAgICAgIFNpbXBsaWZ5IFdlYktpdFRlc3RSdW5uZXIgYnkgYnVpbGRp
bmcgdXAgdGhlIG91dHB1dCBpbiB0aGUgSW5qZWN0ZWRCdW5kbGUKKyAgICAgICAgYW5kIHNlbmRp
bmcgaXQgb3ZlciBwb3N0TWVzc2FnZSB3aGVuIGRvbmUsIGluc3RlYWQgb2YgdXNpbmcgdGhlIGFz
eW5jCisgICAgICAgIFdLUGFnZVJlbmRlclRyZWVFeHRlcm5hbFJlcHJlc2VudGF0aW9uLgorCisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5j
cHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpkb25lKToKKyAgICAgICAgKFdUUjo6
SW5qZWN0ZWRCdW5kbGU6OmRpZFJlY2lldmVNZXNzYWdlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmg6CisgICAgICAgIChXVFI6Oklu
amVjdGVkQnVuZGxlOjpvcyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwOgorICAgICAgICAoV1RSOjpXS1N0cmluZ1RvVVRG
OCk6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlUGFnZTo6ZGlkRmluaXNoTG9hZEZvckZy
YW1lKToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjpkaWRGYWlsTG9hZFdpdGhF
cnJvckZvckZyYW1lKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9u
LmNwcDoKKyAgICAgICAgKFdUUjo6V0tTdHJpbmdUb1VURjgpOgorICAgICAgICAoV1RSOjpUZXN0
SW52b2NhdGlvbjo6VGVzdEludm9jYXRpb24pOgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlv
bjo6aW52b2tlKToKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmluaXRpYWxpemVNYWlu
V2ViVmlldyk6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpfZGlkUmVjaWV2ZU1lc3Nh
Z2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6ZGlk
UmVjaWV2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvVGVzdEludm9jYXRpb24uaDoKKwogMjAxMC0wNi0yOCAgUm9iZXJ0IEhvZ2FuICA8cm9i
ZXJ0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjYyMDIx
LgpJbmRleDogV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlv
bi5jcHAJKHJldmlzaW9uIDYxOTA4KQorKysgV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0SW52b2NhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDEwICsyOCwxMCBAQAogI2lu
Y2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgogI2luY2x1ZGUgIlRlc3RDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSA8V2ViS2l0Mi9XS0NvbnRleHRQcml2YXRlLmg+Ci0jaW5jbHVkZSA8V2ViS2l0Mi9X
S1BhZ2VQcml2YXRlLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1JldGFpblB0ci5oPgogI2luY2x1
ZGUgPFdlYktpdDIvV0tTdHJpbmdDRi5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tVUkxDRi5oPgor
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CkBAIC00OSwxMiArNDksMjQgQEAgc3RhdGljIFdLVVJMUmVm
IGNyZWF0ZVdLVVJMKGNvbnN0IGNoYXIqIAogICAgIHJldHVybiBXS1VSTENyZWF0ZVdpdGhDRlVS
TChjZlVSTC5nZXQoKSk7CiB9CiAKK3N0YXRpYyBzdGQ6OmF1dG9fcHRyPFZlY3RvcjxjaGFyPiA+
IFdLU3RyaW5nVG9VVEY4KFdLU3RyaW5nUmVmIHdrU3RyaW5nUmVmKQoreworICAgIFJldGFpblB0
cjxDRlN0cmluZ1JlZj4gY2ZTdHJpbmcoQWRvcHRDRiwgV0tTdHJpbmdDb3B5Q0ZTdHJpbmcoMCwg
d2tTdHJpbmdSZWYpKTsKKyAgICBDRkluZGV4IGJ1ZmZlckxlbmd0aCA9IENGU3RyaW5nR2V0TWF4
aW11bVNpemVGb3JFbmNvZGluZyhDRlN0cmluZ0dldExlbmd0aChjZlN0cmluZy5nZXQoKSksIGtD
RlN0cmluZ0VuY29kaW5nVVRGOCkgKyAxOworICAgIHN0ZDo6YXV0b19wdHI8VmVjdG9yPGNoYXI+
ID4gYnVmZmVyKG5ldyBWZWN0b3I8Y2hhcj4oYnVmZmVyTGVuZ3RoKSk7CisgICAgaWYgKCFDRlN0
cmluZ0dldENTdHJpbmcoY2ZTdHJpbmcuZ2V0KCksIGJ1ZmZlci0+ZGF0YSgpLCBidWZmZXJMZW5n
dGgsIGtDRlN0cmluZ0VuY29kaW5nVVRGOCkpIHsKKyAgICAgICAgYnVmZmVyLT5zaHJpbmsoMSk7
CisgICAgICAgICgqYnVmZmVyKVswXSA9IDA7CisgICAgfSBlbHNlCisgICAgICAgIGJ1ZmZlci0+
c2hyaW5rKHN0cmxlbihidWZmZXItPmRhdGEoKSkgKyAxKTsKKyAgICByZXR1cm4gYnVmZmVyOwor
fQorCiBUZXN0SW52b2NhdGlvbjo6VGVzdEludm9jYXRpb24oY29uc3QgY2hhciogcGF0aE9yVVJM
KQogICAgIDogbV91cmwoQWRvcHRXSywgY3JlYXRlV0tVUkwocGF0aE9yVVJMKSkKICAgICAsIG1f
bWFpbldlYlZpZXcoMCkKLSAgICAsIG1fbG9hZERvbmUoZmFsc2UpCi0gICAgLCBtX3JlbmRlclRy
ZWVGZXRjaERvbmUoZmFsc2UpCi0gICAgLCBtX2ZhaWxlZChmYWxzZSkKKyAgICAsIG1fZ290SW5p
dGlhbFJlc3BvbnNlKGZhbHNlKQorICAgICwgbV9nb3RGaW5hbE1lc3NhZ2UoZmFsc2UpCiB7CiB9
CiAKQEAgLTY4LDE0ICs4MCwxNCBAQCB2b2lkIFRlc3RJbnZvY2F0aW9uOjppbnZva2UoKQogewog
ICAgIGluaXRpYWxpemVNYWluV2ViVmlldygpOwogCi0gICAgV0tQYWdlTG9hZFVSTChtX21haW5X
ZWJWaWV3LT5wYWdlKCksIG1fdXJsLmdldCgpKTsKLSAgICBydW5VbnRpbChtX2xvYWREb25lKTsK
KyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZShBZG9wdFdLLCBXS1N0cmluZ0Ny
ZWF0ZVdpdGhDRlN0cmluZyhDRlNUUigiSW5pdGlhbFBhZ2VDcmVhdGVkIikpKTsKKyAgICBXS0Nv
bnRleHRQb3N0TWVzc2FnZVRvSW5qZWN0ZWRCdW5kbGUobV9jb250ZXh0LmdldCgpLCBtZXNzYWdl
LmdldCgpKTsKIAotICAgIGlmIChtX2ZhaWxlZCkKLSAgICAgICAgcmV0dXJuOworICAgIHJ1blVu
dGlsKG1fZ290SW5pdGlhbFJlc3BvbnNlKTsKKyAKKyAgICBXS1BhZ2VMb2FkVVJMKG1fbWFpbldl
YlZpZXctPnBhZ2UoKSwgbV91cmwuZ2V0KCkpOwogCi0gICAgV0tQYWdlUmVuZGVyVHJlZUV4dGVy
bmFsUmVwcmVzZW50YXRpb24obV9tYWluV2ViVmlldy0+cGFnZSgpLCB0aGlzLCByZW5kZXJUcmVl
RXh0ZXJuYWxSZXByZXNlbnRhdGlvbkZ1bmN0aW9uLCByZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNl
bnRhdGlvbkRpc3Bvc2VGdW5jdGlvbik7Ci0gICAgcnVuVW50aWwobV9yZW5kZXJUcmVlRmV0Y2hE
b25lKTsKKyAgICBydW5VbnRpbChtX2dvdEZpbmFsTWVzc2FnZSk7CiB9CiAKIHZvaWQgVGVzdElu
dm9jYXRpb246OmR1bXAoY29uc3QgY2hhciogc3RyaW5nVG9EdW1wKQpAQCAtOTMsODUgKzEwNSwz
OCBAQCB2b2lkIFRlc3RJbnZvY2F0aW9uOjpkdW1wKGNvbnN0IGNoYXIqIHN0CiAKIHZvaWQgVGVz
dEludm9jYXRpb246OmluaXRpYWxpemVNYWluV2ViVmlldygpCiB7Ci0gICAgV0tSZXRhaW5QdHI8
V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZVdpdGhJbmplY3Rl
ZEJ1bmRsZVBhdGgoVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLmluamVjdGVkQnVuZGxlUGF0aCgp
KSk7Ci0gICAgV0tSZXRhaW5QdHI8V0tQYWdlTmFtZXNwYWNlUmVmPiBwYWdlTmFtZXNwYWNlKEFk
b3B0V0ssIFdLUGFnZU5hbWVzcGFjZUNyZWF0ZShjb250ZXh0LmdldCgpKSk7Ci0gICAgbV9tYWlu
V2ViVmlldyA9IG5ldyBQbGF0Zm9ybVdlYlZpZXcocGFnZU5hbWVzcGFjZS5nZXQoKSk7CisgICAg
bV9jb250ZXh0LmFkb3B0KFdLQ29udGV4dENyZWF0ZVdpdGhJbmplY3RlZEJ1bmRsZVBhdGgoVGVz
dENvbnRyb2xsZXI6OnNoYXJlZCgpLmluamVjdGVkQnVuZGxlUGF0aCgpKSk7CiAKLSAgICBXS1Bh
Z2VMb2FkZXJDbGllbnQgbG9hZGVyQ2xpZW50ID0geyAKKyAgICBXS0NvbnRleHRJbmplY3RlZEJ1
bmRsZUNsaWVudCBpbmplY3RlZEJ1bmRsZVBhdGhDbGllbnQgPSB7CiAgICAgICAgIDAsCiAgICAg
ICAgIHRoaXMsCi0gICAgICAgIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUsCi0gICAg
ICAgIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lLAot
ICAgICAgICBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWUsCi0gICAgICAg
IGRpZENvbW1pdExvYWRGb3JGcmFtZSwKLSAgICAgICAgZGlkRmluaXNoTG9hZEZvckZyYW1lLAot
ICAgICAgICBkaWRGYWlsTG9hZEZvckZyYW1lLAotICAgICAgICAwLAotICAgICAgICAwLAotICAg
ICAgICAwLAotICAgICAgICAwLAotICAgICAgICAwLAotICAgICAgICAwLAotICAgICAgICAwLAot
ICAgICAgICAwCisgICAgICAgIF9kaWRSZWNpZXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZQog
ICAgIH07Ci0gICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChtX21haW5XZWJWaWV3LT5wYWdl
KCksICZsb2FkZXJDbGllbnQpOwotfQorICAgIFdLQ29udGV4dFNldEluamVjdGVkQnVuZGxlQ2xp
ZW50KG1fY29udGV4dC5nZXQoKSwgJmluamVjdGVkQnVuZGxlUGF0aENsaWVudCk7CiAKLXZvaWQg
VGVzdEludm9jYXRpb246OmRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tQYWdlUmVm
IHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi17CisgICAg
bV9wYWdlTmFtZXNwYWNlLmFkb3B0KFdLUGFnZU5hbWVzcGFjZUNyZWF0ZShtX2NvbnRleHQuZ2V0
KCkpKTsKKyAgICBtX21haW5XZWJWaWV3ID0gbmV3IFBsYXRmb3JtV2ViVmlldyhtX3BhZ2VOYW1l
c3BhY2UuZ2V0KCkpOwogfQogCi12b2lkIFRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU2VydmVy
UmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFt
ZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLX0KKy8vIFdLQ29udGV4dElu
amVjdGVkQnVuZGxlQ2xpZW50IGZ1bmN0aW9ucwogCi12b2lkIFRlc3RJbnZvY2F0aW9uOjpkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJh
bWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit2b2lkIFRlc3RJbnZvY2F0aW9u
OjpfZGlkUmVjaWV2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUoV0tDb250ZXh0UmVmIGNvbnRl
eHQsIFdLU3RyaW5nUmVmIG1lc3NhZ2UsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pCiB7Ci0gICAg
VGVzdEludm9jYXRpb24qIHNlbGYgPSByZWludGVycHJldF9jYXN0PFRlc3RJbnZvY2F0aW9uKj4o
Y29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwotICAgIHNlbGYtPm1fbG9hZERvbmUgPSB0
cnVlOwotICAgIHNlbGYtPm1fZmFpbGVkID0gdHJ1ZTsKKyAgICBzdGF0aWNfY2FzdDxUZXN0SW52
b2NhdGlvbio+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKS0+ZGlkUmVjaWV2ZU1lc3Nh
Z2VGcm9tSW5qZWN0ZWRCdW5kbGUobWVzc2FnZSk7CiB9CiAKLXZvaWQgVGVzdEludm9jYXRpb246
OmRpZENvbW1pdExvYWRGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3ZvaWQgVGVzdEludm9jYXRpb246OmRpZFJlY2lldmVN
ZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLU3RyaW5nUmVmIG1lc3NhZ2UpCiB7Ci19Ci0KLXZv
aWQgVGVzdEludm9jYXRpb246OmRpZEZpbmlzaExvYWRGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwg
V0tGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBUZXN0SW52
b2NhdGlvbiogc2VsZiA9IHJlaW50ZXJwcmV0X2Nhc3Q8VGVzdEludm9jYXRpb24qPihjb25zdF9j
YXN0PHZvaWQqPihjbGllbnRJbmZvKSk7Ci0gICAgc2VsZi0+bV9sb2FkRG9uZSA9IHRydWU7Ci19
Ci0KLXZvaWQgVGVzdEludm9jYXRpb246OmRpZEZhaWxMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBh
Z2UsIFdLRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0gICAgVGVz
dEludm9jYXRpb24qIHNlbGYgPSByZWludGVycHJldF9jYXN0PFRlc3RJbnZvY2F0aW9uKj4oY29u
c3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwotCi0gICAgc2VsZi0+bV9sb2FkRG9uZSA9IHRy
dWU7Ci0gICAgc2VsZi0+bV9mYWlsZWQgPSB0cnVlOwotfQotCi12b2lkIFRlc3RJbnZvY2F0aW9u
OjpyZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNlbnRhdGlvbkZ1bmN0aW9uKFdLU3RyaW5nUmVmIHdr
UmVzdWx0LCB2b2lkKiBjb250ZXh0KQotewotICAgIFRlc3RJbnZvY2F0aW9uKiBzZWxmID0gcmVp
bnRlcnByZXRfY2FzdDxUZXN0SW52b2NhdGlvbio+KGNvbnRleHQpOwotCi0gICAgUmV0YWluUHRy
PENGU3RyaW5nUmVmPiByZXN1bHQoQWRvcHRDRiwgV0tTdHJpbmdDb3B5Q0ZTdHJpbmcoMCwgd2tS
ZXN1bHQpKTsKLSAgICBDRkluZGV4IGJ1ZmZlckxlbmd0aCA9IENGU3RyaW5nR2V0TWF4aW11bVNp
emVGb3JFbmNvZGluZyhDRlN0cmluZ0dldExlbmd0aChyZXN1bHQuZ2V0KCkpLCBrQ0ZTdHJpbmdF
bmNvZGluZ1VURjgpICsgMTsKLSAgICBjaGFyKiBidWZmZXIgPSAoY2hhciopbWFsbG9jKGJ1ZmZl
ckxlbmd0aCk7Ci0gICAgQ0ZTdHJpbmdHZXRDU3RyaW5nKHJlc3VsdC5nZXQoKSwgYnVmZmVyLCBi
dWZmZXJMZW5ndGgsIGtDRlN0cmluZ0VuY29kaW5nVVRGOCk7Ci0KLSAgICBzZWxmLT5kdW1wKGJ1
ZmZlcik7Ci0gICAgZnJlZShidWZmZXIpOwotCi0gICAgc2VsZi0+bV9yZW5kZXJUcmVlRmV0Y2hE
b25lID0gdHJ1ZTsKLX0KKyAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGNmTWVzc2FnZShBZG9w
dENGLCBXS1N0cmluZ0NvcHlDRlN0cmluZygwLCBtZXNzYWdlKSk7CisgICAgaWYgKENGRXF1YWwo
Y2ZNZXNzYWdlLmdldCgpLCBDRlNUUigiSW5pdGlhbFBhZ2VDcmVhdGVkQWNrIikpKSB7CisgICAg
ICAgIG1fZ290SW5pdGlhbFJlc3BvbnNlID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
IAotdm9pZCBUZXN0SW52b2NhdGlvbjo6cmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb25E
aXNwb3NlRnVuY3Rpb24odm9pZCogY29udGV4dCkKLXsKLSAgICBUZXN0SW52b2NhdGlvbiogc2Vs
ZiA9IHJlaW50ZXJwcmV0X2Nhc3Q8VGVzdEludm9jYXRpb24qPihjb250ZXh0KTsKKyAgICBzdGQ6
OmF1dG9fcHRyPFZlY3RvcjxjaGFyPiA+IHV0ZjhNZXNzYWdlID0gV0tTdHJpbmdUb1VURjgobWVz
c2FnZSk7CiAKLSAgICBzZWxmLT5tX3JlbmRlclRyZWVGZXRjaERvbmUgPSB0cnVlOwotICAgIHNl
bGYtPm1fZmFpbGVkID0gdHJ1ZTsKKyAgICBkdW1wKHV0ZjhNZXNzYWdlLT5kYXRhKCkpOworICAg
IG1fZ290RmluYWxNZXNzYWdlID0gdHJ1ZTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV1RSCkluZGV4
OiBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCShyZXZp
c2lvbiA2MTkwOCkKKysrIFdlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRp
b24uaAkod29ya2luZyBjb3B5KQpAQCAtNDcsMjcgKzQ3LDIwIEBAIHByaXZhdGU6CiAgICAgLy8g
SGVscGVyCiAgICAgc3RhdGljIHZvaWQgcnVuVW50aWwoYm9vbCYgZG9uZSk7CiAKLSAgICAvLyBQ
YWdlTG9hZGVyQ2xpZW50Ci0gICAgc3RhdGljIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRG
b3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiwgY29uc3Qgdm9pZCopOwotICAgIHN0
YXRpYyB2b2lkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZy
YW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgY29uc3Qgdm9pZCopOwotICAgIHN0YXRpYyB2b2lk
IGRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JGcmFtZShXS1BhZ2VSZWYsIFdLRnJh
bWVSZWYsIGNvbnN0IHZvaWQqKTsKLSAgICBzdGF0aWMgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJh
bWUoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBjb25zdCB2b2lkKik7Ci0gICAgc3RhdGljIHZvaWQg
ZGlkRmluaXNoTG9hZEZvckZyYW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgY29uc3Qgdm9pZCop
OwotICAgIHN0YXRpYyB2b2lkIGRpZEZhaWxMb2FkRm9yRnJhbWUoV0tQYWdlUmVmLCBXS0ZyYW1l
UmVmLCBjb25zdCB2b2lkKik7Ci0KLSAgICAvLyBSZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNlbnRh
dGlvbiBjYWxsYmFja3MKLSAgICBzdGF0aWMgdm9pZCByZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNl
bnRhdGlvbkZ1bmN0aW9uKFdLU3RyaW5nUmVmLCB2b2lkKik7Ci0gICAgc3RhdGljIHZvaWQgcmVu
ZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb25EaXNwb3NlRnVuY3Rpb24odm9pZCopOworICAg
IC8vIFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50CisgICAgc3RhdGljIHZvaWQgX2RpZFJl
Y2lldmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS1N0
cmluZ1JlZiBtZXNzYWdlLCBjb25zdCB2b2lkKik7CisgICAgdm9pZCBkaWRSZWNpZXZlTWVzc2Fn
ZUZyb21JbmplY3RlZEJ1bmRsZShXS1N0cmluZ1JlZiBtZXNzYWdlKTsKIAogICAgIFdLU3RyaW5n
UmVmIGluamVjdGVkQnVuZGxlUGF0aCgpOwogCiAgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+IG1f
dXJsOworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gbV9jb250ZXh0OworICAgIFdLUmV0
YWluUHRyPFdLUGFnZU5hbWVzcGFjZVJlZj4gbV9wYWdlTmFtZXNwYWNlOwogICAgIFBsYXRmb3Jt
V2ViVmlldyogbV9tYWluV2ViVmlldzsKIAogICAgIC8vIEludm9jYXRpb24gc3RhdGUKLSAgICBi
b29sIG1fbG9hZERvbmU7Ci0gICAgYm9vbCBtX3JlbmRlclRyZWVGZXRjaERvbmU7Ci0gICAgYm9v
bCBtX2ZhaWxlZDsKKyAgICBib29sIG1fZ290SW5pdGlhbFJlc3BvbnNlOworICAgIGJvb2wgbV9n
b3RGaW5hbE1lc3NhZ2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVFIKSW5kZXg6IFdlYktpdFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuY3BwCShyZXZpc2lvbiA2MTkwOCkKKysrIFdlYktpdFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw2ICsyOCwxMCBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlUGFnZS5oIgog
I2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGUuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxl
UGFnZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tSZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDxXZWJL
aXQyL1dLU3RyaW5nQ0YuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dlYktpdDIuaD4KKyNpbmNsdWRl
IDx3dGYvUmV0YWluUHRyLmg+CiAKIG5hbWVzcGFjZSBXVFIgewogCkBAIC03Miw2ICs3NiwxNCBA
QCB2b2lkIEluamVjdGVkQnVuZGxlOjppbml0aWFsaXplKFdLQnVuZGxlCiAgICAgV0tCdW5kbGVT
ZXRDbGllbnQobV9idW5kbGUsICZjbGllbnQpOwogfQogCit2b2lkIEluamVjdGVkQnVuZGxlOjpk
b25lKCkKK3sKKyAgICBzdGQ6OnN0cmluZyBvdXRwdXQgPSBtX291dHB1dFN0cmVhbS5zdHIoKTsK
KyAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IG91dHB1dENGU3RyaW5nKEFkb3B0Q0YsIENGU3Ry
aW5nQ3JlYXRlV2l0aENTdHJpbmcoMCwgb3V0cHV0LmNfc3RyKCksIGtDRlN0cmluZ0VuY29kaW5n
VVRGOCkpOworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBkb25lTWVzc2FnZShBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhDRlN0cmluZyhvdXRwdXRDRlN0cmluZy5nZXQoKSkpOworICAg
IFdLQnVuZGxlUG9zdE1lc3NhZ2UobV9idW5kbGUsIGRvbmVNZXNzYWdlLmdldCgpKTsKK30KKwog
dm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkQ3JlYXRlUGFnZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSkK
IHsKICAgICBtX3BhZ2VzLmFkZChwYWdlLCBuZXcgSW5qZWN0ZWRCdW5kbGVQYWdlKHBhZ2UpKTsK
QEAgLTg0LDYgKzk2LDE3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OndpbGxEZXN0cm95UGFnZShX
S0IKIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkUmVjaWV2ZU1lc3NhZ2UoV0tTdHJpbmdSZWYg
bWVzc2FnZSkKIHsKKyAgICBDRlN0cmluZ1JlZiBjZk1lc3NhZ2UgPSBXS1N0cmluZ0NvcHlDRlN0
cmluZygwLCBtZXNzYWdlKTsKKyAgICBpZiAoQ0ZFcXVhbChjZk1lc3NhZ2UsIENGU1RSKCJJbml0
aWFsUGFnZUNyZWF0ZWQiKSkpIHsKKyAgICAgICAgaWYgKG1fcGFnZXMuc2l6ZSgpID09IDEpIHsK
KyAgICAgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBhY2tNZXNzYWdlKEFkb3B0V0ss
IFdLU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKENGU1RSKCJJbml0aWFsUGFnZUNyZWF0ZWRBY2si
KSkpOworICAgICAgICAgICAgV0tCdW5kbGVQb3N0TWVzc2FnZShtX2J1bmRsZSwgYWNrTWVzc2Fn
ZS5nZXQoKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisKKyAgICBX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4gZXJyb3JNZXNzYWdlKEFkb3B0V0ssIFdLU3RyaW5nQ3Jl
YXRlV2l0aENGU3RyaW5nKENGU1RSKCJFcnJvciIpKSk7CisgICAgV0tCdW5kbGVQb3N0TWVzc2Fn
ZShtX2J1bmRsZSwgZXJyb3JNZXNzYWdlLmdldCgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV1RS
CkluZGV4OiBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCShyZXZpc2lvbiA2MTkwOCkKKysrIFdlYktp
dFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCisjaW5jbHVkZSA8c3N0cmVhbT4KKwogbmFtZXNw
YWNlIFdUUiB7CiAKIGNsYXNzIEluamVjdGVkQnVuZGxlUGFnZTsKQEAgLTQzLDggKzQ1LDEyIEBA
IHB1YmxpYzoKICAgICAvLyBJbml0aWFsaXplIHRoZSBJbmplY3RlZEJ1bmRsZS4KICAgICB2b2lk
IGluaXRpYWxpemUoV0tCdW5kbGVSZWYpOwogCisgICAgdm9pZCBkb25lKCk7CisKICAgICBMYXlv
dXRUZXN0Q29udHJvbGxlciogbGF5b3V0VGVzdENvbnRyb2xsZXIoKSB7IHJldHVybiBtX2xheW91
dFRlc3RDb250cm9sbGVyLmdldCgpOyB9CiAKKyAgICBzdGQ6Om9zdHJpbmdzdHJlYW0mIG9zKCkg
eyByZXR1cm4gbV9vdXRwdXRTdHJlYW07IH0KKwogcHJpdmF0ZToKICAgICBJbmplY3RlZEJ1bmRs
ZSgpOwogICAgIH5JbmplY3RlZEJ1bmRsZSgpOwpAQCAtNjEsNiArNjcsOCBAQCBwcml2YXRlOgog
ICAgIEhhc2hNYXA8V0tCdW5kbGVQYWdlUmVmLCBJbmplY3RlZEJ1bmRsZVBhZ2UqPiBtX3BhZ2Vz
OwogCiAgICAgUmVmUHRyPExheW91dFRlc3RDb250cm9sbGVyPiBtX2xheW91dFRlc3RDb250cm9s
bGVyOworCisgICAgc3RkOjpvc3RyaW5nc3RyZWFtIG1fb3V0cHV0U3RyZWFtOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV1RSCkluZGV4OiBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3Bw
CShyZXZpc2lvbiA2MTkwOCkKKysrIFdlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiAr
MjYsMTMgQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2UuaCIKIAogI2luY2x1ZGUgIklu
amVjdGVkQnVuZGxlLmgiCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZUZyYW1lLmg+CisjaW5j
bHVkZSA8V2ViS2l0Mi9XS0J1bmRsZVBhZ2VQcml2YXRlLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9X
S1JldGFpblB0ci5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tTdHJpbmcuaD4KKyNpbmNsdWRlIDxX
ZWJLaXQyL1dLU3RyaW5nQ0YuaD4KKyNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV1RSIHsKIApAQCAtMTA3LDEyICsxMTQsMzcg
QEAgdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2U6OmRpZENvbW1pdExvYWRGbwogewogfQogCitzdGF0
aWMgc3RkOjphdXRvX3B0cjxWZWN0b3I8Y2hhcj4gPiBXS1N0cmluZ1RvVVRGOChXS1N0cmluZ1Jl
ZiB3a1N0cmluZ1JlZikKK3sKKyAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGNmU3RyaW5nKEFk
b3B0Q0YsIFdLU3RyaW5nQ29weUNGU3RyaW5nKDAsIHdrU3RyaW5nUmVmKSk7CisgICAgQ0ZJbmRl
eCBidWZmZXJMZW5ndGggPSBDRlN0cmluZ0dldE1heGltdW1TaXplRm9yRW5jb2RpbmcoQ0ZTdHJp
bmdHZXRMZW5ndGgoY2ZTdHJpbmcuZ2V0KCkpLCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgpICsgMTsK
KyAgICBzdGQ6OmF1dG9fcHRyPFZlY3RvcjxjaGFyPiA+IGJ1ZmZlcihuZXcgVmVjdG9yPGNoYXI+
KGJ1ZmZlckxlbmd0aCkpOworICAgIGlmICghQ0ZTdHJpbmdHZXRDU3RyaW5nKGNmU3RyaW5nLmdl
dCgpLCBidWZmZXItPmRhdGEoKSwgYnVmZmVyTGVuZ3RoLCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgp
KSB7CisgICAgICAgIGJ1ZmZlci0+c2hyaW5rKDEpOworICAgICAgICAoKmJ1ZmZlcilbMF0gPSAw
OworICAgIH0gZWxzZQorICAgICAgICBidWZmZXItPnNocmluayhzdHJsZW4oYnVmZmVyLT5kYXRh
KCkpICsgMSk7CisgICAgcmV0dXJuIGJ1ZmZlcjsKK30KKwogdm9pZCBJbmplY3RlZEJ1bmRsZVBh
Z2U6OmRpZEZpbmlzaExvYWRGb3JGcmFtZShXS0J1bmRsZUZyYW1lUmVmIGZyYW1lKQogeworICAg
IGlmICghV0tCdW5kbGVGcmFtZUlzTWFpbkZyYW1lKGZyYW1lKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGV4dGVybmFsUmVwcmVzZW50YXRpb24oQWRv
cHRXSywgV0tCdW5kbGVQYWdlQ29weVJlbmRlclRyZWVFeHRlcm5hbFJlcHJlc2VudGF0aW9uKG1f
cGFnZSkpOworICAgIHN0ZDo6YXV0b19wdHI8VmVjdG9yPGNoYXI+ID4gdXRmOFN0cmluZyA9IFdL
U3RyaW5nVG9VVEY4KGV4dGVybmFsUmVwcmVzZW50YXRpb24uZ2V0KCkpOworCisgICAgSW5qZWN0
ZWRCdW5kbGU6OnNoYXJlZCgpLm9zKCkgPDwgdXRmOFN0cmluZy0+ZGF0YSgpOworICAgIEluamVj
dGVkQnVuZGxlOjpzaGFyZWQoKS5kb25lKCk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdl
OjpkaWRGYWlsTG9hZFdpdGhFcnJvckZvckZyYW1lKFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUpCiB7
CisgICAgaWYgKCFXS0J1bmRsZUZyYW1lSXNNYWluRnJhbWUoZnJhbWUpKQorICAgICAgICByZXR1
cm47CisKKyAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuZG9uZSgpOwogfQogCiB2b2lkIElu
amVjdGVkQnVuZGxlUGFnZTo6ZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUoV0tTdHJpbmdSZWYgdGl0
bGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUpCg==
</data>
<flag name="review"
          id="47102"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>