<?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>133441</bug_id>
          
          <creation_ts>2014-06-01 19:35:38 -0700</creation_ts>
          <short_desc>Make pseudo element matching for style resolution more JIT friendly</short_desc>
          <delta_ts>2014-06-02 15:07:58 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1012885</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-06-01 19:35:38 -0700</bug_when>
    <thetext>Make pseudo element matching for style resolution more JIT friendly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012886</commentid>
    <comment_count>1</comment_count>
      <attachid>232361</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-06-01 19:53:20 -0700</bug_when>
    <thetext>Created attachment 232361
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013016</commentid>
    <comment_count>2</comment_count>
      <attachid>232361</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-06-02 15:07:53 -0700</bug_when>
    <thetext>Comment on attachment 232361
Patch

Clearing flags on attachment: 232361

Committed r169547: &lt;http://trac.webkit.org/changeset/169547&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1013017</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-06-02 15:07:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232361</attachid>
            <date>2014-06-01 19:53:20 -0700</date>
            <delta_ts>2014-06-02 15:07:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133441-20140601195255.patch</filename>
            <type>text/plain</type>
            <size>19996</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDMxNzEyOTVlYjAwZDE2
OGFmMDdiMWQyZmY4Mzc2NWQwOWQ0MmM5OS4uYWM3MmM4OGU4ZWQzOWY1MTA1MWRkN2YyN2Q4ZGFh
MTE3NjQ3OTZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDE0LTA2LTAxICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIHBzZXVk
byBlbGVtZW50IG1hdGNoaW5nIGZvciBzdHlsZSByZXNvbHV0aW9uIG1vcmUgSklUIGZyaWVuZGx5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM0NDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaGFyaW5n
IHBzZXVkbyBlbGVtZW50cyBpcyBhIGNvbXBsaWNhdGVkIG1lc3Mgc2hhcmVkIGJldHdlZW4gdGhl
IFNlbGVjdG9yQ2hlY2tlcgorICAgICAgICBhbmQgdGhlIFJ1bGVDb2xsZWN0b3IuCisKKyAgICAg
ICAgRm9yIGNvbXBpbGluZyBwc2V1ZG8gZWxlbWVudCBtYXRjaGluZywgaXQgd291bGQgYmUgYmVz
dCBpZiBhbGwgdGhlIGNvbXBsZXhpdHkgY291bGQKKyAgICAgICAgYmUgbW92ZWQgdG8gY29tcGls
ZSB0aW1lIGluc3RlYWQgb2YgcnVudGltZS4gSXQgaXMgYWxzbyBwcmVmZXJhYmxlIHRvIGtlZXAg
dGhlIGNvbXBpbGVyCisgICAgICAgIGluZGVwZW5kYW50IG9mIHRoZSBSdWxlQ29sbGVjdG9yIGlt
cGxlbWVudGF0aW9uJ3MgZGV0YWlsLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaXMgYSBmaXJzdCBz
dGVwIHRvd2FyZCB0aGF0IGdvYWwuIFRoZSBtYWluIG9iamVjdGl2ZSBoZXJlIGlzIHRvIG1ha2UK
KyAgICAgICAgImR5bmFtaWNQc2V1ZG8iIGNvbXBsZXRlbHkgaW50ZXJuYWwgdG8gdGhlIFNlbGVj
dG9yQ2hlY2tlci4KKyAgICAgICAgVGhpcyBpcyBtb3N0bHkgYSBtZWNoYW5pY2FsIGNoYW5nZSwg
aXQgaXMgbGlrZWx5IFBzZXVkb0VsZW1lbnQgbWF0Y2hpbmcgY291bGQgYmUgc2ltcGxpZmllZAor
ICAgICAgICBmdXJ0aGVyIGJ1dCB0aGF0IGlzIG5vdCBhdHRlbXB0ZWQgaGVyZS4KKworICAgICAg
ICBUZXN0OiBmYXN0L2Nzcy9zdHlsZS1zaGFyaW5nLWVtcHR5LXJ1bGUtbW9kaWZpY2F0aW9uLmh0
bWwKKworICAgICAgICAqIGNzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50UnVsZUNvbGxlY3Rvcjo6cnVsZU1hdGNoZXMpOgorICAgICAgICBUaGUg
Y29uZGl0aW9uIHJlZ2FyZGluZyBwc2V1ZG8gZWxlbWVudCBtYXRjaGluZyBoYXMgYmVlbiBtb3Zl
ZCBpbnRvIFNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2goKS4KKworICAgICAgICBUaGlzIGNyZWF0ZXMg
YW4gZXh0cmEgY29zdCBmb3IgcXVlcnlTZWxlY3RvcigpLCBidXQgdGhhdCBzaG91bGQgYmUgZmlu
ZSBzaW5jZSB0aGUgdmFzdCBtYWpvcml0eQorICAgICAgICBvZiBzZWxlY3RvcnMgYXJlIEpJVCBj
b21waWxlZCBhbmQgbmV2ZXIgdXNlIFNlbGVjdG9yQ2hlY2tlciBpbiB0aGUgZmlyc3QgcGxhY2Uu
CisKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hp
bmdSdWxlc0Zvckxpc3QpOgorICAgICAgICBUaGUgbG9vcCBpcyBjaGFuZ2VkIHN1Y2ggdGhhdCB0
aGUgdHJlZSBtYXJraW5nIChTdHlsZTo6c2V0SGFzUHNldWRvU3R5bGUpIGNvdWxkIGJlIG1vdmVk
CisgICAgICAgIHRvIFNlbGVjdG9yQ2hlY2tlci4KKworICAgICAgICBUaGUgY29uZGl0aW9ucyBh
Ym91dCB0aGUgc2VjdXJpdHkgb3JpZ2luIGZvciBnZXRNYXRjaGVkQ1NTUnVsZXMoKSBhbmQgdGhl
IGVtcHR5IHN0eWxlIHJ1bGVzCisgICAgICAgIGFyZSBtb3ZlZCBwcmlvciB0byB0aGUgY2FsbCB0
byBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6cnVsZU1hdGNoZXMoKS4gVGhpcyBlbnN1cmUgd2Uga2Vl
cCB0aGUgc2FtZQorICAgICAgICBiZWhhdmlvciBvZiBub3QgYWRkaW5nIHRoZSBwc2V1ZG8gc3R5
bGUgZm9yIGVtcHR5IHJ1bGVzICh0aGlzIGNvdWxkIGFsc28gaGVscCB3aXRoIHRyZWUgbWFya2lu
ZworICAgICAgICBpbiBnZW5lcmFsIGJ1dCBlbXB0eSBydWxlcyBhcmUgcHJvYmFibHkgdW5jb21t
b24pLgorCisgICAgICAgIFRoZXJlIGlzIG9uZSBiZWhhdmlvciBjaGFuZ2UgZnJvbSBtYWtpbmcg
dGhpcyBsb29wIHNpbXBsZXI6IHRoZSBTaGFyaW5nUnVsZXMgYW5kIFN0eWxlSW52YWxpZGF0aW9u
CisgICAgICAgIG1vZGVzIG5vdyB1cGRhdGUgdGhlaXIgcnVsZVJhbmdlLiBJdCBpcyB1c2VsZXNz
IGJ1dCBpdCBpcyBzaW1wbGVyLgorCisgICAgICAgICogY3NzL0VsZW1lbnRSdWxlQ29sbGVjdG9y
Lmg6CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTZWxlY3RvckNoZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHkpOgorICAgICAgICBUaGUgdHJlZSBt
YXJraW5nIGhhcyBiZWVuIG1vdmVkIGhlcmUuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVj
a2VyLmg6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6Om1hdGNoKToKKyAgICAg
ICAgVGhlIHBzZXVkbyBlbGVtZW50IG1hdGNoaW5nIGhhcyBiZWVuIG1vdmVkIGhlcmUuCisKKyAg
ICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Y2hlY2tSZWdp
b25TZWxlY3Rvcik6CisgICAgICAgICogZG9tL1NlbGVjdG9yUXVlcnkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2VsZWN0b3JEYXRhTGlzdDo6c2VsZWN0b3JNYXRjaGVzKToKKwogMjAxNC0wNS0z
MSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ1NT
IEpJVCBjbGVhbnVwOiBtb3ZlIHR3byB1dGlsaXR5IGZ1bmN0aW9ucyBvdXQgb2YgdGhlIHByb3Bl
cnRpZXMtbWF0Y2hlciBzZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRWxl
bWVudFJ1bGVDb2xsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29s
bGVjdG9yLmNwcAppbmRleCAyMTkyMmM5MzcxN2Y2MDMwY2M5ODc5M2FjOTVlMzBmY2NjYjU5NTM4
Li5iOGNmZWUxODJjZWVmMDQ2MjEwYWMwZWMyZjczYjdkOTNmYWFkMGM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTI3MSw3ICsyNzEsNyBAQCB2
b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjptYXRjaFVBUnVsZXMoUnVsZVNldCogcnVsZXMpCiAg
ICAgc29ydEFuZFRyYW5zZmVyTWF0Y2hlZFJ1bGVzKCk7CiB9CiAKLWlubGluZSBib29sIEVsZW1l
bnRSdWxlQ29sbGVjdG9yOjpydWxlTWF0Y2hlcyhjb25zdCBSdWxlRGF0YSYgcnVsZURhdGEsIFBz
ZXVkb0lkJiBkeW5hbWljUHNldWRvKQoraW5saW5lIGJvb2wgRWxlbWVudFJ1bGVDb2xsZWN0b3I6
OnJ1bGVNYXRjaGVzKGNvbnN0IFJ1bGVEYXRhJiBydWxlRGF0YSkKIHsKICAgICBib29sIGZhc3RD
aGVja2FibGVTZWxlY3RvciA9IHJ1bGVEYXRhLmhhc0Zhc3RDaGVja2FibGVTZWxlY3RvcigpOwog
ICAgIGlmIChmYXN0Q2hlY2thYmxlU2VsZWN0b3IpIHsKQEAgLTMzMiwxMSArMzMyLDcgQEAgaW5s
aW5lIGJvb2wgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OnJ1bGVNYXRjaGVzKGNvbnN0IFJ1bGVEYXRh
JiBydWxlRGF0YSwgUHNldWRvSWQKICAgICBjb250ZXh0LnBzZXVkb0lkID0gbV9wc2V1ZG9TdHls
ZVJlcXVlc3QucHNldWRvSWQ7CiAgICAgY29udGV4dC5zY3JvbGxiYXIgPSBtX3BzZXVkb1N0eWxl
UmVxdWVzdC5zY3JvbGxiYXI7CiAgICAgY29udGV4dC5zY3JvbGxiYXJQYXJ0ID0gbV9wc2V1ZG9T
dHlsZVJlcXVlc3Quc2Nyb2xsYmFyUGFydDsKLSAgICBpZiAoIXNlbGVjdG9yQ2hlY2tlci5tYXRj
aChjb250ZXh0LCBkeW5hbWljUHNldWRvKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlm
IChtX3BzZXVkb1N0eWxlUmVxdWVzdC5wc2V1ZG9JZCAhPSBOT1BTRVVETyAmJiBtX3BzZXVkb1N0
eWxlUmVxdWVzdC5wc2V1ZG9JZCAhPSBkeW5hbWljUHNldWRvKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIHNlbGVjdG9yQ2hlY2tlci5tYXRjaChj
b250ZXh0KTsKIH0KIAogdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6Y29sbGVjdE1hdGNoaW5n
UnVsZXNGb3JMaXN0KGNvbnN0IFZlY3RvcjxSdWxlRGF0YT4qIHJ1bGVzLCBjb25zdCBNYXRjaFJl
cXVlc3QmIG1hdGNoUmVxdWVzdCwgU3R5bGVSZXNvbHZlcjo6UnVsZVJhbmdlJiBydWxlUmFuZ2Up
CkBAIC0zNTAsMzggKzM0NiwyNCBAQCB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0
TWF0Y2hpbmdSdWxlc0Zvckxpc3QoY29uc3QgVmVjdG9yPFJ1bGVEYXRhPiogcgogICAgICAgICAg
ICAgY29udGludWU7CiAKICAgICAgICAgU3R5bGVSdWxlKiBydWxlID0gcnVsZURhdGEucnVsZSgp
OwotICAgICAgICBQc2V1ZG9JZCBkeW5hbWljUHNldWRvID0gTk9QU0VVRE87Ci0gICAgICAgIGlm
IChydWxlTWF0Y2hlcyhydWxlRGF0YSwgZHluYW1pY1BzZXVkbykpIHsKLSAgICAgICAgICAgIC8v
IEZvciBTaGFyaW5nUnVsZXMgdGVzdGluZywgYW55IG1hdGNoIGlzIGdvb2QgZW5vdWdoLCB3ZSBk
b24ndCBjYXJlIHdoYXQgaXMgbWF0Y2hlZC4KLSAgICAgICAgICAgIGlmIChtX21vZGUgPT0gU2Vs
ZWN0b3JDaGVja2VyOjpTaGFyaW5nUnVsZXMgfHwgbV9tb2RlID09IFNlbGVjdG9yQ2hlY2tlcjo6
U3R5bGVJbnZhbGlkYXRpb24pIHsKLSAgICAgICAgICAgICAgICBhZGRNYXRjaGVkUnVsZSgmcnVs
ZURhdGEpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICAvLyBJZiB0aGUgcnVsZSBoYXMgbm8gcHJvcGVydGllcyB0byBhcHBseSwgdGhlbiBpZ25v
cmUgaXQgaW4gdGhlIG5vbi1kZWJ1ZyBtb2RlLgotICAgICAgICAgICAgY29uc3QgU3R5bGVQcm9w
ZXJ0aWVzJiBwcm9wZXJ0aWVzID0gcnVsZS0+cHJvcGVydGllcygpOwotICAgICAgICAgICAgaWYg
KHByb3BlcnRpZXMuaXNFbXB0eSgpICYmICFtYXRjaFJlcXVlc3QuaW5jbHVkZUVtcHR5UnVsZXMp
Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAvLyBGSVhNRTogRXhwb3Np
bmcgdGhlIG5vbi1zdGFuZGFyZCBnZXRNYXRjaGVkQ1NTUnVsZXMgQVBJIHRvIHdlYiBpcyB0aGUg
b25seSByZWFzb24gdGhpcyBpcyBuZWVkZWQuCi0gICAgICAgICAgICBpZiAobV9zYW1lT3JpZ2lu
T25seSAmJiAhcnVsZURhdGEuaGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpKQotICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgLy8gSWYgd2UncmUgbWF0Y2hpbmcgbm9ybWFs
IHJ1bGVzLCBzZXQgYSBwc2V1ZG8gYml0IGlmCi0gICAgICAgICAgICAvLyB3ZSByZWFsbHkganVz
dCBtYXRjaGVkIGEgcHNldWRvLWVsZW1lbnQuCi0gICAgICAgICAgICBpZiAoZHluYW1pY1BzZXVk
byAhPSBOT1BTRVVETyAmJiBtX3BzZXVkb1N0eWxlUmVxdWVzdC5wc2V1ZG9JZCA9PSBOT1BTRVVE
TykgewotICAgICAgICAgICAgICAgIGlmIChtX21vZGUgPT0gU2VsZWN0b3JDaGVja2VyOjpDb2xs
ZWN0aW5nUnVsZXMpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAg
ICAgIGlmIChkeW5hbWljUHNldWRvIDwgRklSU1RfSU5URVJOQUxfUFNFVURPSUQgJiYgbV9zdHls
ZSkKLSAgICAgICAgICAgICAgICAgICAgbV9zdHlsZS0+c2V0SGFzUHNldWRvU3R5bGUoZHluYW1p
Y1BzZXVkbyk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIFVwZGF0
ZSBvdXIgZmlyc3QvbGFzdCBydWxlIGluZGljZXMgaW4gdGhlIG1hdGNoZWQgcnVsZXMgYXJyYXku
Ci0gICAgICAgICAgICAgICAgKytydWxlUmFuZ2UubGFzdFJ1bGVJbmRleDsKLSAgICAgICAgICAg
ICAgICBpZiAocnVsZVJhbmdlLmZpcnN0UnVsZUluZGV4ID09IC0xKQotICAgICAgICAgICAgICAg
ICAgICBydWxlUmFuZ2UuZmlyc3RSdWxlSW5kZXggPSBydWxlUmFuZ2UubGFzdFJ1bGVJbmRleDsK
LQotICAgICAgICAgICAgICAgIC8vIEFkZCB0aGlzIHJ1bGUgdG8gb3VyIGxpc3Qgb2YgbWF0Y2hl
ZCBydWxlcy4KLSAgICAgICAgICAgICAgICBhZGRNYXRjaGVkUnVsZSgmcnVsZURhdGEpOwotICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQorCisgICAgICAgIC8vIElmIHRo
ZSBydWxlIGhhcyBubyBwcm9wZXJ0aWVzIHRvIGFwcGx5LCB0aGVuIGlnbm9yZSBpdCBpbiB0aGUg
bm9uLWRlYnVnIG1vZGUuCisgICAgICAgIGNvbnN0IFN0eWxlUHJvcGVydGllcyYgcHJvcGVydGll
cyA9IHJ1bGUtPnByb3BlcnRpZXMoKTsKKyAgICAgICAgaWYgKHByb3BlcnRpZXMuaXNFbXB0eSgp
ICYmICFtYXRjaFJlcXVlc3QuaW5jbHVkZUVtcHR5UnVsZXMpCisgICAgICAgICAgICBjb250aW51
ZTsKKworICAgICAgICAvLyBGSVhNRTogRXhwb3NpbmcgdGhlIG5vbi1zdGFuZGFyZCBnZXRNYXRj
aGVkQ1NTUnVsZXMgQVBJIHRvIHdlYiBpcyB0aGUgb25seSByZWFzb24gdGhpcyBpcyBuZWVkZWQu
CisgICAgICAgIGlmIChtX3NhbWVPcmlnaW5Pbmx5ICYmICFydWxlRGF0YS5oYXNEb2N1bWVudFNl
Y3VyaXR5T3JpZ2luKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBpZiAocnVs
ZU1hdGNoZXMocnVsZURhdGEpKSB7CisgICAgICAgICAgICAvLyBVcGRhdGUgb3VyIGZpcnN0L2xh
c3QgcnVsZSBpbmRpY2VzIGluIHRoZSBtYXRjaGVkIHJ1bGVzIGFycmF5LgorICAgICAgICAgICAg
KytydWxlUmFuZ2UubGFzdFJ1bGVJbmRleDsKKyAgICAgICAgICAgIGlmIChydWxlUmFuZ2UuZmly
c3RSdWxlSW5kZXggPT0gLTEpCisgICAgICAgICAgICAgICAgcnVsZVJhbmdlLmZpcnN0UnVsZUlu
ZGV4ID0gcnVsZVJhbmdlLmxhc3RSdWxlSW5kZXg7CisKKyAgICAgICAgICAgIC8vIEFkZCB0aGlz
IHJ1bGUgdG8gb3VyIGxpc3Qgb2YgbWF0Y2hlZCBydWxlcy4KKyAgICAgICAgICAgIGFkZE1hdGNo
ZWRSdWxlKCZydWxlRGF0YSk7CiAgICAgICAgIH0KICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCmluZGV4IGNlMGNmZWY1ODMyODUwNjI4ZjU4ZGI5ZDI5
Y2Q4ZWFmOWIwMzA0N2UuLjEwOTkzODljMDJmN2U0ZmYzNjRiYjJlYzgwNTJiNWU1YjVmZDI5NGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCkBAIC04MSw3ICs4
MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb2xsZWN0TWF0Y2hpbmdSdWxlcyhjb25zdCBNYXRj
aFJlcXVlc3QmLCBTdHlsZVJlc29sdmVyOjpSdWxlUmFuZ2UmKTsKICAgICB2b2lkIGNvbGxlY3RN
YXRjaGluZ1J1bGVzRm9yUmVnaW9uKGNvbnN0IE1hdGNoUmVxdWVzdCYsIFN0eWxlUmVzb2x2ZXI6
OlJ1bGVSYW5nZSYpOwogICAgIHZvaWQgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KGNvbnN0
IFZlY3RvcjxSdWxlRGF0YT4qLCBjb25zdCBNYXRjaFJlcXVlc3QmLCBTdHlsZVJlc29sdmVyOjpS
dWxlUmFuZ2UmKTsKLSAgICBib29sIHJ1bGVNYXRjaGVzKGNvbnN0IFJ1bGVEYXRhJiwgUHNldWRv
SWQmKTsKKyAgICBib29sIHJ1bGVNYXRjaGVzKGNvbnN0IFJ1bGVEYXRhJik7CiAKICAgICB2b2lk
IHNvcnRNYXRjaGVkUnVsZXMoKTsKICAgICB2b2lkIHNvcnRBbmRUcmFuc2Zlck1hdGNoZWRSdWxl
cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAppbmRleCAzNDViYjU2MTlh
OWI1YTU5MjZjYTg3ZWJjYzYwYTQ3NzA5MGM4OWQ5Li5mNDg3MDA1ZjQyZDQ3ODVmZThjZDliMGVj
NjUzOTMxZTgwZjllZTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JD
aGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcApA
QCAtMTY3LDEwICsxNjcsMTcgQEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaCBTZWxlY3RvckNoZWNr
ZXI6Om1hdGNoUmVjdXJzaXZlbHkoY29uc3QgU2VsZWN0b3JDaGVja2luZ0MKIAogICAgICAgICAg
ICAgLy8gV2hlbiBpbnZhbGlkYXRpbmcgc3R5bGUgYWxsIHBzZXVkbyBlbGVtZW50cyBuZWVkIHRv
IG1hdGNoLgogICAgICAgICAgICAgUHNldWRvSWQgcHNldWRvSWQgPSBtX21vZGUgPT0gU3R5bGVJ
bnZhbGlkYXRpb24gPyBOT1BTRVVETyA6IENTU1NlbGVjdG9yOjpwc2V1ZG9JZChjb250ZXh0LnNl
bGVjdG9yLT5wc2V1ZG9FbGVtZW50VHlwZSgpKTsKLSAgICAgICAgICAgIGlmIChwc2V1ZG9JZCA9
PSBGSVJTVF9MRVRURVIpCi0gICAgICAgICAgICAgICAgY29udGV4dC5lbGVtZW50LT5kb2N1bWVu
dCgpLnN0eWxlU2hlZXRDb2xsZWN0aW9uKCkuc2V0VXNlc0ZpcnN0TGV0dGVyUnVsZXModHJ1ZSk7
Ci0gICAgICAgICAgICBpZiAocHNldWRvSWQgIT0gTk9QU0VVRE8pCisgICAgICAgICAgICBpZiAo
cHNldWRvSWQgIT0gTk9QU0VVRE8pIHsKICAgICAgICAgICAgICAgICBkeW5hbWljUHNldWRvID0g
cHNldWRvSWQ7CisKKyAgICAgICAgICAgICAgICBpZiAocHNldWRvSWQgPT0gRklSU1RfTEVUVEVS
KQorICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmVsZW1lbnQtPmRvY3VtZW50KCkuc3R5bGVT
aGVldENvbGxlY3Rpb24oKS5zZXRVc2VzRmlyc3RMZXR0ZXJSdWxlcyh0cnVlKTsKKworICAgICAg
ICAgICAgICAgIGlmIChjb250ZXh0LnBzZXVkb0lkID09IE5PUFNFVURPKSB7CisgICAgICAgICAg
ICAgICAgICAgIGlmIChtX21vZGUgPT0gUmVzb2x2aW5nU3R5bGUgJiYgcHNldWRvSWQgPCBGSVJT
VF9JTlRFUk5BTF9QU0VVRE9JRCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuZWxl
bWVudFN0eWxlLT5zZXRIYXNQc2V1ZG9TdHlsZShwc2V1ZG9JZCk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0
b3JDaGVja2VyLmgKaW5kZXggODA2OTc0ZmRkYjhmZmViNzBkMzUzZTUwZWJhMWI0ZjRkMGUxYjk0
ZC4uMTA5YjI1ZTcyNmFhY2Q0ZGVkMzZkZTg4ODAwMGM2NDJkZDdjNGEyNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TZWxlY3RvckNoZWNrZXIuaApAQCAtODIsOSArODIsMTggQEAgcHVibGljOgogICAgICAg
ICBib29sIGhhc1NlbGVjdGlvblBzZXVkbzsKICAgICB9OwogCi0gICAgYm9vbCBtYXRjaChjb25z
dCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgUHNldWRvSWQmIHBzZXVkb0lkKSBj
b25zdAorICAgIGJvb2wgbWF0Y2goY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRl
eHQpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gbWF0Y2hSZWN1cnNpdmVseShjb250ZXh0
LCBwc2V1ZG9JZCkgPT0gU2VsZWN0b3JNYXRjaGVzOworICAgICAgICBQc2V1ZG9JZCBwc2V1ZG9J
ZCA9IE5PUFNFVURPOworICAgICAgICBpZiAobWF0Y2hSZWN1cnNpdmVseShjb250ZXh0LCBwc2V1
ZG9JZCkgIT0gU2VsZWN0b3JNYXRjaGVzKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICBpZiAoY29udGV4dC5wc2V1ZG9JZCAhPSBOT1BTRVVETyAmJiBjb250ZXh0LnBzZXVkb0lk
ICE9IHBzZXVkb0lkKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoY29u
dGV4dC5wc2V1ZG9JZCA9PSBOT1BTRVVETyAmJiBwc2V1ZG9JZCAhPSBOT1BTRVVETykgeworICAg
ICAgICAgICAgLy8gRm9yIFNoYXJpbmdSdWxlcyB0ZXN0aW5nLCBhbnkgbWF0Y2ggaXMgZ29vZCBl
bm91Z2gsIHdlIGRvbid0IGNhcmUgd2hhdCBpcyBtYXRjaGVkLgorICAgICAgICAgICAgcmV0dXJu
IG1fbW9kZSA9PSBTaGFyaW5nUnVsZXMgfHwgbV9tb2RlID09IFN0eWxlSW52YWxpZGF0aW9uOwor
ICAgICAgICB9CisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAogICAgIHN0YXRpYyBib29s
IHRhZ01hdGNoZXMoY29uc3QgRWxlbWVudCosIGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5oCmluZGV4IDNiYjcxMGFjYjdkODhmOWIyZjhmOWQ2NGIxODky
YjcxYTU0ODI2NjAuLmU1NzllMzU1MTljZjBiYWNjNmZiMGEyMTdmZTc4M2FhMzRjZTZlNDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaApAQCAtNTY3LDggKzU2Nyw3IEBAIGlubGluZSBi
b29sIGNoZWNrUmVnaW9uU2VsZWN0b3IoY29uc3QgQ1NTU2VsZWN0b3IqIHJlZ2lvblNlbGVjdG9y
LCBFbGVtZW50KiByZWdpCiAgICAgU2VsZWN0b3JDaGVja2VyIHNlbGVjdG9yQ2hlY2tlcihyZWdp
b25FbGVtZW50LT5kb2N1bWVudCgpLCBTZWxlY3RvckNoZWNrZXI6OlF1ZXJ5aW5nUnVsZXMpOwog
ICAgIGZvciAoY29uc3QgQ1NTU2VsZWN0b3IqIHMgPSByZWdpb25TZWxlY3RvcjsgczsgcyA9IENT
U1NlbGVjdG9yTGlzdDo6bmV4dChzKSkgewogICAgICAgICBTZWxlY3RvckNoZWNrZXI6OlNlbGVj
dG9yQ2hlY2tpbmdDb250ZXh0IHNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0KHMsIHJlZ2lvbkVsZW1l
bnQsIFNlbGVjdG9yQ2hlY2tlcjo6VmlzaXRlZE1hdGNoRGlzYWJsZWQpOwotICAgICAgICBQc2V1
ZG9JZCBpZ25vcmVEeW5hbWljUHNldWRvID0gTk9QU0VVRE87Ci0gICAgICAgIGlmIChzZWxlY3Rv
ckNoZWNrZXIubWF0Y2goc2VsZWN0b3JDaGVja2luZ0NvbnRleHQsIGlnbm9yZUR5bmFtaWNQc2V1
ZG8pKQorICAgICAgICBpZiAoc2VsZWN0b3JDaGVja2VyLm1hdGNoKHNlbGVjdG9yQ2hlY2tpbmdD
b250ZXh0KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICByZXR1cm4gZmFs
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2VsZWN0b3JRdWVyeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2VsZWN0b3JRdWVyeS5jcHAKaW5kZXggY2YxZmIwZDgxZTM0ODFi
NGQ2M2NlYWIwYTdkZmRjMjY3NzI2ODQxOC4uNDVlNDExZDk0NjJmNjYyZTZiZmQyZDIwODI3NTk5
MmRkYWM4YjM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NlbGVjdG9yUXVlcnku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWxlY3RvclF1ZXJ5LmNwcApAQCAtMTI0LDgg
KzEyNCw3IEBAIGlubGluZSBib29sIFNlbGVjdG9yRGF0YUxpc3Q6OnNlbGVjdG9yTWF0Y2hlcyhj
b25zdCBTZWxlY3RvckRhdGEmIHNlbGVjdG9yRGF0YSwKICAgICBTZWxlY3RvckNoZWNrZXIgc2Vs
ZWN0b3JDaGVja2VyKGVsZW1lbnQuZG9jdW1lbnQoKSwgU2VsZWN0b3JDaGVja2VyOjpRdWVyeWlu
Z1J1bGVzKTsKICAgICBTZWxlY3RvckNoZWNrZXI6OlNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0IHNl
bGVjdG9yQ2hlY2tpbmdDb250ZXh0KHNlbGVjdG9yRGF0YS5zZWxlY3RvciwgJmVsZW1lbnQsIFNl
bGVjdG9yQ2hlY2tlcjo6VmlzaXRlZE1hdGNoRGlzYWJsZWQpOwogICAgIHNlbGVjdG9yQ2hlY2tp
bmdDb250ZXh0LnNjb3BlID0gcm9vdE5vZGUuaXNEb2N1bWVudE5vZGUoKSA/IG51bGxwdHIgOiAm
cm9vdE5vZGU7Ci0gICAgUHNldWRvSWQgaWdub3JlRHluYW1pY1BzZXVkbyA9IE5PUFNFVURPOwot
ICAgIHJldHVybiBzZWxlY3RvckNoZWNrZXIubWF0Y2goc2VsZWN0b3JDaGVja2luZ0NvbnRleHQs
IGlnbm9yZUR5bmFtaWNQc2V1ZG8pOworICAgIHJldHVybiBzZWxlY3RvckNoZWNrZXIubWF0Y2go
c2VsZWN0b3JDaGVja2luZ0NvbnRleHQpOwogfQogCiBib29sIFNlbGVjdG9yRGF0YUxpc3Q6Om1h
dGNoZXMoRWxlbWVudCYgdGFyZ2V0RWxlbWVudCkgY29uc3QKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3ZWMyNDQ2ZjQwOTA2
YTM2NmQ3NTVlM2UwMzljNDljMGNlZGJkOTkzLi4wZTEzMzU1ZTM4YTQyYzZlMjk4OGIzOWEzNDVl
MDBmMWQ0ZjNjNzZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTQtMDYtMDEgIEJlbmphbWlu
IFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1ha2UgcHNldWRvIGVs
ZW1lbnQgbWF0Y2hpbmcgZm9yIHN0eWxlIHJlc29sdXRpb24gbW9yZSBKSVQgZnJpZW5kbHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzQ0MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBtb3JlIGNv
dmVyYWdlIGZvciBzdHlsZSBzaGFyaW5nIHdpdGggZW1wdHkgcnVsZXMsIGp1c3QgaW4gY2FzZS4K
KworICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNoYXJpbmctZW1wdHktcnVsZS1tb2RpZmljYXRp
b24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zaGFyaW5n
LWVtcHR5LXJ1bGUtbW9kaWZpY2F0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDE0LTA1LTMxICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBWaWV3cG9ydCBwZXJjZW50YWdl
IHRlc3RzIHRoYXQgcmVzaXplIHRoZSB2aWV3cG9ydCBhcmUgZmxha3kKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNoYXJpbmctZW1wdHktcnVsZS1tb2RpZmljYXRpb24t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2hhcmluZy1lbXB0eS1y
dWxlLW1vZGlmaWNhdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQyYzNmZWYyZTIyZTZl
Zjc4MDdhYjAwZWE1Y2FhYjE3YTQyOGE0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL3N0eWxlLXNoYXJpbmctZW1wdHktcnVsZS1tb2RpZmljYXRpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzQgQEAKK1Rlc3QgdGhhdCBjaGFuZ2luZyBhbiBlbXB0eSBydWxlIHdp
dGggQ1NTT00gdXBkYXRlcyB0aGUgZWxlbWVudHMgY29ycmVjdGx5LgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworQmVmb3JlIGNoYW5naW5nIHRoZSBydWxlcworUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0MSIpKS5iYWNr
Z3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5
bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDIiKSkuYmFja2dyb3VuZENvbG9yIGlz
ICJyZ2IoMSwgMiwgMykiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0YXJnZXQzIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDEsIDIsIDMp
IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0NCIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK0NoYW5naW5nIHRo
ZSBmaXJzdC1jaGlsZCBydWxlCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQxIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDQsIDUs
IDYpIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGFyZ2V0MiIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1Mgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDMiKSku
YmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQ0IikpLmJhY2tncm91bmRDb2xv
ciBpcyAicmdiKDEsIDIsIDMpIgorQ2hhbmdpbmcgdGhlIGxhc3QtY2hpbGQgcnVsZQorUEFTUyB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0MSIp
KS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1Mgd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDIiKSkuYmFja2dyb3VuZENv
bG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQzIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDEs
IDIsIDMpIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0NCIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYig3LCA4LCA5KSIKK0VtcHR5
aW5nIHRoZSBmaXJzdC1jaGlsZCBydWxlCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQxIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdi
KDEsIDIsIDMpIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0MiIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BB
U1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdl
dDMiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQ0IikpLmJhY2tncm91
bmRDb2xvciBpcyAicmdiKDcsIDgsIDkpIgorRW1wdHlpbmcgdGhlIGxhc3QtY2hpbGQgcnVsZQor
UEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFy
Z2V0MSIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1Mgd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDIiKSkuYmFja2dy
b3VuZENvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQzIikpLmJhY2tncm91bmRDb2xvciBpcyAi
cmdiKDEsIDIsIDMpIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGFyZ2V0NCIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zaGFyaW5nLWVtcHR5LXJ1bGUtbW9k
aWZpY2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zaGFyaW5nLWVtcHR5
LXJ1bGUtbW9kaWZpY2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmJmMGY0MjEyMzRkMjk3YmM4MmMz
ODY5OTQ1ZGEzODAwOGUzNzMwMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL3N0eWxlLXNoYXJpbmctZW1wdHktcnVsZS1tb2RpZmljYXRpb24uaHRtbApAQCAtMCwwICsx
LDcxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3RhcmdldCB7
IGRpc3BsYXk6YmxvY2s7IGJhY2tncm91bmQtY29sb3I6IHJnYigxLCAyLCAzKTsgfQordGFyZ2V0
OmZpcnN0LWNoaWxkIHsgfQordGFyZ2V0Omxhc3QtY2hpbGQgeyB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5Om5vbmUiPgorICAgIDx0YXJnZXQgaWQ9dGFy
Z2V0MT48L3RhcmdldD4KKyAgICA8dGFyZ2V0IGlkPXRhcmdldDI+PC90YXJnZXQ+CisgICAgPHRh
cmdldCBpZD10YXJnZXQzPjwvdGFyZ2V0PgorICAgIDx0YXJnZXQgaWQ9dGFyZ2V0ND48L3Rhcmdl
dD4KKzwvZGl2PgorCis8c2NyaXB0PgorZnVuY3Rpb24gZmluZFJ1bGVXaXRoU2VsZWN0b3Ioc2Vs
ZWN0b3IpCit7CisgICAgdmFyIHN0eWxlU2hlZXRzID0gZG9jdW1lbnQuc3R5bGVTaGVldHM7Cisg
ICAgZm9yICh2YXIgc3R5bGVTaGVldEluZGV4ID0gMCwgc3R5bGVTaGVldENvdW50ID0gc3R5bGVT
aGVldHMubGVuZ3RoOyBzdHlsZVNoZWV0SW5kZXggPCBzdHlsZVNoZWV0Q291bnQ7ICsrc3R5bGVT
aGVldEluZGV4KSB7CisgICAgICAgIHZhciBzdHlsZVNoZWV0ID0gc3R5bGVTaGVldHNbc3R5bGVT
aGVldEluZGV4XTsKKyAgICAgICAgdmFyIHJ1bGVzID0gc3R5bGVTaGVldC5jc3NSdWxlczsKKyAg
ICAgICAgZm9yICh2YXIgcnVsZUluZGV4ID0gMCwgcnVsZUNvdW50ID0gcnVsZXMubGVuZ3RoOyBy
dWxlSW5kZXggPCBydWxlQ291bnQ7ICsrcnVsZUluZGV4KSB7CisgICAgICAgICAgICB2YXIgcnVs
ZSA9IHJ1bGVzW3J1bGVJbmRleF07CisgICAgICAgICAgICBpZiAocnVsZS5zZWxlY3RvclRleHQg
PT09IHNlbGVjdG9yKQorICAgICAgICAgICAgICAgIHJldHVybiBydWxlOworICAgICAgICB9Cisg
ICAgfQorfQorCitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGNoYW5naW5nIGFuIGVtcHR5IHJ1bGUg
d2l0aCBDU1NPTSB1cGRhdGVzIHRoZSBlbGVtZW50cyBjb3JyZWN0bHkuIik7CitkZWJ1ZygnQmVm
b3JlIGNoYW5naW5nIHRoZSBydWxlcycpOworc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQxIikpLmJhY2tncm91bmRDb2xvcics
JyJyZ2IoMSwgMiwgMykiJyk7CitzaG91bGRCZSgnd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDIiKSkuYmFja2dyb3VuZENvbG9yJywnInJnYigx
LCAyLCAzKSInKTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGFyZ2V0MyIpKS5iYWNrZ3JvdW5kQ29sb3InLCcicmdiKDEsIDIsIDMp
IicpOworc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQ0IikpLmJhY2tncm91bmRDb2xvcicsJyJyZ2IoMSwgMiwgMykiJyk7CisK
K2RlYnVnKCdDaGFuZ2luZyB0aGUgZmlyc3QtY2hpbGQgcnVsZScpOworZmluZFJ1bGVXaXRoU2Vs
ZWN0b3IoJ3RhcmdldDpmaXJzdC1jaGlsZCcpLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICdyZ2Io
NCwgNSwgNiknOworc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0YXJnZXQxIikpLmJhY2tncm91bmRDb2xvcicsJyJyZ2IoNCwgNSwgNiki
Jyk7CitzaG91bGRCZSgnd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRhcmdldDIiKSkuYmFja2dyb3VuZENvbG9yJywnInJnYigxLCAyLCAzKSInKTsKK3No
b3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0MyIpKS5iYWNrZ3JvdW5kQ29sb3InLCcicmdiKDEsIDIsIDMpIicpOworc2hvdWxkQmUo
J3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQ0
IikpLmJhY2tncm91bmRDb2xvcicsJyJyZ2IoMSwgMiwgMykiJyk7CisKK2RlYnVnKCdDaGFuZ2lu
ZyB0aGUgbGFzdC1jaGlsZCBydWxlJyk7CitmaW5kUnVsZVdpdGhTZWxlY3RvcigndGFyZ2V0Omxh
c3QtY2hpbGQnKS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAncmdiKDcsIDgsIDkpJzsKK3Nob3Vs
ZEJlKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFy
Z2V0MSIpKS5iYWNrZ3JvdW5kQ29sb3InLCcicmdiKDQsIDUsIDYpIicpOworc2hvdWxkQmUoJ3dp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQyIikp
LmJhY2tncm91bmRDb2xvcicsJyJyZ2IoMSwgMiwgMykiJyk7CitzaG91bGRCZSgnd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDMiKSkuYmFja2dy
b3VuZENvbG9yJywnInJnYigxLCAyLCAzKSInKTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0NCIpKS5iYWNrZ3JvdW5kQ29s
b3InLCcicmdiKDcsIDgsIDkpIicpOworCitkZWJ1ZygnRW1wdHlpbmcgdGhlIGZpcnN0LWNoaWxk
IHJ1bGUnKTsKK2ZpbmRSdWxlV2l0aFNlbGVjdG9yKCd0YXJnZXQ6Zmlyc3QtY2hpbGQnKS5zdHls
ZS5iYWNrZ3JvdW5kQ29sb3IgPSAnJzsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0MSIpKS5iYWNrZ3JvdW5kQ29sb3InLCci
cmdiKDEsIDIsIDMpIicpOworc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQyIikpLmJhY2tncm91bmRDb2xvcicsJyJyZ2IoMSwg
MiwgMykiJyk7CitzaG91bGRCZSgnd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRhcmdldDMiKSkuYmFja2dyb3VuZENvbG9yJywnInJnYigxLCAyLCAzKSIn
KTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0NCIpKS5iYWNrZ3JvdW5kQ29sb3InLCcicmdiKDcsIDgsIDkpIicpOworCitk
ZWJ1ZygnRW1wdHlpbmcgdGhlIGxhc3QtY2hpbGQgcnVsZScpOworZmluZFJ1bGVXaXRoU2VsZWN0
b3IoJ3RhcmdldDpsYXN0LWNoaWxkJykuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJyc7CitzaG91
bGRCZSgnd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldDEiKSkuYmFja2dyb3VuZENvbG9yJywnInJnYigxLCAyLCAzKSInKTsKK3Nob3VsZEJlKCd3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0MiIp
KS5iYWNrZ3JvdW5kQ29sb3InLCcicmdiKDEsIDIsIDMpIicpOworc2hvdWxkQmUoJ3dpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQzIikpLmJhY2tn
cm91bmRDb2xvcicsJyJyZ2IoMSwgMiwgMykiJyk7CitzaG91bGRCZSgnd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDQiKSkuYmFja2dyb3VuZENv
bG9yJywnInJnYigxLCAyLCAzKSInKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>