<?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>165532</bug_id>
          
          <creation_ts>2016-12-07 10:34:45 -0800</creation_ts>
          <short_desc>[CSS Parser] Eliminate the Scope class and fold it into CSSTokenizer</short_desc>
          <delta_ts>2016-12-07 11:52:30 -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>WebKit 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="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1257267</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-12-07 10:34:45 -0800</bug_when>
    <thetext>[CSS Parser] Eliminate the Scope class and fold it into CSSTokenizer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257269</commentid>
    <comment_count>1</comment_count>
      <attachid>296399</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-12-07 10:37:55 -0800</bug_when>
    <thetext>Created attachment 296399
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257294</commentid>
    <comment_count>2</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-12-07 11:52:30 -0800</bug_when>
    <thetext>Fixed in r209466.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296399</attachid>
            <date>2016-12-07 10:37:55 -0800</date>
            <delta_ts>2016-12-07 10:43:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165532-20161207123715.patch</filename>
            <type>text/plain</type>
            <size>16818</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwOTQ2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBACisyMDE2LTEyLTA3ICBEYXZlIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgUGFyc2VyXSBFbGltaW5hdGUg
dGhlIFNjb3BlIGNsYXNzIGFuZCBmb2xkIGl0IGludG8gQ1NTVG9rZW5pemVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU1MzIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgU2NvcGUgY2xhc3MsIG5l
c3RlZCBpbnNpZGUgQ1NTVG9rZW5pemVyLCBpcyBib3RoIHBvb3JseSBuYW1lZCBhbmQgc2VydmVz
CisgICAgICAgIG5vIHB1cnBvc2UuIEl0J3MgZXNwZWNpYWxseSB3ZWlyZCB0aGF0IGl0IHdhcyB0
aGUgZW50cnkgcG9pbnQgaW50byB0b2tlbml6YXRpb24KKyAgICAgICAgaW5zdGVhZCBvZiBDU1NU
b2tlbml6ZXIuCisgICAgICAgIAorICAgICAgICBFbGltaW5hdGUgdGhlIGNsYXNzLCBmb2xkIGl0
cyBtZW1iZXJzIGFuZCBmdW5jdGlvbnMgaW50byBDU1NUb2tlbml6ZXIsIGFuZCBoYXZlCisgICAg
ICAgIGNhbGxlcnMganVzdCBtYWtlIGEgQ1NTVG9rZW5pemVyIGluc3RlYWQuCisKKyAgICAgICAg
KiBjc3MvcGFyc2VyL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6
OnBhcnNlU3VwcG9ydHNDb25kaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpw
YXJzZVNlbGVjdG9yKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6cGFyc2VWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXJJbXBsOjpwYXJzZUN1c3RvbVByb3BlcnR5VmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6cGFyc2VJbmxpbmVTdHlsZURlY2xhcmF0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OnBhcnNlRGVjbGFyYXRpb25MaXN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OnBhcnNlUnVsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXJJbXBsOjpwYXJzZVN0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VySW1wbDo6cGFyc2VLZXlmcmFtZUtleUxpc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VySW1wbDo6cGFyc2VEZWNsYXJhdGlvbkxpc3RGb3JJbnNwZWN0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1wbDo6cGFyc2VTdHlsZVNoZWV0Rm9ySW5zcGVjdG9y
KToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Rva2VuaXplci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NUb2tlbml6ZXI6OkNTU1Rva2VuaXplcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NU
b2tlbml6ZXI6OnRva2VuUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9rZW5pemVyOjp0
b2tlbkNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Rva2VuaXplcjo6cmVnaXN0ZXJTdHJp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9rZW5pemVyOjpTY29wZTo6U2NvcGUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9rZW5pemVyOjpTY29wZTo6dG9rZW5SYW5nZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NUb2tlbml6ZXI6OlNjb3BlOjp0b2tlbkNv
dW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Rva2VuaXplci5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTVG9rZW5pemVyOjpTY29wZTo6c3RvcmVTdHJpbmcpOiBEZWxldGVk
LgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTVG9rZW5pemVySW5wdXRTdHJlYW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTVG9rZW5pemVySW5wdXRTdHJlYW06OkNTU1Rva2VuaXplcklucHV0
U3RyZWFtKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Rva2VuaXplcklucHV0U3RyZWFtLmg6
CisgICAgICAgICogY3NzL3BhcnNlci9NZWRpYVF1ZXJ5UGFyc2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlTWVkaWFRdWVyeVNldCk6CisgICAgICAgICog
Y3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
aXplc0F0dHJpYnV0ZVBhcnNlcjo6U2l6ZXNBdHRyaWJ1dGVQYXJzZXIpOgorCiAyMDE2LTEyLTA3
ICBEYXZlIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgUGFyc2VyXSBU
dXJuIGJhY2sgb24gYSBidW5jaCBvZiBsYXlvdXQgdGVzdHMKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDIwOTM5NikKKysrIFNvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI3LDggKzQy
Nyw4IEBAIFJlZlB0cjxTdHlsZUtleWZyYW1lPiBDU1NQYXJzZXI6OnBhcnNlS2UKIGJvb2wgQ1NT
UGFyc2VyOjpwYXJzZVN1cHBvcnRzQ29uZGl0aW9uKGNvbnN0IFN0cmluZyYgY29uZGl0aW9uKQog
ewogICAgIGlmIChtX2NvbnRleHQudXNlTmV3UGFyc2VyKSB7Ci0gICAgICAgIENTU1Rva2VuaXpl
cjo6U2NvcGUgc2NvcGUoY29uZGl0aW9uKTsKLSAgICAgICAgQ1NTUGFyc2VyVG9rZW5SYW5nZSBy
YW5nZSA9IHNjb3BlLnRva2VuUmFuZ2UoKTsKKyAgICAgICAgQ1NTVG9rZW5pemVyIHRva2VuaXpl
cihjb25kaXRpb24pOworICAgICAgICBDU1NQYXJzZXJUb2tlblJhbmdlIHJhbmdlID0gdG9rZW5p
emVyLnRva2VuUmFuZ2UoKTsKICAgICAgICAgQ1NTUGFyc2VySW1wbCBwYXJzZXIobV9jb250ZXh0
KTsKICAgICAgICAgcmV0dXJuIENTU1N1cHBvcnRzUGFyc2VyOjpzdXBwb3J0c0NvbmRpdGlvbihy
YW5nZSwgcGFyc2VyKSA9PSBDU1NTdXBwb3J0c1BhcnNlcjo6U3VwcG9ydGVkOwogICAgIH0KQEAg
LTE0NTUsOCArMTQ1NSw4IEBAIENvbG9yIENTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcihjb25z
dCAKIHZvaWQgQ1NTUGFyc2VyOjpwYXJzZVNlbGVjdG9yKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBD
U1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCkKIHsKICAgICBpZiAobV9jb250ZXh0LnVzZU5l
d1BhcnNlcikgewotICAgICAgICBDU1NUb2tlbml6ZXI6OlNjb3BlIHNjb3BlKHN0cmluZyk7Ci0g
ICAgICAgIHNlbGVjdG9yTGlzdCA9IENTU1NlbGVjdG9yUGFyc2VyOjpwYXJzZVNlbGVjdG9yKHNj
b3BlLnRva2VuUmFuZ2UoKSwgbV9jb250ZXh0LCBudWxscHRyKTsKKyAgICAgICAgQ1NTVG9rZW5p
emVyIHRva2VuaXplcihzdHJpbmcpOworICAgICAgICBzZWxlY3Rvckxpc3QgPSBDU1NTZWxlY3Rv
clBhcnNlcjo6cGFyc2VTZWxlY3Rvcih0b2tlbml6ZXIudG9rZW5SYW5nZSgpLCBtX2NvbnRleHQs
IG51bGxwdHIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAJKHJldmlzaW9uIDIwOTM5NikKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTcwLDggKzcwLDggQEAgQ1NTUGFyc2VyOjpQYXJzZVJlc3VsdCBDU1NQYXJzZXJJbXBsOjpw
YQogICAgIGlmIChkZWNsYXJhdGlvbi0+Y3NzUGFyc2VyTW9kZSgpID09IENTU1ZpZXdwb3J0UnVs
ZU1vZGUpCiAgICAgICAgIHJ1bGVUeXBlID0gU3R5bGVSdWxlOjpWaWV3cG9ydDsKICNlbmRpZgot
ICAgIENTU1Rva2VuaXplcjo6U2NvcGUgc2NvcGUoc3RyaW5nKTsKLSAgICBwYXJzZXIuY29uc3Vt
ZURlY2xhcmF0aW9uVmFsdWUoc2NvcGUudG9rZW5SYW5nZSgpLCBwcm9wZXJ0eUlELCBpbXBvcnRh
bnQsIHJ1bGVUeXBlKTsKKyAgICBDU1NUb2tlbml6ZXIgdG9rZW5pemVyKHN0cmluZyk7CisgICAg
cGFyc2VyLmNvbnN1bWVEZWNsYXJhdGlvblZhbHVlKHRva2VuaXplci50b2tlblJhbmdlKCksIHBy
b3BlcnR5SUQsIGltcG9ydGFudCwgcnVsZVR5cGUpOwogICAgIGlmIChwYXJzZXIubV9wYXJzZWRQ
cm9wZXJ0aWVzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIENTU1BhcnNlcjo6UGFyc2VSZXN1
bHQ6OkVycm9yOwogICAgIHJldHVybiBkZWNsYXJhdGlvbi0+YWRkUGFyc2VkUHJvcGVydGllcyhw
YXJzZXIubV9wYXJzZWRQcm9wZXJ0aWVzKSA/IENTU1BhcnNlcjo6UGFyc2VSZXN1bHQ6OkNoYW5n
ZWQgOiBDU1NQYXJzZXI6OlBhcnNlUmVzdWx0OjpVbmNoYW5nZWQ7CkBAIC04MCw4ICs4MCw4IEBA
IENTU1BhcnNlcjo6UGFyc2VSZXN1bHQgQ1NTUGFyc2VySW1wbDo6cGEKIENTU1BhcnNlcjo6UGFy
c2VSZXN1bHQgQ1NTUGFyc2VySW1wbDo6cGFyc2VDdXN0b21Qcm9wZXJ0eVZhbHVlKE11dGFibGVT
dHlsZVByb3BlcnRpZXMqIGRlY2xhcmF0aW9uLCBjb25zdCBBdG9taWNTdHJpbmcmIHByb3BlcnR5
TmFtZSwgY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgaW1wb3J0YW50LCBjb25zdCBDU1NQYXJz
ZXJDb250ZXh0JiBjb250ZXh0KQogewogICAgIENTU1BhcnNlckltcGwgcGFyc2VyKGNvbnRleHQp
OwotICAgIENTU1Rva2VuaXplcjo6U2NvcGUgc2NvcGUoc3RyaW5nKTsKLSAgICBwYXJzZXIuY29u
c3VtZUN1c3RvbVByb3BlcnR5VmFsdWUoc2NvcGUudG9rZW5SYW5nZSgpLCBwcm9wZXJ0eU5hbWUs
IGltcG9ydGFudCk7CisgICAgQ1NTVG9rZW5pemVyIHRva2VuaXplcihzdHJpbmcpOworICAgIHBh
cnNlci5jb25zdW1lQ3VzdG9tUHJvcGVydHlWYWx1ZSh0b2tlbml6ZXIudG9rZW5SYW5nZSgpLCBw
cm9wZXJ0eU5hbWUsIGltcG9ydGFudCk7CiAgICAgaWYgKHBhcnNlci5tX3BhcnNlZFByb3BlcnRp
ZXMuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gQ1NTUGFyc2VyOjpQYXJzZVJlc3VsdDo6RXJy
b3I7CiAgICAgcmV0dXJuIGRlY2xhcmF0aW9uLT5hZGRQYXJzZWRQcm9wZXJ0aWVzKHBhcnNlci5t
X3BhcnNlZFByb3BlcnRpZXMpID8gQ1NTUGFyc2VyOjpQYXJzZVJlc3VsdDo6Q2hhbmdlZCA6IENT
U1BhcnNlcjo6UGFyc2VSZXN1bHQ6OlVuY2hhbmdlZDsKQEAgLTEzOCw4ICsxMzgsOCBAQCBSZWY8
SW1tdXRhYmxlU3R5bGVQcm9wZXJ0aWVzPiBDU1NQYXJzZXJJCiAgICAgY29udGV4dC5tb2RlID0g
c3RyaWN0VG9DU1NQYXJzZXJNb2RlKGVsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSAmJiAhZWxlbWVu
dC0+ZG9jdW1lbnQoKS5pblF1aXJrc01vZGUoKSk7CiAKICAgICBDU1NQYXJzZXJJbXBsIHBhcnNl
cihjb250ZXh0KTsKLSAgICBDU1NUb2tlbml6ZXI6OlNjb3BlIHNjb3BlKHN0cmluZyk7Ci0gICAg
cGFyc2VyLmNvbnN1bWVEZWNsYXJhdGlvbkxpc3Qoc2NvcGUudG9rZW5SYW5nZSgpLCBTdHlsZVJ1
bGU6OlN0eWxlKTsKKyAgICBDU1NUb2tlbml6ZXIgdG9rZW5pemVyKHN0cmluZyk7CisgICAgcGFy
c2VyLmNvbnN1bWVEZWNsYXJhdGlvbkxpc3QodG9rZW5pemVyLnRva2VuUmFuZ2UoKSwgU3R5bGVS
dWxlOjpTdHlsZSk7CiAgICAgcmV0dXJuIGNyZWF0ZVN0eWxlUHJvcGVydGllcyhwYXJzZXIubV9w
YXJzZWRQcm9wZXJ0aWVzLCBjb250ZXh0Lm1vZGUpOwogfQogCkBAIC0xNTEsOCArMTUxLDggQEAg
Ym9vbCBDU1NQYXJzZXJJbXBsOjpwYXJzZURlY2xhcmF0aW9uTGlzdAogICAgIGlmIChkZWNsYXJh
dGlvbi0+Y3NzUGFyc2VyTW9kZSgpID09IENTU1ZpZXdwb3J0UnVsZU1vZGUpCiAgICAgICAgIHJ1
bGVUeXBlID0gU3R5bGVSdWxlOjpWaWV3cG9ydDsKICNlbmRpZgotICAgIENTU1Rva2VuaXplcjo6
U2NvcGUgc2NvcGUoc3RyaW5nKTsKLSAgICBwYXJzZXIuY29uc3VtZURlY2xhcmF0aW9uTGlzdChz
Y29wZS50b2tlblJhbmdlKCksIHJ1bGVUeXBlKTsKKyAgICBDU1NUb2tlbml6ZXIgdG9rZW5pemVy
KHN0cmluZyk7CisgICAgcGFyc2VyLmNvbnN1bWVEZWNsYXJhdGlvbkxpc3QodG9rZW5pemVyLnRv
a2VuUmFuZ2UoKSwgcnVsZVR5cGUpOwogICAgIGlmIChwYXJzZXIubV9wYXJzZWRQcm9wZXJ0aWVz
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0xNzAsOCArMTcwLDggQEAg
Ym9vbCBDU1NQYXJzZXJJbXBsOjpwYXJzZURlY2xhcmF0aW9uTGlzdAogUmVmUHRyPFN0eWxlUnVs
ZUJhc2U+IENTU1BhcnNlckltcGw6OnBhcnNlUnVsZShjb25zdCBTdHJpbmcmIHN0cmluZywgY29u
c3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCwgU3R5bGVTaGVldENvbnRlbnRzKiBzdHlsZVNo
ZWV0LCBBbGxvd2VkUnVsZXNUeXBlIGFsbG93ZWRSdWxlcykKIHsKICAgICBDU1NQYXJzZXJJbXBs
IHBhcnNlcihjb250ZXh0LCBzdHlsZVNoZWV0KTsKLSAgICBDU1NUb2tlbml6ZXI6OlNjb3BlIHNj
b3BlKHN0cmluZyk7Ci0gICAgQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSA9IHNjb3BlLnRva2Vu
UmFuZ2UoKTsKKyAgICBDU1NUb2tlbml6ZXIgdG9rZW5pemVyKHN0cmluZyk7CisgICAgQ1NTUGFy
c2VyVG9rZW5SYW5nZSByYW5nZSA9IHRva2VuaXplci50b2tlblJhbmdlKCk7CiAgICAgcmFuZ2Uu
Y29uc3VtZVdoaXRlc3BhY2UoKTsKICAgICBpZiAocmFuZ2UuYXRFbmQoKSkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7IC8vIFBhcnNlIGVycm9yLCBlbXB0eSBydWxlCkBAIC0xOTAsOSArMTkwLDkg
QEAgUmVmUHRyPFN0eWxlUnVsZUJhc2U+IENTU1BhcnNlckltcGw6OnBhcgogCiB2b2lkIENTU1Bh
cnNlckltcGw6OnBhcnNlU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIHN0cmluZywgY29uc3QgQ1NT
UGFyc2VyQ29udGV4dCYgY29udGV4dCwgU3R5bGVTaGVldENvbnRlbnRzKiBzdHlsZVNoZWV0KQog
ewotICAgIENTU1Rva2VuaXplcjo6U2NvcGUgc2NvcGUoc3RyaW5nKTsKKyAgICBDU1NUb2tlbml6
ZXIgdG9rZW5pemVyKHN0cmluZyk7CiAgICAgQ1NTUGFyc2VySW1wbCBwYXJzZXIoY29udGV4dCwg
c3R5bGVTaGVldCk7Ci0gICAgYm9vbCBmaXJzdFJ1bGVWYWxpZCA9IHBhcnNlci5jb25zdW1lUnVs
ZUxpc3Qoc2NvcGUudG9rZW5SYW5nZSgpLCBUb3BMZXZlbFJ1bGVMaXN0LCBbJnN0eWxlU2hlZXRd
KFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiBydWxlKSB7CisgICAgYm9vbCBmaXJzdFJ1bGVWYWxpZCA9
IHBhcnNlci5jb25zdW1lUnVsZUxpc3QodG9rZW5pemVyLnRva2VuUmFuZ2UoKSwgVG9wTGV2ZWxS
dWxlTGlzdCwgWyZzdHlsZVNoZWV0XShSZWZQdHI8U3R5bGVSdWxlQmFzZT4gcnVsZSkgewogICAg
ICAgICBpZiAocnVsZS0+aXNDaGFyc2V0UnVsZSgpKQogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICBzdHlsZVNoZWV0LT5wYXJzZXJBcHBlbmRSdWxlKHJ1bGUucmVsZWFzZU5vbk51bGwoKSk7
CkBAIC0yNDQsNyArMjQ0LDcgQEAgQ1NTU2VsZWN0b3JMaXN0IENTU1BhcnNlckltcGw6OnBhcnNl
UGFnZQogCiBzdGQ6OnVuaXF1ZV9wdHI8VmVjdG9yPGRvdWJsZT4+IENTU1BhcnNlckltcGw6OnBh
cnNlS2V5ZnJhbWVLZXlMaXN0KGNvbnN0IFN0cmluZyYga2V5TGlzdCkKIHsKLSAgICByZXR1cm4g
Y29uc3VtZUtleWZyYW1lS2V5TGlzdChDU1NUb2tlbml6ZXI6OlNjb3BlKGtleUxpc3QpLnRva2Vu
UmFuZ2UoKSk7CisgICAgcmV0dXJuIGNvbnN1bWVLZXlmcmFtZUtleUxpc3QoQ1NTVG9rZW5pemVy
KGtleUxpc3QpLnRva2VuUmFuZ2UoKSk7CiB9CiAKIGJvb2wgQ1NTUGFyc2VySW1wbDo6c3VwcG9y
dHNEZWNsYXJhdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKQEAgLTI2MSwxMCArMjYx
LDEwIEBAIHZvaWQgQ1NTUGFyc2VySW1wbDo6cGFyc2VEZWNsYXJhdGlvbkxpc3QKICAgICBDU1NQ
YXJzZXJJbXBsIHBhcnNlcihjb250ZXh0KTsKICAgICBDU1NQYXJzZXJPYnNlcnZlcldyYXBwZXIg
d3JhcHBlcihvYnNlcnZlcik7CiAgICAgcGFyc2VyLm1fb2JzZXJ2ZXJXcmFwcGVyID0gJndyYXBw
ZXI7Ci0gICAgQ1NTVG9rZW5pemVyOjpTY29wZSBzY29wZShkZWNsYXJhdGlvbiwgd3JhcHBlcik7
CisgICAgQ1NTVG9rZW5pemVyIHRva2VuaXplcihkZWNsYXJhdGlvbiwgd3JhcHBlcik7CiAgICAg
b2JzZXJ2ZXIuc3RhcnRSdWxlSGVhZGVyKFN0eWxlUnVsZTo6U3R5bGUsIDApOwogICAgIG9ic2Vy
dmVyLmVuZFJ1bGVIZWFkZXIoMSk7Ci0gICAgcGFyc2VyLmNvbnN1bWVEZWNsYXJhdGlvbkxpc3Qo
c2NvcGUudG9rZW5SYW5nZSgpLCBTdHlsZVJ1bGU6OlN0eWxlKTsKKyAgICBwYXJzZXIuY29uc3Vt
ZURlY2xhcmF0aW9uTGlzdCh0b2tlbml6ZXIudG9rZW5SYW5nZSgpLCBTdHlsZVJ1bGU6OlN0eWxl
KTsKIH0KIAogdm9pZCBDU1NQYXJzZXJJbXBsOjpwYXJzZVN0eWxlU2hlZXRGb3JJbnNwZWN0b3Io
Y29uc3QgU3RyaW5nJiBzdHJpbmcsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQsIFN0
eWxlU2hlZXRDb250ZW50cyogc3R5bGVTaGVldCwgQ1NTUGFyc2VyT2JzZXJ2ZXImIG9ic2VydmVy
KQpAQCAtMjcyLDggKzI3Miw4IEBAIHZvaWQgQ1NTUGFyc2VySW1wbDo6cGFyc2VTdHlsZVNoZWV0
Rm9ySW4KICAgICBDU1NQYXJzZXJJbXBsIHBhcnNlcihjb250ZXh0LCBzdHlsZVNoZWV0KTsKICAg
ICBDU1NQYXJzZXJPYnNlcnZlcldyYXBwZXIgd3JhcHBlcihvYnNlcnZlcik7CiAgICAgcGFyc2Vy
Lm1fb2JzZXJ2ZXJXcmFwcGVyID0gJndyYXBwZXI7Ci0gICAgQ1NTVG9rZW5pemVyOjpTY29wZSBz
Y29wZShzdHJpbmcsIHdyYXBwZXIpOwotICAgIGJvb2wgZmlyc3RSdWxlVmFsaWQgPSBwYXJzZXIu
Y29uc3VtZVJ1bGVMaXN0KHNjb3BlLnRva2VuUmFuZ2UoKSwgVG9wTGV2ZWxSdWxlTGlzdCwgWyZz
dHlsZVNoZWV0XShSZWZQdHI8U3R5bGVSdWxlQmFzZT4gcnVsZSkgeworICAgIENTU1Rva2VuaXpl
ciB0b2tlbml6ZXIoc3RyaW5nLCB3cmFwcGVyKTsKKyAgICBib29sIGZpcnN0UnVsZVZhbGlkID0g
cGFyc2VyLmNvbnN1bWVSdWxlTGlzdCh0b2tlbml6ZXIudG9rZW5SYW5nZSgpLCBUb3BMZXZlbFJ1
bGVMaXN0LCBbJnN0eWxlU2hlZXRdKFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiBydWxlKSB7CiAgICAg
ICAgIGlmIChydWxlLT5pc0NoYXJzZXRSdWxlKCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIHN0eWxlU2hlZXQtPnBhcnNlckFwcGVuZFJ1bGUocnVsZS5yZWxlYXNlTm9uTnVsbCgpKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTVG9rZW5pemVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Rva2VuaXplci5jcHAJKHJldmlz
aW9uIDIwOTM5NikKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTVG9rZW5pemVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDAsOCArNDAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLUNTU1Rva2VuaXplcjo6U2NvcGU6OlNjb3BlKGNvbnN0IFN0cmluZyYgc3RyaW5nKQotICAg
IDogbV9zdHJpbmcoc3RyaW5nKQorQ1NTVG9rZW5pemVyOjpDU1NUb2tlbml6ZXIoY29uc3QgU3Ry
aW5nJiBzdHJpbmcpCisgICAgOiBtX2lucHV0KHN0cmluZykKIHsKICAgICAvLyBBY2NvcmRpbmcg
dG8gdGhlIHNwZWMsIHdlIHNob3VsZCBwZXJmb3JtIHByZXByb2Nlc3NpbmcgaGVyZS4KICAgICAv
LyBTZWU6IGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzcy1zeW50YXgvI2lucHV0LXByZXByb2Nl
c3NpbmcKQEAgLTU4LDEwICs1OCw4IEBAIENTU1Rva2VuaXplcjo6U2NvcGU6OlNjb3BlKGNvbnN0
IFN0cmluZyYKICAgICAvLyBNb3N0IHN0cmluZ3Mgd2UgdG9rZW5pemUgaGF2ZSBhYm91dCAzLjUg
dG8gNSBjaGFyYWN0ZXJzIHBlciB0b2tlbi4KICAgICBtX3Rva2Vucy5yZXNlcnZlSW5pdGlhbENh
cGFjaXR5KHN0cmluZy5sZW5ndGgoKSAvIDMpOwogCi0gICAgQ1NTVG9rZW5pemVySW5wdXRTdHJl
YW0gaW5wdXQoc3RyaW5nKTsKLSAgICBDU1NUb2tlbml6ZXIgdG9rZW5pemVyKGlucHV0LCAqdGhp
cyk7CiAgICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgQ1NTUGFyc2VyVG9rZW4gdG9rZW4gPSB0
b2tlbml6ZXIubmV4dFRva2VuKCk7CisgICAgICAgIENTU1BhcnNlclRva2VuIHRva2VuID0gbmV4
dFRva2VuKCk7CiAgICAgICAgIGlmICh0b2tlbi50eXBlKCkgPT0gQ29tbWVudFRva2VuKQogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIGlmICh0b2tlbi50eXBlKCkgPT0gRU9GVG9rZW4p
CkBAIC03MCwzOSArNjgsMzYgQEAgQ1NTVG9rZW5pemVyOjpTY29wZTo6U2NvcGUoY29uc3QgU3Ry
aW5nJgogICAgIH0KIH0KIAotQ1NTVG9rZW5pemVyOjpTY29wZTo6U2NvcGUoY29uc3QgU3RyaW5n
JiBzdHJpbmcsIENTU1BhcnNlck9ic2VydmVyV3JhcHBlciYgd3JhcHBlcikKLSAgICA6IG1fc3Ry
aW5nKHN0cmluZykKK0NTU1Rva2VuaXplcjo6Q1NTVG9rZW5pemVyKGNvbnN0IFN0cmluZyYgc3Ry
aW5nLCBDU1NQYXJzZXJPYnNlcnZlcldyYXBwZXImIHdyYXBwZXIpCisgICAgOiBtX2lucHV0KHN0
cmluZykKIHsKICAgICBpZiAoc3RyaW5nLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgQ1NTVG9rZW5pemVySW5wdXRTdHJlYW0gaW5wdXQoc3RyaW5nKTsKLSAgICBDU1NUb2tlbml6
ZXIgdG9rZW5pemVyKGlucHV0LCAqdGhpcyk7Ci0KICAgICB1bnNpZ25lZCBvZmZzZXQgPSAwOwog
ICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgIENTU1BhcnNlclRva2VuIHRva2VuID0gdG9rZW5p
emVyLm5leHRUb2tlbigpOworICAgICAgICBDU1NQYXJzZXJUb2tlbiB0b2tlbiA9IG5leHRUb2tl
bigpOwogICAgICAgICBpZiAodG9rZW4udHlwZSgpID09IEVPRlRva2VuKQogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGlmICh0b2tlbi50eXBlKCkgPT0gQ29tbWVudFRva2VuKQotICAgICAg
ICAgICAgd3JhcHBlci5hZGRDb21tZW50KG9mZnNldCwgaW5wdXQub2Zmc2V0KCksIG1fdG9rZW5z
LnNpemUoKSk7CisgICAgICAgICAgICB3cmFwcGVyLmFkZENvbW1lbnQob2Zmc2V0LCBtX2lucHV0
Lm9mZnNldCgpLCBtX3Rva2Vucy5zaXplKCkpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAg
IG1fdG9rZW5zLmFwcGVuZCh0b2tlbik7CiAgICAgICAgICAgICB3cmFwcGVyLmFkZFRva2VuKG9m
ZnNldCk7CiAgICAgICAgIH0KLSAgICAgICAgb2Zmc2V0ID0gaW5wdXQub2Zmc2V0KCk7CisgICAg
ICAgIG9mZnNldCA9IG1faW5wdXQub2Zmc2V0KCk7CiAgICAgfQogCiAgICAgd3JhcHBlci5hZGRU
b2tlbihvZmZzZXQpOwogICAgIHdyYXBwZXIuZmluYWxpemVDb25zdHJ1Y3Rpb24obV90b2tlbnMu
YmVnaW4oKSk7CiB9CiAKLUNTU1BhcnNlclRva2VuUmFuZ2UgQ1NTVG9rZW5pemVyOjpTY29wZTo6
dG9rZW5SYW5nZSgpCitDU1NQYXJzZXJUb2tlblJhbmdlIENTU1Rva2VuaXplcjo6dG9rZW5SYW5n
ZSgpCiB7CiAgICAgcmV0dXJuIG1fdG9rZW5zOwogfQogCi11bnNpZ25lZCBDU1NUb2tlbml6ZXI6
OlNjb3BlOjp0b2tlbkNvdW50KCkKK3Vuc2lnbmVkIENTU1Rva2VuaXplcjo6dG9rZW5Db3VudCgp
CiB7CiAgICAgcmV0dXJuIG1fdG9rZW5zLnNpemUoKTsKIH0KQEAgLTExOSwxMiArMTE0LDYgQEAg
c3RhdGljIGJvb2wgdHdvQ2hhcnNBcmVWYWxpZEVzY2FwZShVQ2hhcgogICAgIHJldHVybiBmaXJz
dCA9PSAnXFwnICYmICFpc05ld0xpbmUoc2Vjb25kKTsKIH0KIAotQ1NTVG9rZW5pemVyOjpDU1NU
b2tlbml6ZXIoQ1NTVG9rZW5pemVySW5wdXRTdHJlYW0mIGlucHV0U3RyZWFtLCBTY29wZSYgc2Nv
cGUpCi0gICAgOiBtX2lucHV0KGlucHV0U3RyZWFtKQotICAgICwgbV9zY29wZShzY29wZSkKLXsK
LX0KLQogdm9pZCBDU1NUb2tlbml6ZXI6OnJlY29uc3VtZShVQ2hhciBjKQogewogICAgIG1faW5w
dXQucHVzaEJhY2soYyk7CkBAIC04ODMsNyArODcyLDcgQEAgYm9vbCBDU1NUb2tlbml6ZXI6Om5l
eHRDaGFyc0FyZUlkZW50aWZpZQogCiBTdHJpbmdWaWV3IENTU1Rva2VuaXplcjo6cmVnaXN0ZXJT
dHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7Ci0gICAgbV9zY29wZS5zdG9yZVN0cmluZyhz
dHJpbmcpOworICAgIG1fc3RyaW5nUG9vbC5hcHBlbmQoc3RyaW5nKTsKICAgICByZXR1cm4gc3Ry
aW5nOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Rva2VuaXplci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTVG9rZW5pemVyLmgJ
KHJldmlzaW9uIDIwOTM5NikKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTVG9rZW5p
emVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNwcmFnbWEgb25jZQogCiAj
aW5jbHVkZSAiQ1NTUGFyc2VyVG9rZW4uaCIKKyNpbmNsdWRlICJDU1NUb2tlbml6ZXJJbnB1dFN0
cmVhbS5oIgogI2luY2x1ZGUgPGNsaW1pdHM+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nVmll
dy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtNDQsMjcgKzQ1LDEzIEBA
IGNsYXNzIENTU1Rva2VuaXplciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTVG9rZW5p
emVyKTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBjbGFzcyBT
Y29wZSB7Ci0gICAgcHVibGljOgotICAgICAgICBTY29wZShjb25zdCBTdHJpbmcmKTsKLSAgICAg
ICAgU2NvcGUoY29uc3QgU3RyaW5nJiwgQ1NTUGFyc2VyT2JzZXJ2ZXJXcmFwcGVyJik7IC8vIEZv
ciB0aGUgaW5zcGVjdG9yCi0KLSAgICAgICAgQ1NTUGFyc2VyVG9rZW5SYW5nZSB0b2tlblJhbmdl
KCk7Ci0gICAgICAgIHVuc2lnbmVkIHRva2VuQ291bnQoKTsKLQotICAgIHByaXZhdGU6Ci0gICAg
ICAgIHZvaWQgc3RvcmVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgbV9zdHJpbmdQb29s
LmFwcGVuZChzdHJpbmcpOyB9Ci0gICAgICAgIFZlY3RvcjxDU1NQYXJzZXJUb2tlbiwgMzI+IG1f
dG9rZW5zOwotICAgICAgICAvLyBXZSBvbmx5IGFsbG9jYXRlIHN0cmluZ3Mgd2hlbiBlc2NhcGVz
IGFyZSB1c2VkLgotICAgICAgICBWZWN0b3I8U3RyaW5nPiBtX3N0cmluZ1Bvb2w7Ci0gICAgICAg
IFN0cmluZyBtX3N0cmluZzsKKyAgICBDU1NUb2tlbml6ZXIoY29uc3QgU3RyaW5nJik7CisgICAg
Q1NTVG9rZW5pemVyKGNvbnN0IFN0cmluZyYsIENTU1BhcnNlck9ic2VydmVyV3JhcHBlciYpOyAv
LyBGb3IgdGhlIGluc3BlY3RvcgogCi0gICAgICAgIGZyaWVuZCBjbGFzcyBDU1NUb2tlbml6ZXI7
Ci0gICAgfTsKKyAgICBDU1NQYXJzZXJUb2tlblJhbmdlIHRva2VuUmFuZ2UoKTsKKyAgICB1bnNp
Z25lZCB0b2tlbkNvdW50KCk7CiAKIHByaXZhdGU6Ci0gICAgQ1NTVG9rZW5pemVyKENTU1Rva2Vu
aXplcklucHV0U3RyZWFtJiwgU2NvcGUmKTsKLQogICAgIENTU1BhcnNlclRva2VuIG5leHRUb2tl
bigpOwogCiAgICAgVUNoYXIgY29uc3VtZSgpOwpAQCAtMTI5LDggKzExNiwxMSBAQCBwcml2YXRl
OgogICAgIHN0YXRpYyBjb25zdCBDb2RlUG9pbnQgY29kZVBvaW50c1tdOwogCiAgICAgVmVjdG9y
PENTU1BhcnNlclRva2VuVHlwZSwgOD4gbV9ibG9ja1N0YWNrOwotICAgIENTU1Rva2VuaXplcklu
cHV0U3RyZWFtJiBtX2lucHV0OwotICAgIFNjb3BlJiBtX3Njb3BlOworICAgIENTU1Rva2VuaXpl
cklucHV0U3RyZWFtIG1faW5wdXQ7CisgICAgCisgICAgVmVjdG9yPENTU1BhcnNlclRva2VuLCAz
Mj4gbV90b2tlbnM7CisgICAgLy8gV2Ugb25seSBhbGxvY2F0ZSBzdHJpbmdzIHdoZW4gZXNjYXBl
cyBhcmUgdXNlZC4KKyAgICBWZWN0b3I8U3RyaW5nPiBtX3N0cmluZ1Bvb2w7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Rv
a2VuaXplcklucHV0U3RyZWFtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1Rva2VuaXplcklucHV0U3RyZWFtLmNwcAkocmV2aXNpb24gMjA5Mzk2KQorKysg
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NUb2tlbml6ZXJJbnB1dFN0cmVhbS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1D
U1NUb2tlbml6ZXJJbnB1dFN0cmVhbTo6Q1NTVG9rZW5pemVySW5wdXRTdHJlYW0oU3RyaW5nIGlu
cHV0KQorQ1NTVG9rZW5pemVySW5wdXRTdHJlYW06OkNTU1Rva2VuaXplcklucHV0U3RyZWFtKGNv
bnN0IFN0cmluZyYgaW5wdXQpCiAgICAgOiBtX29mZnNldCgwKQogICAgICwgbV9zdHJpbmdMZW5n
dGgoaW5wdXQubGVuZ3RoKCkpCiAgICAgLCBtX3N0cmluZyhpbnB1dC5pbXBsKCkpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Rva2VuaXplcklucHV0U3RyZWFtLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NUb2tlbml6ZXJJbnB1dFN0cmVh
bS5oCShyZXZpc2lvbiAyMDkzOTYpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Rv
a2VuaXplcklucHV0U3RyZWFtLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgY2xh
c3MgQ1NTVG9rZW5pemVySW5wdXRTdHJlYW0gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENT
U1Rva2VuaXplcklucHV0U3RyZWFtKTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKLSAgICBleHBsaWNpdCBDU1NUb2tlbml6ZXJJbnB1dFN0cmVhbShTdHJpbmcgaW5wdXQp
OworICAgIGV4cGxpY2l0IENTU1Rva2VuaXplcklucHV0U3RyZWFtKGNvbnN0IFN0cmluZyYgaW5w
dXQpOwogCiAgICAgLy8gR2V0cyB0aGUgY2hhciBpbiB0aGUgc3RyZWFtIHJlcGxhY2luZyBOVUwg
Y2hhcmFjdGVycyB3aXRoIGEgdW5pY29kZQogICAgIC8vIHJlcGxhY2VtZW50IGNoYXJhY3Rlci4g
V2lsbCByZXR1cm4gKE5VTCkga0VuZE9mRmlsZU1hcmtlciB3aGVuIGF0IHRoZQpAQCAtMTAxLDcg
KzEwMSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fb2Zmc2V0OwogICAgIGNv
bnN0IHNpemVfdCBtX3N0cmluZ0xlbmd0aDsKLSAgICBjb25zdCBSZWZQdHI8U3RyaW5nSW1wbD4g
bV9zdHJpbmc7CisgICAgUmVmUHRyPFN0cmluZ0ltcGw+IG1fc3RyaW5nOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9NZWRpYVF1
ZXJ5UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL01l
ZGlhUXVlcnlQYXJzZXIuY3BwCShyZXZpc2lvbiAyMDkzOTYpCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL01lZGlhUXVlcnlQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICsz
OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUmVmUHRyPE1lZGlhUXVlcnlTZXQ+IE1lZGlh
UXVlcnlQYXJzZXI6OnBhcnNlTWVkaWFRdWVyeVNldChjb25zdCBTdHJpbmcmIHF1ZXJ5U3RyaW5n
KQogewotICAgIHJldHVybiBwYXJzZU1lZGlhUXVlcnlTZXQoQ1NTVG9rZW5pemVyOjpTY29wZShx
dWVyeVN0cmluZykudG9rZW5SYW5nZSgpKTsKKyAgICByZXR1cm4gcGFyc2VNZWRpYVF1ZXJ5U2V0
KENTU1Rva2VuaXplcihxdWVyeVN0cmluZykudG9rZW5SYW5nZSgpKTsKIH0KIAogUmVmUHRyPE1l
ZGlhUXVlcnlTZXQ+IE1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlTWVkaWFRdWVyeVNldChDU1NQYXJz
ZXJUb2tlblJhbmdlIHJhbmdlKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXpl
c0F0dHJpYnV0ZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5jcHAJKHJldmlzaW9uIDIwOTM5NikKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03MCw3ICs3MCw3IEBAIFNpemVzQXR0cmlidXRlUGFyc2VyOjpTaXplc0F0dHJpYnV0
ZVBhcnMKICAgICAsIG1fbGVuZ3RoKDApCiAgICAgLCBtX2xlbmd0aFdhc1NldChmYWxzZSkKIHsK
LSAgICBtX2lzVmFsaWQgPSBwYXJzZShDU1NUb2tlbml6ZXI6OlNjb3BlKGF0dHJpYnV0ZSkudG9r
ZW5SYW5nZSgpKTsKKyAgICBtX2lzVmFsaWQgPSBwYXJzZShDU1NUb2tlbml6ZXIoYXR0cmlidXRl
KS50b2tlblJhbmdlKCkpOwogfQogCiBmbG9hdCBTaXplc0F0dHJpYnV0ZVBhcnNlcjo6bGVuZ3Ro
KCkK
</data>
<flag name="review"
          id="318847"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>