<?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>120329</bug_id>
          
          <creation_ts>2013-08-26 16:03:23 -0700</creation_ts>
          <short_desc>REGRESSION(r154640): Caused flaky crashes on a lot of editing tests (Requested by rniwa on #webkit).</short_desc>
          <delta_ts>2013-08-26 16:24:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>81419</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>921207</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-26 16:03:23 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/154640 broke the build:
Caused flaky crashes on a lot of editing tests (Requested by rniwa on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921209</commentid>
    <comment_count>1</comment_count>
      <attachid>209687</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-26 16:03:48 -0700</bug_when>
    <thetext>Created attachment 209687
ROLLOUT of r154640

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921213</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-08-26 16:11:28 -0700</bug_when>
    <thetext>I see some crashes locally on another machine (strangely, not on the one where I developed this). It may be that it&apos;s actually the missing [super init] call. Same that we had in WebKit1 without any issues since 2006, and which Andy fixed a few moments ago.

Will test this hypothesis quickly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921217</commentid>
    <comment_count>3</comment_count>
      <attachid>209687</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-08-26 16:18:53 -0700</bug_when>
    <thetext>Comment on attachment 209687
ROLLOUT of r154640

No, an -init doesn&apos;t seem to help. Rolling out for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921222</commentid>
    <comment_count>4</comment_count>
      <attachid>209687</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-26 16:24:22 -0700</bug_when>
    <thetext>Comment on attachment 209687
ROLLOUT of r154640

Clearing flags on attachment: 209687

Committed r154650: &lt;http://trac.webkit.org/changeset/154650&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921223</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-26 16:24:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209687</attachid>
            <date>2013-08-26 16:03:48 -0700</date>
            <delta_ts>2013-08-26 16:24:22 -0700</delta_ts>
            <desc>ROLLOUT of r154640</desc>
            <filename>bug-120329-20130826160347.patch</filename>
            <type>text/plain</type>
            <size>19280</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NjQ4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmI2ODMyZjE4MWEyZjUzMzZhN2ExZjNlNDM2NTg0ZDQ1
MjFlNjUzMi4uMDkyOTNiMjhjM2M2YjYyYjEwZTIyNTE3ODk5MzIzNTNiNTNiMDA5NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEzLTA4LTI2ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4K
KworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTU0NjQwLgorICAgICAgICBodHRw
Oi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xNTQ2NDAKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDMyOQorCisgICAgICAgIENhdXNlZCBmbGFr
eSBjcmFzaGVzIG9uIGEgbG90IG9mIGVkaXRpbmcgdGVzdHMgKFJlcXVlc3RlZCBieQorICAgICAg
ICBybml3YSBvbiAjd2Via2l0KS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvV2ViS2l0
VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvbWFjL1Bvc2VBc0NsYXNzLmg6IFJlbW92ZWQuCisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9tYWMvUG9zZUFzQ2xhc3MubW06IFJlbW92ZWQuCisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXVFI6OlRlc3RDb250
cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemUpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cGxhdGZvcm1EZXN0cm95KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL21hYy9XZWJL
aXRUZXN0UnVubmVyUGFzdGVib2FyZC5oOiBSZW1vdmVkLgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvbWFjL1dlYktpdFRlc3RSdW5uZXJQYXN0ZWJvYXJkLm1tOiBSZW1vdmVkLgorCiAyMDEz
LTA4LTIzICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggaXNz
dWVzIGZvdW5kIGJ5IHRoZSBDbGFuZyBTdGF0aWMgQW5hbHl6ZXIKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggZGM1MzJjZjdlMGRiNGM1NDgyYTBmNjhmN2ZhOWYxZjQ3MTFj
NTc2MS4uYWM2MDg5MzZkN2FjZGFjNmIzNGY1NzVlMGI1OGUwOWUwMzBmNDRkMiAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVy
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg2LDggKzg2LDYgQEAKIAkJQkNEQTJCOUEx
MTkxMDUxRjAwQzNCQzQ3IC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDREEyQjk5MTE5MTA1MUYwMEMz
QkM0NyAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi87IH07CiAJCUMwQ0U3MjBCMTI0N0M5
MzMwMEJDMEVDNCAvKiBUZXN0UnVubmVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzBDRTcyMEExMjQ3QzkzMzAwQkMwRUM0IC8qIFRlc3RSdW5u
ZXJNYWMubW0gKi87IH07CiAJCUUxQkE2NzFFMTc0MkRBNkEwMEMyMDI1MSAvKiBDYXJib24uZnJh
bWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTFCQTY3MUQxNzQyREE1QTAwQzIwMjUxIC8qIENhcmJvbi5mcmFtZXdvcmsgKi87IH07Ci0JCUUx
QzY0MkMzMTdDQkNDNzMwMEQ2NkEzQyAvKiBQb3NlQXNDbGFzcy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQzY0MkMxMTdDQkNDNzMwMEQ2NkEzQyAv
KiBQb3NlQXNDbGFzcy5tbSAqLzsgfTsKLQkJRTFDNjQyQzYxN0NCQ0Q0QzAwRDY2QTNDIC8qIFdl
YktpdFRlc3RSdW5uZXJQYXN0ZWJvYXJkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTFDNjQyQzQxN0NCQ0Q0QzAwRDY2QTNDIC8qIFdlYktpdFRlc3RS
dW5uZXJQYXN0ZWJvYXJkLm1tICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICov
CiAKIC8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0yMjIsMTAg
KzIyMCw2IEBACiAJCUJDREEyQjk5MTE5MTA1MUYwMEMzQkM0NyAvKiBKYXZhU2NyaXB0Q29yZS5m
cmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB3cmFwcGVyLmZyYW1ld29yazsgcGF0aCA9IEphdmFTY3JpcHRDb3JlLmZyYW1ld29yazsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJQzBDRTcyMEExMjQ3QzkzMzAwQkMw
RUM0IC8qIFRlc3RSdW5uZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IG5hbWUgPSBUZXN0UnVubmVyTWFjLm1tOyBwYXRoID0gbWFjL1Rlc3RSdW5uZXJNYWMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQkE2NzFEMTc0MkRBNUEwMEMyMDI1MSAvKiBD
YXJib24uZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBDYXJib24uZnJhbWV3b3JrOyBwYXRo
ID0gU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrOyBzb3VyY2VUcmVl
ID0gU0RLUk9PVDsgfTsKLQkJRTFDNjQyQzExN0NCQ0M3MzAwRDY2QTNDIC8qIFBvc2VBc0NsYXNz
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUG9zZUFzQ2xhc3Mu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUxQzY0MkMyMTdDQkNDNzMwMEQ2NkEz
QyAvKiBQb3NlQXNDbGFzcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb3Nl
QXNDbGFzcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMUM2NDJDNDE3Q0JDRDRD
MDBENjZBM0MgLyogV2ViS2l0VGVzdFJ1bm5lclBhc3RlYm9hcmQubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZC5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTFDNjQyQzUxN0NCQ0Q0QzAwRDY2QTNDIC8q
IFdlYktpdFRlc3RSdW5uZXJQYXN0ZWJvYXJkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYktpdFRlc3RSdW5uZXJQYXN0ZWJvYXJkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBC
WEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTQyMiwxMSArNDE2LDcgQEAKIAkJ
CQk1NjcwQjgyNzEzODZGQ0E1MDAyRUIzNTUgLyogRXZlbnRTZW5kZXJQcm94eS5tbSAqLywKIAkJ
CQlCQzc5MzNGRjExOEY3Qzg0MDA1RUE4RTIgLyogbWFpbi5tbSAqLywKIAkJCQlCQzc5MzRFNzEx
OTA2ODQ2MDA1RUE4RTIgLyogUGxhdGZvcm1XZWJWaWV3TWFjLm1tICovLAotCQkJCUUxQzY0MkMx
MTdDQkNDNzMwMEQ2NkEzQyAvKiBQb3NlQXNDbGFzcy5tbSAqLywKLQkJCQlFMUM2NDJDMjE3Q0JD
QzczMDBENjZBM0MgLyogUG9zZUFzQ2xhc3MuaCAqLywKIAkJCQlCQzhDNzk1QjExRDI3ODVEMDA0
NTM1QTEgLyogVGVzdENvbnRyb2xsZXJNYWMubW0gKi8sCi0JCQkJRTFDNjQyQzQxN0NCQ0Q0QzAw
RDY2QTNDIC8qIFdlYktpdFRlc3RSdW5uZXJQYXN0ZWJvYXJkLm1tICovLAotCQkJCUUxQzY0MkM1
MTdDQkNENEMwMEQ2NkEzQyAvKiBXZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZC5oICovLAogCQkJ
KTsKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtNjEyLDEy
ICs2MDIsMTAgQEAKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9
ICgKIAkJCQk1MzIyRkI0MzEzRkRBMENEMDA0MUFCQ0MgLyogQ3ljbGljUmVkdW5kYW5jeUNoZWNr
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUUxQzY0MkMzMTdDQkNDNzMwMEQ2NkEzQyAvKiBQb3Nl
QXNDbGFzcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTU2NzBCODI4MTM4NkZDQTUwMDJFQjM1NSAv
KiBFdmVudFNlbmRlclByb3h5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjZENzU4RTcxNjBCRUNE
RDAwMjY4NDcyIC8qIEdlb2xvY2F0aW9uUHJvdmlkZXJNb2NrLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDNzkzNDAwMTE4RjdDODQwMDVFQThFMiAvKiBtYWluLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTMyMkZCNDYxM0ZEQTBFQTAwNDFBQkNDIC8qIFBpeGVsRHVtcFN1cHBvcnQuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJRTFDNjQyQzYxN0NCQ0Q0QzAwRDY2QTNDIC8qIFdlYktpdFRlc3RSdW5u
ZXJQYXN0ZWJvYXJkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM3OTM0RTgxMTkwNjg0NjAwNUVB
OEUyIC8qIFBsYXRmb3JtV2ViVmlld01hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDNzkzNDMx
MTE4RjdGMTkwMDVFQThFMiAvKiBUZXN0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQzhDNzk1QzExRDI3ODVEMDA0NTM1QTEgLyogVGVzdENvbnRyb2xsZXJNYWMubW0gaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1Bvc2VBc0Ns
YXNzLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9Qb3NlQXNDbGFzcy5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDI4YzYxZGEyODY2MDM5ZGVjN2E2NDA3NWMwMTFiNjBj
YmRhMmI4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1Bvc2VBc0NsYXNzLmgKKysrIC9kZXYvbnVsbApAQCAt
MSwzMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQb3NlQXNDbGFzc19oCi0jZGVmaW5l
IFBvc2VBc0NsYXNzX2gKLQotdm9pZCBwb3NlQXNDbGFzcyhjb25zdCBjaGFyKiBpbXBvc3Rlciwg
Y29uc3QgY2hhciogb3JpZ2luYWwpOwotCi0jZW5kaWYgLy8gUG9zZUFzQ2xhc3NfaApkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvUG9zZUFzQ2xhc3MubW0gYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL21hYy9Qb3NlQXNDbGFzcy5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNDkwZGQwYzE5ODRhNWI4ZTZmNmYyNGE3OTcwOGNmYjg4MjUxZDBlZi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL21hYy9Qb3NlQXNDbGFzcy5tbQorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiUG9zZUFzQ2xhc3Mu
aCIKLQotI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+Ci0jaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5o
PgotCi1zdGF0aWMgdm9pZCBzd2l6emxlQWxsTWV0aG9kcyhDbGFzcyBpbXBvc3RlciwgQ2xhc3Mg
b3JpZ2luYWwpCi17Ci0gICAgdW5zaWduZWQgaW1wb3N0ZXJNZXRob2RDb3VudDsKLSAgICBNZXRo
b2QqIGltcG9zdGVyTWV0aG9kcyA9IGNsYXNzX2NvcHlNZXRob2RMaXN0KGltcG9zdGVyLCAmaW1w
b3N0ZXJNZXRob2RDb3VudCk7Ci0KLSAgICB1bnNpZ25lZCBvcmlnaW5hbE1ldGhvZENvdW50Owot
ICAgIE1ldGhvZCogb3JpZ2luYWxNZXRob2RzID0gY2xhc3NfY29weU1ldGhvZExpc3Qob3JpZ2lu
YWwsICZvcmlnaW5hbE1ldGhvZENvdW50KTsKLQotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBpbXBvc3Rlck1ldGhvZENvdW50OyBpKyspIHsKLSAgICAgICAgU0VMIGltcG9zdGVyTWV0aG9k
TmFtZSA9IG1ldGhvZF9nZXROYW1lKGltcG9zdGVyTWV0aG9kc1tpXSk7Ci0KLSAgICAgICAgLy8g
QXR0ZW1wdCB0byBhZGQgdGhlIG1ldGhvZCB0byB0aGUgb3JpZ2luYWwgY2xhc3MuICBJZiBpdCBm
YWlscywgdGhlIG1ldGhvZCBhbHJlYWR5IGV4aXN0cyBhbmQgd2Ugc2hvdWxkCi0gICAgICAgIC8v
IGluc3RlYWQgZXhjaGFuZ2UgdGhlIGltcGxlbWVudGF0aW9ucy4KLSAgICAgICAgaWYgKGNsYXNz
X2FkZE1ldGhvZChvcmlnaW5hbCwgaW1wb3N0ZXJNZXRob2ROYW1lLCBtZXRob2RfZ2V0SW1wbGVt
ZW50YXRpb24oaW1wb3N0ZXJNZXRob2RzW2ldKSwgbWV0aG9kX2dldFR5cGVFbmNvZGluZyhpbXBv
c3Rlck1ldGhvZHNbaV0pKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIHVuc2ln
bmVkIGogPSAwOwotICAgICAgICBmb3IgKDsgaiA8IG9yaWdpbmFsTWV0aG9kQ291bnQ7IGorKykg
ewotICAgICAgICAgICAgU0VMIG9yaWdpbmFsTWV0aG9kTmFtZSA9IG1ldGhvZF9nZXROYW1lKG9y
aWdpbmFsTWV0aG9kc1tqXSk7Ci0gICAgICAgICAgICBpZiAoc2VsX2lzRXF1YWwoaW1wb3N0ZXJN
ZXRob2ROYW1lLCBvcmlnaW5hbE1ldGhvZE5hbWUpKQotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICB9Ci0KLSAgICAgICAgLy8gSWYgY2xhc3NfYWRkTWV0aG9kIGZhaWxlZCBhYm92ZSB0
aGVuIHRoZSBtZXRob2QgbXVzdCBleGlzdCBvbiB0aGUgb3JpZ2luYWwgY2xhc3MuCi0gICAgICAg
IEFTU0VSVChqIDwgb3JpZ2luYWxNZXRob2RDb3VudCk7Ci0gICAgICAgIG1ldGhvZF9leGNoYW5n
ZUltcGxlbWVudGF0aW9ucyhpbXBvc3Rlck1ldGhvZHNbaV0sIG9yaWdpbmFsTWV0aG9kc1tqXSk7
Ci0gICAgfQotCi0gICAgZnJlZShpbXBvc3Rlck1ldGhvZHMpOwotICAgIGZyZWUob3JpZ2luYWxN
ZXRob2RzKTsKLX0KLQotdm9pZCBwb3NlQXNDbGFzcyhjb25zdCBjaGFyKiBpbXBvc3RlciwgY29u
c3QgY2hhciogb3JpZ2luYWwpCi17Ci0gICAgQ2xhc3MgaW1wb3N0ZXJDbGFzcyA9IG9iamNfZ2V0
Q2xhc3MoaW1wb3N0ZXIpOwotICAgIENsYXNzIG9yaWdpbmFsQ2xhc3MgPSBvYmpjX2dldENsYXNz
KG9yaWdpbmFsKTsKLQotICAgIC8vIFN3aXp6bGUgaW5zdGFuY2UgbWV0aG9kcwotICAgIHN3aXp6
bGVBbGxNZXRob2RzKGltcG9zdGVyQ2xhc3MsIG9yaWdpbmFsQ2xhc3MpOwotICAgIC8vIGFuZCB0
aGVuIGNsYXNzIG1ldGhvZHMKLSAgICBzd2l6emxlQWxsTWV0aG9kcyhvYmplY3RfZ2V0Q2xhc3Mo
aW1wb3N0ZXJDbGFzcyksIG9iamVjdF9nZXRDbGFzcyhvcmlnaW5hbENsYXNzKSk7Ci19CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbSBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tCmluZGV4IDFi
NzdiNjVjODI1NmI0MzkwMTA1ZWYzZjY3NzAzYzI5MTgwMTBjZDUuLmZiYWUyNTYxN2RiOTk1NDll
ODI4YTQ0ZGRkNjVjODU3NjVkZGI5ZjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
bWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tCkBAIC0yNyw4ICsyNyw2IEBACiAjaW1wb3J0ICJUZXN0
Q29udHJvbGxlci5oIgogCiAjaW1wb3J0ICJQbGF0Zm9ybVdlYlZpZXcuaCIKLSNpbXBvcnQgIlBv
c2VBc0NsYXNzLmgiCi0jaW1wb3J0ICJXZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZC5oIgogI2lt
cG9ydCA8V2ViS2l0Mi9XS1N0cmluZ0NGLmg+CiAjaW1wb3J0IDxtYWNoLW8vZHlsZC5oPiAKIApA
QCAtNDAsMTIgKzM4LDEwIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6Om5vdGlmeURvbmUoKQogCiB2
b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoKQogewotICAgIHBvc2VBc0Ns
YXNzKCJXZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZCIsICJOU1Bhc3RlYm9hcmQiKTsKIH0KIAog
dm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1EZXN0cm95KCkKIHsKLSAgICBbV2ViS2l0VGVz
dFJ1bm5lclBhc3RlYm9hcmQgcmVsZWFzZUxvY2FsUGFzdGVib2FyZHNdOwogfQogCiB2b2lkIFRl
c3RDb250cm9sbGVyOjppbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVQYXRoKCkKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1dlYktpdFRlc3RSdW5uZXJQYXN0ZWJvYXJkLmgg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9XZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZC5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiY2JiNGIxMWRmOGZjNGIwNWY2ODIwOGE2
M2RiZTYzOTI1ODA5ZDg3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1dlYktpdFRlc3RSdW5uZXJQYXN0ZWJv
YXJkLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDEzIEFwcGxlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZu
ZGVmIFdlYktpdFRlc3RSdW5uZXJQYXN0ZWJvYXJkX2gKLSNkZWZpbmUgV2ViS2l0VGVzdFJ1bm5l
clBhc3RlYm9hcmRfaAotCi0jaW1wb3J0IDxBcHBLaXQvQXBwS2l0Lmg+Ci0KLUBpbnRlcmZhY2Ug
V2ViS2l0VGVzdFJ1bm5lclBhc3RlYm9hcmQgOiBOU1Bhc3RlYm9hcmQKLSsgKHZvaWQpcmVsZWFz
ZUxvY2FsUGFzdGVib2FyZHM7Ci1AZW5kCi0KLSNlbmRpZiAvLyBXZWJLaXRUZXN0UnVubmVyUGFz
dGVib2FyZF9oCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9XZWJLaXRU
ZXN0UnVubmVyUGFzdGVib2FyZC5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1dlYktp
dFRlc3RSdW5uZXJQYXN0ZWJvYXJkLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3
Y2QzZmRiMTdiOTg5MTU2NzQxNmY0Y2FiMTY5NDBkNTA4YjkwZDY4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFj
L1dlYktpdFRlc3RSdW5uZXJQYXN0ZWJvYXJkLm1tCisrKyAvZGV2L251bGwKQEAgLTEsMTk2ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMTMgQXBwbGUsIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJXZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZC5oIgotCi1AaW50ZXJmYWNlIExvY2Fs
UGFzdGVib2FyZCA6IE5TUGFzdGVib2FyZAotewotICAgIE5TTXV0YWJsZUFycmF5ICp0eXBlc0Fy
cmF5OwotICAgIE5TTXV0YWJsZVNldCAqdHlwZXNTZXQ7Ci0gICAgTlNNdXRhYmxlRGljdGlvbmFy
eSAqZGF0YUJ5VHlwZTsKLSAgICBOU0ludGVnZXIgY2hhbmdlQ291bnQ7Ci0gICAgTlNTdHJpbmcg
KnBhc3RlYm9hcmROYW1lOwotfQotCi0tKGlkKWluaXRXaXRoTmFtZTooTlNTdHJpbmcgKiluYW1l
OwotQGVuZAotCi1zdGF0aWMgTlNNdXRhYmxlRGljdGlvbmFyeSAqbG9jYWxQYXN0ZWJvYXJkczsK
LQotQGltcGxlbWVudGF0aW9uIFdlYktpdFRlc3RSdW5uZXJQYXN0ZWJvYXJkCi0KLS8vIFJldHVy
biBhIGxvY2FsIHBhc3RlYm9hcmQgc28gd2UgZG9uJ3QgZGlzdHVyYiB0aGUgcmVhbCBwYXN0ZWJv
YXJkcyB3aGVuIHJ1bm5pbmcgdGVzdHMuCi0rIChOU1Bhc3RlYm9hcmQgKilfcGFzdGVib2FyZFdp
dGhOYW1lOihOU1N0cmluZyAqKW5hbWUKLXsKLSAgICBzdGF0aWMgaW50IG51bWJlciA9IDA7Ci0g
ICAgaWYgKCFuYW1lKQotICAgICAgICBuYW1lID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6
QCJMb2NhbFBhc3RlYm9hcmQlZCIsICsrbnVtYmVyXTsKLSAgICBpZiAoIWxvY2FsUGFzdGVib2Fy
ZHMpCi0gICAgICAgIGxvY2FsUGFzdGVib2FyZHMgPSBbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxs
b2NdIGluaXRdOwotICAgIExvY2FsUGFzdGVib2FyZCAqcGFzdGVib2FyZCA9IFtsb2NhbFBhc3Rl
Ym9hcmRzIG9iamVjdEZvcktleTpuYW1lXTsKLSAgICBpZiAocGFzdGVib2FyZCkKLSAgICAgICAg
cmV0dXJuIHBhc3RlYm9hcmQ7Ci0gICAgcGFzdGVib2FyZCA9IFtbTG9jYWxQYXN0ZWJvYXJkIGFs
bG9jXSBpbml0V2l0aE5hbWU6bmFtZV07Ci0gICAgW2xvY2FsUGFzdGVib2FyZHMgc2V0T2JqZWN0
OnBhc3RlYm9hcmQgZm9yS2V5Om5hbWVdOwotICAgIFtwYXN0ZWJvYXJkIHJlbGVhc2VdOwotICAg
IHJldHVybiBwYXN0ZWJvYXJkOwotfQotCi0rICh2b2lkKXJlbGVhc2VMb2NhbFBhc3RlYm9hcmRz
Ci17Ci0gICAgW2xvY2FsUGFzdGVib2FyZHMgcmVsZWFzZV07Ci0gICAgbG9jYWxQYXN0ZWJvYXJk
cyA9IG5pbDsKLX0KLQotQGVuZAotCi1AaW1wbGVtZW50YXRpb24gTG9jYWxQYXN0ZWJvYXJkCi0K
LSsgKGlkKWFsbG9jCi17Ci0gICAgcmV0dXJuIE5TQWxsb2NhdGVPYmplY3Qoc2VsZiwgMCwgMCk7
Ci19Ci0KLS0gKGlkKWluaXRXaXRoTmFtZTooTlNTdHJpbmcgKiluYW1lCi17Ci0gICAgdHlwZXNB
cnJheSA9IFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdOwotICAgIHR5cGVzU2V0ID0gW1tO
U011dGFibGVTZXQgYWxsb2NdIGluaXRdOwotICAgIGRhdGFCeVR5cGUgPSBbW05TTXV0YWJsZURp
Y3Rpb25hcnkgYWxsb2NdIGluaXRdOwotICAgIHBhc3RlYm9hcmROYW1lID0gW25hbWUgY29weV07
Ci0gICAgcmV0dXJuIHNlbGY7Ci19Ci0KLS0gKHZvaWQpZGVhbGxvYwotewotICAgIFt0eXBlc0Fy
cmF5IHJlbGVhc2VdOwotICAgIFt0eXBlc1NldCByZWxlYXNlXTsKLSAgICBbZGF0YUJ5VHlwZSBy
ZWxlYXNlXTsKLSAgICBbcGFzdGVib2FyZE5hbWUgcmVsZWFzZV07Ci0gICAgW3N1cGVyIGRlYWxs
b2NdOwotfQotCi0tIChOU1N0cmluZyAqKW5hbWUKLXsKLSAgICByZXR1cm4gcGFzdGVib2FyZE5h
bWU7Ci19Ci0KLS0gKHZvaWQpcmVsZWFzZUdsb2JhbGx5Ci17Ci19Ci0KLS0gKE5TSW50ZWdlcilk
ZWNsYXJlVHlwZXM6KE5TQXJyYXkgKiluZXdUeXBlcyBvd25lcjooaWQpbmV3T3duZXIKLXsKLSAg
ICBbdHlwZXNBcnJheSByZW1vdmVBbGxPYmplY3RzXTsKLSAgICBbdHlwZXNTZXQgcmVtb3ZlQWxs
T2JqZWN0c107Ci0gICAgW2RhdGFCeVR5cGUgcmVtb3ZlQWxsT2JqZWN0c107Ci0gICAgcmV0dXJu
IFtzZWxmIGFkZFR5cGVzOm5ld1R5cGVzIG93bmVyOm5ld093bmVyXTsKLX0KLQotLSAoTlNJbnRl
Z2VyKWFkZFR5cGVzOihOU0FycmF5ICopbmV3VHlwZXMgb3duZXI6KGlkKW5ld093bmVyCi17Ci0g
ICAgdW5zaWduZWQgY291bnQgPSBbbmV3VHlwZXMgY291bnRdOwotICAgIHVuc2lnbmVkIGk7Ci0g
ICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKLSAgICAgICAgTlNTdHJpbmcgKnR5cGUg
PSBbbmV3VHlwZXMgb2JqZWN0QXRJbmRleDppXTsKLSAgICAgICAgTlNTdHJpbmcgKnNldFR5cGUg
PSBbdHlwZXNTZXQgbWVtYmVyOnR5cGVdOwotICAgICAgICBpZiAoIXNldFR5cGUpIHsKLSAgICAg
ICAgICAgIHNldFR5cGUgPSBbdHlwZSBjb3B5XTsKLSAgICAgICAgICAgIFt0eXBlc0FycmF5IGFk
ZE9iamVjdDpzZXRUeXBlXTsKLSAgICAgICAgICAgIFt0eXBlc1NldCBhZGRPYmplY3Q6c2V0VHlw
ZV07Ci0gICAgICAgICAgICBbc2V0VHlwZSByZWxlYXNlXTsKLSAgICAgICAgfQotICAgICAgICBp
ZiAobmV3T3duZXIgJiYgW25ld093bmVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IocGFz
dGVib2FyZDpwcm92aWRlRGF0YUZvclR5cGU6KV0pCi0gICAgICAgICAgICBbbmV3T3duZXIgcGFz
dGVib2FyZDpzZWxmIHByb3ZpZGVEYXRhRm9yVHlwZTpzZXRUeXBlXTsKLSAgICB9Ci0gICAgcmV0
dXJuICsrY2hhbmdlQ291bnQ7Ci19Ci0KLS0gKE5TSW50ZWdlciljaGFuZ2VDb3VudAotewotICAg
IHJldHVybiBjaGFuZ2VDb3VudDsKLX0KLQotLSAoTlNBcnJheSAqKXR5cGVzCi17Ci0gICAgcmV0
dXJuIHR5cGVzQXJyYXk7Ci19Ci0KLS0gKE5TU3RyaW5nICopYXZhaWxhYmxlVHlwZUZyb21BcnJh
eTooTlNBcnJheSAqKXR5cGVzCi17Ci0gICAgdW5zaWduZWQgY291bnQgPSBbdHlwZXMgY291bnRd
OwotICAgIHVuc2lnbmVkIGk7Ci0gICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKLSAg
ICAgICAgTlNTdHJpbmcgKnR5cGUgPSBbdHlwZXMgb2JqZWN0QXRJbmRleDppXTsKLSAgICAgICAg
TlNTdHJpbmcgKnNldFR5cGUgPSBbdHlwZXNTZXQgbWVtYmVyOnR5cGVdOwotICAgICAgICBpZiAo
c2V0VHlwZSkKLSAgICAgICAgICAgIHJldHVybiBzZXRUeXBlOwotICAgIH0KLSAgICByZXR1cm4g
bmlsOwotfQotCi0tIChCT09MKXNldERhdGE6KE5TRGF0YSAqKWRhdGEgZm9yVHlwZTooTlNTdHJp
bmcgKilkYXRhVHlwZQotewotICAgIGlmICghZGF0YSkKLSAgICAgICAgZGF0YSA9IFtOU0RhdGEg
ZGF0YV07Ci0gICAgaWYgKCFbdHlwZXNTZXQgY29udGFpbnNPYmplY3Q6ZGF0YVR5cGVdKQotICAg
ICAgICByZXR1cm4gTk87Ci0gICAgW2RhdGFCeVR5cGUgc2V0T2JqZWN0OmRhdGEgZm9yS2V5OmRh
dGFUeXBlXTsKLSAgICArK2NoYW5nZUNvdW50OwotICAgIHJldHVybiBZRVM7Ci19Ci0KLS0gKE5T
RGF0YSAqKWRhdGFGb3JUeXBlOihOU1N0cmluZyAqKWRhdGFUeXBlCi17Ci0gICAgcmV0dXJuIFtk
YXRhQnlUeXBlIG9iamVjdEZvcktleTpkYXRhVHlwZV07Ci19Ci0KLS0gKEJPT0wpc2V0UHJvcGVy
dHlMaXN0OihpZClwcm9wZXJ0eUxpc3QgZm9yVHlwZTooTlNTdHJpbmcgKilkYXRhVHlwZQotewot
ICAgIENGRGF0YVJlZiBkYXRhID0gMDsKLSAgICBpZiAocHJvcGVydHlMaXN0KQotICAgICAgICBk
YXRhID0gQ0ZQcm9wZXJ0eUxpc3RDcmVhdGVYTUxEYXRhKDAsIHByb3BlcnR5TGlzdCk7Ci0gICAg
Qk9PTCByZXN1bHQgPSBbc2VsZiBzZXREYXRhOihOU0RhdGEgKilkYXRhIGZvclR5cGU6ZGF0YVR5
cGVdOwotICAgIGlmIChkYXRhKQotICAgICAgICBDRlJlbGVhc2UoZGF0YSk7Ci0gICAgcmV0dXJu
IHJlc3VsdDsKLX0KLQotLSAoQk9PTClzZXRTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nIGZvclR5
cGU6KE5TU3RyaW5nICopZGF0YVR5cGUKLXsKLSAgICBDRkRhdGFSZWYgZGF0YSA9IDA7Ci0gICAg
aWYgKHN0cmluZykgewotICAgICAgICBpZiAoIVtzdHJpbmcgbGVuZ3RoXSkKLSAgICAgICAgICAg
IGRhdGEgPSBDRkRhdGFDcmVhdGUoMCwgMCwgMCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAg
IGRhdGEgPSBDRlN0cmluZ0NyZWF0ZUV4dGVybmFsUmVwcmVzZW50YXRpb24oMCwgKENGU3RyaW5n
UmVmKXN0cmluZywga0NGU3RyaW5nRW5jb2RpbmdVVEY4LCAwKTsKLSAgICB9Ci0gICAgQk9PTCBy
ZXN1bHQgPSBbc2VsZiBzZXREYXRhOihOU0RhdGEgKilkYXRhIGZvclR5cGU6ZGF0YVR5cGVdOwot
ICAgIGlmIChkYXRhKQotICAgICAgICBDRlJlbGVhc2UoZGF0YSk7Ci0gICAgcmV0dXJuIHJlc3Vs
dDsKLX0KLQotQGVuZAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>