<?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>97227</bug_id>
          
          <creation_ts>2012-09-20 09:48:29 -0700</creation_ts>
          <short_desc>Leverage Chromium&apos;s code to set up FIFOs for Chromium Android layout tests</short_desc>
          <delta_ts>2022-02-27 23:55:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>97230</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Peter Beverloo">peter</reporter>
          <assigned_to name="Peter Beverloo">peter</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>724581</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-20 09:48:29 -0700</bug_when>
    <thetext>Leverage Chromium&apos;s code to set up FIFOs for Chromium Android layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724583</commentid>
    <comment_count>1</comment_count>
      <attachid>164934</attachid>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-20 09:55:47 -0700</bug_when>
    <thetext>Created attachment 164934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724595</commentid>
    <comment_count>2</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-20 10:12:38 -0700</bug_when>
    <thetext>I&apos;d like Tony to review this :-).

Sorry for the -once again- rapid change of course. bulach@ changed Chromium to use FIFOs, and after a follow-up patch we&apos;ll be able to use that implementation for WebKit as well. This allows quite some code to be removed.

The patch in bug 97230 is a preemptive fix for something I can see happening tonight, namely changing the location of the named pipes, but as I won&apos;t be around tonight and it&apos;ll be hard to find a reviewer for that in the GMT timezone, already asking review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724604</commentid>
    <comment_count>3</comment_count>
      <attachid>164934</attachid>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-20 10:17:16 -0700</bug_when>
    <thetext>Comment on attachment 164934
Patch

For further clarification: once the following Chromium CL rolls into WebKit, running layout tests on the Android bot will be broken. When this patch lands before a DEPS roll, it&apos;ll also be broken. If WebKit rolls past Chromium&apos;s r157541 and this patch is in, it&apos;ll start to work again :-).

http://src.chromium.org/viewvc/chrome?view=rev&amp;revision=157541

Since no one pays attention yet, I think it&apos;d be fine to break the bot for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724659</commentid>
    <comment_count>4</comment_count>
      <attachid>164934</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-09-20 11:02:23 -0700</bug_when>
    <thetext>Comment on attachment 164934
Patch

Oh, I saw the other bug first.  This seems better (less invasive) than the previous code.  Will support for TestWebKitAPI and webkit_unit_tests require additional changes in the WebKit tree?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724661</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-09-20 11:03:04 -0700</bug_when>
    <thetext>Feel free to land this with a WebKit DEPS roll or do a DEPS roll first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724839</commentid>
    <comment_count>6</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-20 14:04:50 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 164934 [details])
&gt; Oh, I saw the other bug first.  This seems better (less invasive) than the previous code.  Will support for TestWebKitAPI and webkit_unit_tests require additional changes in the WebKit tree?

Not anymore, it&apos;s all Python changes from now on. I have an almost working prototype and will start uploading patches tomorrow.

I&apos;ll roll DEPS in the morning, cheers :-).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725479</commentid>
    <comment_count>7</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-21 06:35:53 -0700</bug_when>
    <thetext>Committed r129221: &lt;http://trac.webkit.org/changeset/129221&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164934</attachid>
            <date>2012-09-20 09:55:47 -0700</date>
            <delta_ts>2022-02-27 23:55:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97227-20120920175511.patch</filename>
            <type>text/plain</type>
            <size>20109</size>
            <attacher name="Peter Beverloo">peter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDdkNzIzM2M3ZDU3ZjhjNjEzMzQ4YTkxY2VjNzE4MzU3N2U4YWJiMmMuLmU5ZmI0YmVhMDcwNjJl
ZWMzZjkwYjI3YjkyZmJhN2M3MzkxNTdiZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTItMDktMjAgIFBldGVyIEJldmVybG9vICA8cGV0ZXJAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIExldmVyYWdlIENocm9taXVtJ3MgY29kZSB0byBzZXQgdXAgRklG
T3MgZm9yIENocm9taXVtIEFuZHJvaWQgbGF5b3V0IHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzIyNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBhbGwgZmlmby1yZWxhdGVkIGNvZGUg
dG9nZXRoZXIgd2l0aCB0aGUgaW9fc3RyZWFtX2ZvcndhcmRlcl9hbmRyb2lkCisgICAgICAgIHRh
cmdldCBkZWZpbmVkIGluIFdlYktpdFVuaXRUZXN0cy5neXAuCisKKyAgICAgICAgKiBXZWJLaXRV
bml0VGVzdHMuZ3lwOgorICAgICAgICAqIHRlc3RzL0ZvcndhcmRJT1N0cmVhbXNBbmRyb2lkLmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiB0ZXN0cy9Gb3J3YXJkSU9TdHJlYW1zQW5kcm9pZC5oOiBS
ZW1vdmVkLgorICAgICAgICAqIHRlc3RzL1J1bkFsbFRlc3RzLmNwcDoKKyAgICAgICAgKG1haW4p
OgorCiAyMDEyLTA5LTIwICBNaWtlIFdlc3QgIDxta3dzdEBnb29nbGUuY29tPgogCiAgICAgICAg
IFtjaHJvbWl1bV0gQWRkaW5nIHRoZSAnZ29vZ2xlX2FwaXMnIGRpcmVjdG9yeSB0byAuZ2l0aWdu
b3JlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXRVbml0VGVzdHMu
Z3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXRVbml0VGVzdHMuZ3lwCmluZGV4IDgz
YjMyY2Y2ZTkxODE3NTBmNjQ4MWIxMmRjMDZkNDg1ZGRhNTE3YWUuLjE4YWRhYzlmMDc1OWRlMGMy
ZmFmZTEyMDdlYjNkNDMzYzUwYjk4YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vV2ViS2l0VW5pdFRlc3RzLmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktp
dFVuaXRUZXN0cy5neXAKQEAgLTEyNiw3ICsxMjYsNiBAQAogICAgICAgICAgICAgICAgICAgICAn
dHlwZSc6ICdzaGFyZWRfbGlicmFyeScsCiAgICAgICAgICAgICAgICAgICAgICdkZXBlbmRlbmNp
ZXMnOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90ZXN0
aW5nL2FuZHJvaWQvbmF0aXZlX3Rlc3QuZ3lwOm5hdGl2ZV90ZXN0X25hdGl2ZV9jb2RlJywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICdpb19zdHJlYW1fZm9yd2FyZGVyX2FuZHJvaWQnLAogICAg
ICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgIH1dLAogICAgICAgICAgICAgXSwK
QEAgLTIwOSwyMCArMjA4LDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICc8KGFuZHJvaWRf
YXBwX2FiaSknLAogICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgIH1dLAot
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICMgRklYTUU6IFdoZW4gdGhlIEFuZHJvaWQgdGVz
dCBydW5uZXIgZnJhbWV3b3JrIGluIENocm9taXVtIGhhcyBzdGFiaWxpemVkIGVub3VnaCwKLSAg
ICAgICAgICAgICMgd2Ugc2hvdWxkIHN3aXRjaCB0byB1c2luZyB0aGF0IGFuZCB3aWxsIG5vIGxv
bmdlciBuZWVkIHRoZSBzdHJlYW0gZm9yd2FyZGluZy4KLSAgICAgICAgICAgICMgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2NzY0Ci0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgJ3RhcmdldF9uYW1lJzogJ2lvX3N0cmVhbV9mb3J3YXJkZXJfYW5kcm9pZCcs
Ci0gICAgICAgICAgICAgICAgJ3R5cGUnOiAnc3RhdGljX2xpYnJhcnknLAotICAgICAgICAgICAg
ICAgICdzb3VyY2VzJzogWwotICAgICAgICAgICAgICAgICAgICAndGVzdHMvRm9yd2FyZElPU3Ry
ZWFtc0FuZHJvaWQuY3BwJywKLSAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL0ZvcndhcmRJT1N0
cmVhbXNBbmRyb2lkLmgnLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgJ2Rl
cGVuZGVuY2llcyc6IFsKLSAgICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29y
ZS5neXAvV2ViQ29yZS5neXA6d2ViY29yZScsCi0gICAgICAgICAgICAgICAgXSwKICAgICAgICAg
ICAgIH1dLAogICAgICAgICB9XSwKICAgICBdLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9Gb3J3YXJkSU9TdHJlYW1zQW5kcm9pZC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0ZvcndhcmRJT1N0cmVhbXNBbmRyb2lkLmNwcApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMGNhNWMxYjViYjZkZjNjZjM1MmU5NmU3MTIxY2IxY2UxMzYxZjNl
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0ZvcndhcmRJT1N0cmVhbXNBbmRyb2lkLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDEyNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot
Ci0jaW5jbHVkZSAiRm9yd2FyZElPU3RyZWFtc0FuZHJvaWQuaCIKLQotI2luY2x1ZGUgPGFuZHJv
aWQvbG9nLmg+Ci0jaW5jbHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDxmY250bC5oPgotI2luY2x1
ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSNpbmNsdWRlIDxzeXMvdHlwZXMu
aD4KLSNpbmNsdWRlIDx1bmlzdGQuaD4KLSNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+Ci0K
LSNpZm5kZWYgRVhJVF9GQUlMVVJFCi0jZGVmaW5lIEVYSVRfRkFJTFVSRSAxCi0jZW5kaWYKLQot
bmFtZXNwYWNlIHsKLQotY29uc3QgY2hhciBvcHRpb25JbkZJRk9bXSA9ICItLWluLWZpZm89IjsK
LWNvbnN0IGNoYXIgb3B0aW9uT3V0RklGT1tdID0gIi0tb3V0LWZpZm89IjsKLWNvbnN0IGNoYXIg
b3B0aW9uRXJyRklGT1tdID0gIi0tZXJyLWZpZm89IjsKLQotdm9pZCBhbmRyb2lkTG9nRXJyb3Io
Y29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDEsIDIpOwotCi12
b2lkIGFuZHJvaWRMb2dFcnJvcihjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikKLXsKLSAgICB2YV9s
aXN0IGFyZ3M7Ci0gICAgdmFfc3RhcnQoYXJncywgZm9ybWF0KTsKLSAgICBfX2FuZHJvaWRfbG9n
X3ZwcmludChBTkRST0lEX0xPR19FUlJPUiwgIldlYktpdCIsIGZvcm1hdCwgYXJncyk7Ci0gICAg
dmFfZW5kKGFyZ3MpOwotfQotCi12b2lkIHJlbW92ZUFyZyhpbnQgaW5kZXgsIGludCogYXJnYywg
Y2hhcioqKiBhcmd2KQotewotICAgIGZvciAoaW50IGkgPSBpbmRleDsgaSA8ICphcmdjOyArK2kp
Ci0gICAgICAgICgqYXJndilbaV0gPSAoKmFyZ3YpW2kgKyAxXTsKLSAgICAtLSphcmdjOwotfQot
Ci12b2lkIGNyZWF0ZUZJRk8oY29uc3QgY2hhciogZmlmb1BhdGgpCi17Ci0gICAgdW5saW5rKGZp
Zm9QYXRoKTsKLSAgICAvLyAwNjY2IGlzIHJ3LXJ3LXJ3LSwgdG8gYWxsb3cgYWRiIHNoZWxsIHRv
IHJlYWQvd3JpdGUgdGhlIGZpZm8uCi0gICAgLy8gRXhwbGljaXRseSBjYWxsIGNobW9kIHRvIGVu
c3VyZSB0aGUgbW9kZSBpcyBzZXQgZGVzcGl0ZSB1bWFzay4KLSAgICBpZiAobWtmaWZvKGZpZm9Q
YXRoLCAwNjY2KSB8fCBjaG1vZChmaWZvUGF0aCwgMDY2NikpIHsKLSAgICAgICAgYW5kcm9pZExv
Z0Vycm9yKCJGYWlsZWQgdG8gY3JlYXRlIGZpZm8gJXM6ICVzXG4iLCBmaWZvUGF0aCwgc3RyZXJy
b3IoZXJybm8pKTsKLSAgICAgICAgZXhpdChFWElUX0ZBSUxVUkUpOwotICAgIH0KLX0KLQotdm9p
ZCByZWRpcmVjdChGSUxFKiBzdHJlYW0sIGNvbnN0IGNoYXIqIHBhdGgsIGNvbnN0IGNoYXIqIG1v
ZGUpCi17Ci0gICAgaWYgKCFmcmVvcGVuKHBhdGgsIG1vZGUsIHN0cmVhbSkpIHsKLSAgICAgICAg
YW5kcm9pZExvZ0Vycm9yKCJGYWlsZWQgdG8gcmVkaXJlY3Qgc3RyZWFtIHRvIGZpbGU6ICVzOiAl
c1xuIiwgcGF0aCwgc3RyZXJyb3IoZXJybm8pKTsKLSAgICAgICAgZXhpdChFWElUX0ZBSUxVUkUp
OwotICAgIH0KLX0KLQotfSAvLyBuYW1lc3BhY2UKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLXZv
aWQgbWF5YmVJbml0SU9TdHJlYW1Gb3J3YXJkaW5nRm9yQW5kcm9pZChpbnQqIGFyZ2MsIGNoYXIq
KiogYXJndikKLXsKLSAgICBjb25zdCBjaGFyKiBpbkZJRk8gPSAwOwotICAgIGNvbnN0IGNoYXIq
IG91dEZJRk8gPSAwOwotICAgIGNvbnN0IGNoYXIqIGVyckZJRk8gPSAwOwotICAgIGZvciAoaW50
IGkgPSAxOyBpIDwgKmFyZ2M7ICkgewotICAgICAgICBjb25zdCBjaGFyKiBhcmd1bWVudCA9ICgq
YXJndilbaV07Ci0gICAgICAgIGlmIChzdHJzdHIoYXJndW1lbnQsIG9wdGlvbkluRklGTykgPT0g
YXJndW1lbnQpIHsKLSAgICAgICAgICAgIGluRklGTyA9IGFyZ3VtZW50ICsgV1RGX0FSUkFZX0xF
TkdUSChvcHRpb25JbkZJRk8pIC0gMTsKLSAgICAgICAgICAgIGNyZWF0ZUZJRk8oaW5GSUZPKTsK
LSAgICAgICAgICAgIHJlbW92ZUFyZyhpLCBhcmdjLCBhcmd2KTsKLSAgICAgICAgfSBlbHNlIGlm
IChzdHJzdHIoYXJndW1lbnQsIG9wdGlvbk91dEZJRk8pID09IGFyZ3VtZW50KSB7Ci0gICAgICAg
ICAgICBvdXRGSUZPID0gYXJndW1lbnQgKyBXVEZfQVJSQVlfTEVOR1RIKG9wdGlvbk91dEZJRk8p
IC0gMTsKLSAgICAgICAgICAgIGNyZWF0ZUZJRk8ob3V0RklGTyk7Ci0gICAgICAgICAgICByZW1v
dmVBcmcoaSwgYXJnYywgYXJndik7Ci0gICAgICAgIH0gZWxzZSBpZiAoc3Ryc3RyKGFyZ3VtZW50
LCBvcHRpb25FcnJGSUZPKSA9PSBhcmd1bWVudCkgewotICAgICAgICAgICAgZXJyRklGTyA9IGFy
Z3VtZW50ICsgV1RGX0FSUkFZX0xFTkdUSChvcHRpb25FcnJGSUZPKSAtIDE7Ci0gICAgICAgICAg
ICBjcmVhdGVGSUZPKGVyckZJRk8pOwotICAgICAgICAgICAgcmVtb3ZlQXJnKGksIGFyZ2MsIGFy
Z3YpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICsraTsKLSAgICB9Ci0KLSAgICAvLyBU
aGUgb3JkZXIgb2YgY3JlYXRlRklGTygpIGFuZCByZWRpcmVjdFRvRklGTygpIGlzIGltcG9ydGFu
dCB0byBhdm9pZCBkZWFkbG9jay4KLSAgICBpZiAob3V0RklGTykKLSAgICAgICAgcmVkaXJlY3Qo
c3Rkb3V0LCBvdXRGSUZPLCAidyIpOwotICAgIGlmIChpbkZJRk8pCi0gICAgICAgIHJlZGlyZWN0
KHN0ZGluLCBpbkZJRk8sICJyIik7Ci0gICAgaWYgKGVyckZJRk8pCi0gICAgICAgIHJlZGlyZWN0
KHN0ZGVyciwgZXJyRklGTywgInciKTsKLSAgICBlbHNlIHsKLSAgICAgICAgLy8gUmVkaXJlY3Qg
c3RkZXJyIHRvIHN0ZG91dC4KLSAgICAgICAgZHVwMigxLCAyKTsKLSAgICB9Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9Gb3J3YXJkSU9TdHJlYW1zQW5kcm9pZC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9Gb3J3YXJkSU9TdHJlYW1zQW5kcm9pZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA2ZGJjNjM4YjRkNDI5YWJjM2Y1YzM2MjhmODUzYmIwNGFjMTgzOThhLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvRm9yd2FyZElPU3RyZWFtc0FuZHJvaWQuaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQot
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEZvcndhcmRJT1N0cmVhbXNBbmRyb2lkX2gKLSNkZWZp
bmUgRm9yd2FyZElPU3RyZWFtc0FuZHJvaWRfaAotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotLy8g
VGhlIHRlc3QgZXhlY3V0YWJsZXMgZm9yIEFuZHJvaWQgc3VwcG9ydCB0aHJlZSBhZGRpdGlvbmFs
IGNvbW1hbmQgbGluZSBmbGFncwotLy8gKC0taW4tZmlmbywgLS1vdXQtZmlmbyBhbmQgLS1lcnIt
ZmlmbykgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byByZXRyaWV2ZSBpbnB1dAotLy8gZnJvbSBhIGZp
bGUgaW5zdGVhZCBvZiBTVERJTiwgYW5kIHRvIGZvcndhcmQgU1RET1VUIGFuZCBTVERFUlIgdG8g
ZmlsZXMuIFdoZW4KLS8vIHJ1bm5pbmcgRHVtcFJlbmRlclRyZWUsIFRlc3RXZWJLaXRBUEkgb3Ig
d2Via2l0X3VuaXRfdGVzdHMgaW4gV2ViS2l0Ci0vLyBpbmZyYXN0cnVjdHVyZSwgdGhlc2Ugd2ls
bCBiZSB1c2VkIGluc3RlYWQgb2YgcGFyc2luZyBhbGwgbG9nIG91dHB1dC4KLXZvaWQgbWF5YmVJ
bml0SU9TdHJlYW1Gb3J3YXJkaW5nRm9yQW5kcm9pZChpbnQqIGFyZ2MsIGNoYXIqKiogYXJndik7
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gRm9yd2FyZElPU3RyZWFtc0Fu
ZHJvaWRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9SdW5BbGxU
ZXN0cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1J1bkFsbFRlc3RzLmNwcApp
bmRleCBiZTRjN2RiMjkwZTA2MzExZmIyYmViZTczYWFmNThmNGU3NWIyNzc4Li43OGZkN2RhM2Qz
MTBiNWUyYjk1ODUxNDY3ZTk0MzBlMDZkN2Y0NTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL1J1bkFsbFRlc3RzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL1J1bkFsbFRlc3RzLmNwcApAQCAtNDMsMTAgKzQzLDYgQEAKICNpbmNsdWRlICJX
ZWJVbml0VGVzdHMuaCIKICNlbmRpZgogCi0jaWYgZGVmaW5lZChPU19BTkRST0lEKQotI2luY2x1
ZGUgIkZvcndhcmRJT1N0cmVhbXNBbmRyb2lkLmgiCi0jZW5kaWYKLQogI2luY2x1ZGUgPGdtb2Nr
L2dtb2NrLmg+CiAKIC8vIFRlc3RTdWl0ZSBtdXN0IGJlIGNyZWF0ZWQgYmVmb3JlIFNldFVwVGVz
dEVudmlyb25tZW50IHNvIGl0IHBlcmZvcm1zCkBAIC02Myw5ICs1OSw2IEBAIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyKiogYXJndikKICAgICBXZWJLaXQ6OkRlbGV0ZVRlc3RTdWl0ZSgpOwogI2Vs
c2UKICAgICA6OnRlc3Rpbmc6OkluaXRHb29nbGVNb2NrKCZhcmdjLCBhcmd2KTsKLSNpZiBkZWZp
bmVkKE9TX0FORFJPSUQpCi0gICAgV2ViS2l0OjptYXliZUluaXRJT1N0cmVhbUZvcndhcmRpbmdG
b3JBbmRyb2lkKCZhcmdjLCAmYXJndik7Ci0jZW5kaWYKICAgICBUZXN0U3VpdGUgdGVzdFN1aXRl
KGFyZ2MsIGFyZ3YpOwogICAgIHdlYmtpdF9zdXBwb3J0OjpTZXRVcFRlc3RFbnZpcm9ubWVudEZv
clVuaXRUZXN0cygpOwogICAgIGludCByZXN1bHQgPSB0ZXN0U3VpdGUuUnVuKCk7CmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggN2YyNGY2ODU5ZWE2
MmMzMzRmMzFjN2RhMzFmMjFhNzczYTdlOWM4MC4uOTg4OTI3MDRiYmVmYzZmYmM4YzYwMjFkNWYx
MjM1OTVkZDQzYTQ3NCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA5LTIwICBQZXRlciBCZXZlcmxvbyAgPHBl
dGVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBMZXZlcmFnZSBDaHJvbWl1bSdzIGNvZGUgdG8g
c2V0IHVwIEZJRk9zIGZvciBDaHJvbWl1bSBBbmRyb2lkIGxheW91dCB0ZXN0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcyMjcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBzd2l0Y2hlZCBDaHJvbWl1
bSB0byB1c2luZyBGSUZPcyBpbiBvcmRlciB0byBhY2hpZXZlIGJldHRlciBjb25zaXN0ZW5jeSwK
KyAgICAgICAgd2hpY2ggd2FzIGRvbmUgYnkgTWFyY3VzIGluIHIxNTc1NDEuIFJlbW92ZSBhbGwg
Y3VzdG9tIFdlYktpdCBjb2RlIGluCisgICAgICAgIGZhdm9yIG9mIENocm9taXVtJ3MgaW1wbGVt
ZW50YXRpb24uCisKKyAgICAgICAgUmVtb3ZlIG1vcmUgRklGTyBjb2RlIGluIHRoZSB0ZXN0IHJ1
bm5lciBpdHNlbGYsIGluY2x1ZGluZyB0aGUgY29kZSBpbgorICAgICAgICBEdW1wUmVuZGVyVHJl
ZSB0aGF0IGludm9rZWQgaXQuIFdlIGNhbiBub3cgc3dpdGNoIHRvIENocm9taXVtJ3MgYnJhbmQK
KyAgICAgICAgbmV3IEZJRk8tY3JlYXRpbmcgY29kZSwgd2hpY2ggaXMgYmVpbmcgc2V0LXVwIGZv
ciBhbGwgdGVzdCB0YXJnZXRzIGJ1aWxkCisgICAgICAgIGZvciBBbmRyb2lkLCBpbmNsdWRpbmcg
RHVtcFJlbmRlclRyZWUsIFRlc3RXZWJLaXRBUEkgYW5kIHdlYmtpdF91bml0X3Rlc3RzLgorCisg
ICAgICAgIFRoaXMgYWxzbyBjaGFuZ2VzIHRoZSBDaHJvbWl1bUFuZHJvaWREcml2ZXIuX3JlbW92
ZV9hbGxfcGlwZXMgbWV0aG9kIHRvCisgICAgICAgIGRlbGV0ZSB0aGUgZmlsZXMgaW5kaXZpZHVh
bGx5LiAicm0iIHdvdWxkIGZhaWwgaWYgb25lIG9mIHRoZSBlYXJsaWVyIGZpbGVzCisgICAgICAg
IGRvZXMgbm90IGV4aXN0LCBhbmQgdGhlICItZiIgYXJndW1lbnQgZG9lc24ndCBzZWVtIHRvIGJl
IHJlbGlhYmxlLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUuZ3lw
L0R1bXBSZW5kZXJUcmVlLmd5cDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0U2hlbGxBbmRyb2lkLmNwcDoKKyAgICAgICAgKHBsYXRmb3JtSW5pdCk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9hbmRyb2lkLnB5Ogor
ICAgICAgICAoQ2hyb21pdW1BbmRyb2lkRHJpdmVyLl9faW5pdF9fKToKKyAgICAgICAgKENocm9t
aXVtQW5kcm9pZERyaXZlci5fc2V0dXBfdGVzdCk6CisgICAgICAgIChDaHJvbWl1bUFuZHJvaWRE
cml2ZXIuX2dldF9leHRlcm5hbF9zdG9yYWdlKToKKyAgICAgICAgKENocm9taXVtQW5kcm9pZERy
aXZlci5fZHJ0X2NtZF9saW5lKToKKyAgICAgICAgKENocm9taXVtQW5kcm9pZERyaXZlci5fcmVt
b3ZlX2FsbF9waXBlcyk6CisgICAgICAgIChDaHJvbWl1bUFuZHJvaWREcml2ZXIuc3RvcCk6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLmd5cC9UZXN0V2ViS2l0QVBJLmd5
cDoKKwogMjAxMi0wOS0yMCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyOTA5MS4KZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLmd5cC9EdW1wUmVuZGVyVHJl
ZS5neXAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5neXAvRHVtcFJlbmRl
clRyZWUuZ3lwCmluZGV4IDEzMWQ0MGYwMjQzOWE2NDEzMTliMzNlYzlkZTJiMWMzMzJiMTU2ZTAu
LjhlMzM0N2NhODJhYzdkNTE2MTdkMjJjYWYzODE5NGJkZmUzZTIyYmYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLmd5cC9EdW1wUmVuZGVyVHJlZS5neXAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUuZ3lwL0R1bXBSZW5kZXJU
cmVlLmd5cApAQCAtMjg1LDIxICsyODUsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICc8
KGNocm9taXVtX3NyY19kaXIpL3Rlc3RpbmcvYW5kcm9pZC9uYXRpdmVfdGVzdC5neXA6bmF0aXZl
X3Rlc3RfbmF0aXZlX2NvZGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1f
c3JjX2RpcikvdG9vbHMvYW5kcm9pZC9mb3J3YXJkZXIvZm9yd2FyZGVyLmd5cDpmb3J3YXJkZXIn
LAogICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvdG9vbHMvYW5k
cm9pZC9tZDVzdW0vbWQ1c3VtLmd5cDptZDVzdW0nLAotICAgICAgICAgICAgICAgICAgICAgICAg
Jzwoc291cmNlX2RpcikvV2ViS2l0L2Nocm9taXVtL1dlYktpdFVuaXRUZXN0cy5neXA6aW9fc3Ry
ZWFtX2ZvcndhcmRlcl9hbmRyb2lkJywKICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAg
ICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyEnOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAn
SW1hZ2VEaWZmJywKICAgICAgICAgICAgICAgICAgICAgICAgICdjb3B5X1Rlc3ROZXRzY2FwZVBs
dWdJbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGly
ZF9wYXJ0eS9tZXNhL21lc2EuZ3lwOm9zbWVzYScsCiAgICAgICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgICAgICMgRklYTUU6IFJlbW92ZSB3aGVuIHRoZSBpb19zdHJlYW1fZm9y
d2FyZGVyX2FuZHJvaWQgdGFyZ2V0IGlzIGRlcHJlY2F0ZWQuCi0gICAgICAgICAgICAgICAgICAg
ICdjb25kaXRpb25zJzogWwotICAgICAgICAgICAgICAgICAgICAgICAgWydpbnNpZGVfY2hyb21p
dW1fYnVpbGQ9PTEnLCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luY2x1ZGVfZGly
cyc6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwoc291cmNlX2RpcikvV2Vi
S2l0L2Nocm9taXVtLycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIH1dLAotICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAg
ICAgICAgICAnY29waWVzJzogW3sKICAgICAgICAgICAgICAgICAgICAgICAgICdkZXN0aW5hdGlv
bic6ICc8KFBST0RVQ1RfRElSKScsCiAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsZXMnOiBb
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGxBbmRy
b2lkLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbEFuZHJvaWQu
Y3BwCmluZGV4IDhmOGVlZGMzZGJjNDdiMmI5ZWIzMTEwZGI3NDkyMDMzZjAxNzQxYzAuLjFhMzI3
YmI4NTNlZWEyMWFmYzYzMWUwMDI1M2UyMDM4MzdlMzhmNGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbEFuZHJvaWQuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbEFuZHJvaWQuY3BwCkBAIC0zMiw3ICszMiw2
IEBACiAjaW5jbHVkZSAiVGVzdFNoZWxsLmgiCiAKICNpbmNsdWRlICJsaW51eC9XZWJGb250UmVu
ZGVyaW5nLmgiCi0jaW5jbHVkZSAidGVzdHMvRm9yd2FyZElPU3RyZWFtc0FuZHJvaWQuaCIKICNp
bmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvcG9ydHMvU2tUeXBlZmFjZV9hbmRyb2lk
LmgiCiAKIG5hbWVzcGFjZSB7CkBAIC01MSw5ICs1MCw2IEBAIHZvaWQgcGxhdGZvcm1Jbml0KGlu
dCogYXJnYywgY2hhcioqKiBhcmd2KQogICAgIC8vIEluaXRpYWxpemUgc2tpYSB3aXRoIGN1c3Rv
bWl6ZWQgZm9udCBjb25maWcgZmlsZXMuCiAgICAgU2tVc2VUZXN0Rm9udENvbmZpZ0ZpbGUoZm9u
dE1haW5Db25maWdGaWxlLCBmb250RmFsbGJhY2tDb25maWdGaWxlLCBmb250c0Rpcik7CiAKLSAg
ICAvLyBTZXQgdXAgSU8gc3RyZWFtIGZvcndhcmRpbmcgaWYgbmVjZXNzYXJ5LgotICAgIFdlYktp
dDo6bWF5YmVJbml0SU9TdHJlYW1Gb3J3YXJkaW5nRm9yQW5kcm9pZChhcmdjLCBhcmd2KTsKLQog
ICAgIC8vIERpc2FibGUgYXV0byBoaW50IGFuZCB1c2Ugbm9ybWFsIGhpbnRpbmcgaW4gbGF5b3V0
IHRlc3QgbW9kZSB0byBwcm9kdWNlIHRoZSBzYW1lIGZvbnQgbWV0cmljcyBhcyBjaHJvbWl1bS1s
aW51eC4KICAgICBXZWJLaXQ6OldlYkZvbnRSZW5kZXJpbmc6OnNldEF1dG9IaW50KGZhbHNlKTsK
ICAgICBXZWJLaXQ6OldlYkZvbnRSZW5kZXJpbmc6OnNldEhpbnRpbmcoU2tQYWludDo6a05vcm1h
bF9IaW50aW5nKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvY2hyb21pdW1fYW5kcm9pZC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fYW5kcm9pZC5weQppbmRleCBmY2NjZWMxNWExMzU4OTJi
MTE0ZmUzN2VlNzU0YWViYWRhYzVlMDlhLi4xYWYzMGM1OTM3YzQ4MTA5MmEwNzczYTNhMjI3NTJm
YzdhN2VjYjkwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV9hbmRyb2lkLnB5CkBAIC0zMTEsOSArMzExLDkgQEAg
Y2xhc3MgQ2hyb21pdW1BbmRyb2lkRHJpdmVyKGRyaXZlci5Ecml2ZXIpOgogICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBwb3J0LCB3b3JrZXJfbnVtYmVyLCBwaXhlbF90ZXN0cywgbm9fdGltZW91dD1G
YWxzZSk6CiAgICAgICAgIHN1cGVyKENocm9taXVtQW5kcm9pZERyaXZlciwgc2VsZikuX19pbml0
X18ocG9ydCwgd29ya2VyX251bWJlciwgcGl4ZWxfdGVzdHMsIG5vX3RpbWVvdXQpCiAgICAgICAg
IHNlbGYuX2NtZF9saW5lID0gTm9uZQotICAgICAgICBzZWxmLl9pbl9maWZvX3BhdGggPSBERVZJ
Q0VfRFJUX0RJUiArICdEdW1wUmVuZGVyVHJlZS5pbicKLSAgICAgICAgc2VsZi5fb3V0X2ZpZm9f
cGF0aCA9IERFVklDRV9EUlRfRElSICsgJ0R1bXBSZW5kZXJUcmVlLm91dCcKLSAgICAgICAgc2Vs
Zi5fZXJyX2ZpZm9fcGF0aCA9IERFVklDRV9EUlRfRElSICsgJ0R1bXBSZW5kZXJUcmVlLmVycicK
KyAgICAgICAgc2VsZi5faW5fZmlmb19wYXRoID0gJycKKyAgICAgICAgc2VsZi5fb3V0X2ZpZm9f
cGF0aCA9ICcnCisgICAgICAgIHNlbGYuX2Vycl9maWZvX3BhdGggPSAnJwogICAgICAgICBzZWxm
Ll9yZWFkX3N0ZG91dF9wcm9jZXNzID0gTm9uZQogICAgICAgICBzZWxmLl9yZWFkX3N0ZGVycl9w
cm9jZXNzID0gTm9uZQogICAgICAgICBzZWxmLl9mb3J3YXJkZXJfcHJvY2VzcyA9IE5vbmUKQEAg
LTMyMSw2ICszMjEsNyBAQCBjbGFzcyBDaHJvbWl1bUFuZHJvaWREcml2ZXIoZHJpdmVyLkRyaXZl
cik6CiAgICAgICAgIHNlbGYuX29yaWdpbmFsX2dvdmVybm9ycyA9IHt9CiAgICAgICAgIHNlbGYu
X2RldmljZV9zZXJpYWwgPSBwb3J0Ll9nZXRfZGV2aWNlX3NlcmlhbCh3b3JrZXJfbnVtYmVyKQog
ICAgICAgICBzZWxmLl9hZGJfY29tbWFuZCA9IFsnYWRiJywgJy1zJywgc2VsZi5fZGV2aWNlX3Nl
cmlhbF0KKyAgICAgICAgc2VsZi5fZXh0ZXJuYWxfc3RvcmFnZSA9ICcnCiAKICAgICBkZWYgX19k
ZWxfXyhzZWxmKToKICAgICAgICAgc2VsZi5fdGVhcmRvd25fcGVyZm9ybWFuY2UoKQpAQCAtMzQy
LDYgKzM0MywxMSBAQCBjbGFzcyBDaHJvbWl1bUFuZHJvaWREcml2ZXIoZHJpdmVyLkRyaXZlcik6
CiAgICAgICAgIGlmIHNlbGYuX2hhc19zZXR1cDoKICAgICAgICAgICAgIHJldHVybgogCisgICAg
ICAgICMgU2V0IHVwIHRoZSBmaWZvIHBhdGhzIHVzZWQgZm9yIGdldHRpbmcgRHVtcFJlbmRlclRy
ZWUncyBvdXRwdXQuCisgICAgICAgIHNlbGYuX2luX2ZpZm9fcGF0aCA9IHNlbGYuX2dldF9leHRl
cm5hbF9zdG9yYWdlKCkgKyAnL25hdGl2ZV90ZXN0cy9zdGRpbi5maWZvJworICAgICAgICBzZWxm
Ll9vdXRfZmlmb19wYXRoID0gc2VsZi5fZ2V0X2V4dGVybmFsX3N0b3JhZ2UoKSArICcvbmF0aXZl
X3Rlc3RzL3Rlc3QuZmlmbycKKyAgICAgICAgc2VsZi5fZXJyX2ZpZm9fcGF0aCA9IHNlbGYuX2dl
dF9leHRlcm5hbF9zdG9yYWdlKCkgKyAnL25hdGl2ZV90ZXN0cy9zdGRlcnIuZmlmbycKKwogICAg
ICAgICBzZWxmLl9zZXR1cF9tZDVzdW1fYW5kX3B1c2hfZGF0YV9pZl9uZWVkZWQoKQogICAgICAg
ICBzZWxmLl9oYXNfc2V0dXAgPSBUcnVlCiAgICAgICAgIHNlbGYuX3J1bl9hZGJfY29tbWFuZChb
J3Jvb3QnXSkKQEAgLTQyMyw2ICs0MjksMTIgQEAgY2xhc3MgQ2hyb21pdW1BbmRyb2lkRHJpdmVy
KGRyaXZlci5Ecml2ZXIpOgogICAgIGRlZiBfdXBkYXRlX3ZlcnNpb24oc2VsZiwgZGlyLCB2ZXJz
aW9uKToKICAgICAgICAgc2VsZi5fcnVuX2FkYl9jb21tYW5kKFsnc2hlbGwnLCAnZWNobyAlZCA+
ICVzVkVSU0lPTicgJSAodmVyc2lvbiwgZGlyKV0pCiAKKyAgICBkZWYgX2dldF9leHRlcm5hbF9z
dG9yYWdlKHNlbGYpOgorICAgICAgICBpZiBub3Qgc2VsZi5fZXh0ZXJuYWxfc3RvcmFnZToKKyAg
ICAgICAgICAgIHNlbGYuX2V4dGVybmFsX3N0b3JhZ2UgPSBzZWxmLl9ydW5fYWRiX2NvbW1hbmQo
WydzaGVsbCcsICdlY2hvJywgJyRFWFRFUk5BTF9TVE9SQUdFJ10pLnNwbGl0bGluZXMoKVswXQor
ICAgICAgICAgICAgYXNzZXJ0IHNlbGYuX2V4dGVybmFsX3N0b3JhZ2UsICdVbmFibGUgdG8gZmlu
ZCAkRVhURVJOQUxfU1RPUkFHRScKKyAgICAgICAgcmV0dXJuIHNlbGYuX2V4dGVybmFsX3N0b3Jh
Z2UKKwogICAgIGRlZiBfcnVuX2FkYl9jb21tYW5kKHNlbGYsIGNtZCwgaWdub3JlX2Vycm9yPUZh
bHNlKToKICAgICAgICAgc2VsZi5fbG9nX2RlYnVnKCdSdW4gYWRiIGNvbW1hbmQ6ICcgKyBzdHIo
Y21kKSkKICAgICAgICAgaWYgaWdub3JlX2Vycm9yOgpAQCAtNTEwLDExICs1MjIsNyBAQCBjbGFz
cyBDaHJvbWl1bUFuZHJvaWREcml2ZXIoZHJpdmVyLkRyaXZlcik6CiAgICAgICAgIHJldHVybiBz
ZWxmLl9ydW5fYWRiX2NvbW1hbmQoWydzaGVsbCcsICdscycsIGZ1bGxfZmlsZV9wYXRoXSkuc3Ry
aXAoKSA9PSBmdWxsX2ZpbGVfcGF0aAogCiAgICAgZGVmIF9kcnRfY21kX2xpbmUoc2VsZiwgcGl4
ZWxfdGVzdHMsIHBlcl90ZXN0X2FyZ3MpOgotICAgICAgICByZXR1cm4gZHJpdmVyLkRyaXZlci5j
bWRfbGluZShzZWxmLCBwaXhlbF90ZXN0cywgcGVyX3Rlc3RfYXJncykgKyBbCi0gICAgICAgICAg
ICAnLS1pbi1maWZvPScgKyBzZWxmLl9pbl9maWZvX3BhdGgsCi0gICAgICAgICAgICAnLS1vdXQt
Zmlmbz0nICsgc2VsZi5fb3V0X2ZpZm9fcGF0aCwKLSAgICAgICAgICAgICctLWVyci1maWZvPScg
KyBzZWxmLl9lcnJfZmlmb19wYXRoLAotICAgICAgICBdCisgICAgICAgIHJldHVybiBkcml2ZXIu
RHJpdmVyLmNtZF9saW5lKHNlbGYsIHBpeGVsX3Rlc3RzLCBwZXJfdGVzdF9hcmdzKSArIFsnLS1j
cmVhdGUtc3RkaW4tZmlmbycsICctLXNlcGFyYXRlLXN0ZGVyci1maWZvJ10KIAogICAgIEBzdGF0
aWNtZXRob2QKICAgICBkZWYgX2xvb3Bfd2l0aF90aW1lb3V0KGNvbmRpdGlvbiwgdGltZW91dF9z
ZWNzKToKQEAgLTUzMCw3ICs1MzgsOSBAQCBjbGFzcyBDaHJvbWl1bUFuZHJvaWREcml2ZXIoZHJp
dmVyLkRyaXZlcik6CiAgICAgICAgICAgICAgICAgc2VsZi5fZmlsZV9leGlzdHNfb25fZGV2aWNl
KHNlbGYuX2Vycl9maWZvX3BhdGgpKQogCiAgICAgZGVmIF9yZW1vdmVfYWxsX3BpcGVzKHNlbGYp
OgotICAgICAgICBzZWxmLl9ydW5fYWRiX2NvbW1hbmQoWydzaGVsbCcsICdybScsIHNlbGYuX2lu
X2ZpZm9fcGF0aCwgc2VsZi5fb3V0X2ZpZm9fcGF0aCwgc2VsZi5fZXJyX2ZpZm9fcGF0aF0pCisg
ICAgICAgIGZvciBmaWxlIGluIFtzZWxmLl9pbl9maWZvX3BhdGgsIHNlbGYuX291dF9maWZvX3Bh
dGgsIHNlbGYuX2Vycl9maWZvX3BhdGhdOgorICAgICAgICAgICAgc2VsZi5fcnVuX2FkYl9jb21t
YW5kKFsnc2hlbGwnLCAncm0nLCBmaWxlXSkKKwogICAgICAgICByZXR1cm4gKG5vdCBzZWxmLl9m
aWxlX2V4aXN0c19vbl9kZXZpY2Uoc2VsZi5faW5fZmlmb19wYXRoKSBhbmQKICAgICAgICAgICAg
ICAgICBub3Qgc2VsZi5fZmlsZV9leGlzdHNfb25fZGV2aWNlKHNlbGYuX291dF9maWZvX3BhdGgp
IGFuZAogICAgICAgICAgICAgICAgIG5vdCBzZWxmLl9maWxlX2V4aXN0c19vbl9kZXZpY2Uoc2Vs
Zi5fZXJyX2ZpZm9fcGF0aCkpCkBAIC02NTMsOCArNjYzLDkgQEAgY2xhc3MgQ2hyb21pdW1BbmRy
b2lkRHJpdmVyKGRyaXZlci5Ecml2ZXIpOgogICAgICAgICAgICAgc2VsZi5fZm9yd2FyZGVyX3By
b2Nlc3Mua2lsbCgpCiAgICAgICAgICAgICBzZWxmLl9mb3J3YXJkZXJfcHJvY2VzcyA9IE5vbmUK
IAotICAgICAgICBpZiBub3QgQ2hyb21pdW1BbmRyb2lkRHJpdmVyLl9sb29wX3dpdGhfdGltZW91
dChzZWxmLl9yZW1vdmVfYWxsX3BpcGVzLCBEUlRfU1RBUlRfU1RPUF9USU1FT1VUX1NFQ1MpOgot
ICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoJ0ZhaWxlZCB0byByZW1vdmUgZmlmbyBm
aWxlcy4gTWF5IGJlIGxvY2tlZC4nKQorICAgICAgICBpZiBzZWxmLl9oYXNfc2V0dXA6CisgICAg
ICAgICAgICBpZiBub3QgQ2hyb21pdW1BbmRyb2lkRHJpdmVyLl9sb29wX3dpdGhfdGltZW91dChz
ZWxmLl9yZW1vdmVfYWxsX3BpcGVzLCBEUlRfU1RBUlRfU1RPUF9USU1FT1VUX1NFQ1MpOgorICAg
ICAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKCdGYWlsZWQgdG8gcmVtb3ZlIGZpZm8g
ZmlsZXMuIE1heSBiZSBsb2NrZWQuJykKIAogICAgIGRlZiBfY29tbWFuZF9mcm9tX2RyaXZlcl9p
bnB1dChzZWxmLCBkcml2ZXJfaW5wdXQpOgogICAgICAgICBjb21tYW5kID0gc3VwZXIoQ2hyb21p
dW1BbmRyb2lkRHJpdmVyLCBzZWxmKS5fY29tbWFuZF9mcm9tX2RyaXZlcl9pbnB1dChkcml2ZXJf
aW5wdXQpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkuZ3lw
L1Rlc3RXZWJLaXRBUEkuZ3lwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLmd5
cC9UZXN0V2ViS2l0QVBJLmd5cAppbmRleCAzNmUzMGVhYTQ2NTViOGRlMDUyMGZiODkzNTJiNTll
MmM3YjFkOThhLi4yOGU4MmFjMDcxZDYwZTRmNGE0NmU2ZjdlZTIwOTliM2I2NDlkOTFlIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkuZ3lwL1Rlc3RXZWJLaXRB
UEkuZ3lwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS5neXAvVGVzdFdl
YktpdEFQSS5neXAKQEAgLTg3LDcgKzg3LDYgQEAKICAgICAgICAgICAgICAgICAgICAgJ3R5cGUn
OiAnc2hhcmVkX2xpYnJhcnknLAogICAgICAgICAgICAgICAgICAgICAnZGVwZW5kZW5jaWVzJzog
WwogICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvdGVzdGluZy9h
bmRyb2lkL25hdGl2ZV90ZXN0Lmd5cDpuYXRpdmVfdGVzdF9uYXRpdmVfY29kZScsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAnPChzb3VyY2VfZGlyKS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0VW5p
dFRlc3RzLmd5cDppb19zdHJlYW1fZm9yd2FyZGVyX2FuZHJvaWQnLAogICAgICAgICAgICAgICAg
ICAgICBdLAogICAgICAgICAgICAgICAgIH1dLAogICAgICAgICAgICAgXSwK
</data>
<flag name="review"
          id="176868"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>