<?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>163913</bug_id>
          
          <creation_ts>2016-10-24 14:39:36 -0700</creation_ts>
          <short_desc>[CSS Parser] Fix :lang argument parsing</short_desc>
          <delta_ts>2016-12-08 20:21:58 -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>CSS</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>
          <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1243892</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-24 14:39:36 -0700</bug_when>
    <thetext>Fix :lang argument parsing to support a list rather than a single identifier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243893</commentid>
    <comment_count>1</comment_count>
      <attachid>292656</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-24 14:42:02 -0700</bug_when>
    <thetext>Created attachment 292656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243905</commentid>
    <comment_count>2</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-24 14:54:40 -0700</bug_when>
    <thetext>Landed in r207783.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243975</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-10-24 17:06:12 -0700</bug_when>
    <thetext>This change appears to have caused fast/selectors/invalid-functional-pseudo-class.html to crash on iOS and macOS:

https://build.webkit.org/results/Apple%20El%20Capitan%20Release%20WK2%20(Tests)/r207786%20(10558)/results.html
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=fast%2Fselectors%2Finvalid-functional-pseudo-class.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243982</commentid>
    <comment_count>4</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-10-24 17:14:29 -0700</bug_when>
    <thetext>Reverted r207783 for reason:

This change appears to have caused fast/selectors/invalid-functional-pseudo-class.html to crash on iOS and macOS

Committed r207790: &lt;http://trac.webkit.org/changeset/207790&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292656</attachid>
            <date>2016-10-24 14:42:02 -0700</date>
            <delta_ts>2016-10-24 14:44:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>11248</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNzc4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE2LTEwLTI0ICBEYXZlIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgUGFyc2VyXSBGaXggOmxhbmcg
YXJndW1lbnQgcGFyc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYzOTEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBjc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50
TWFwLmluOgorICAgICAgICBNb2RpZnkgdGhlIG1hcCB0byBzdXBwb3J0IHZlcnNpb25zIG9mIHRo
ZSBmdW5jdGlvbiBwc2V1ZG9zCisgICAgICAgIHdpdGhvdXQgdGhlIGxlZnQgcGFyZW4gaW5jbHVk
ZWQuCisKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlclZhbHVlcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXJTZWxlY3Rvcjo6c2V0TGFuZ0FyZ3VtZW50TGlzdCk6CisgICAg
ICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJWYWx1ZXMuaDoKKyAgICAgICAgQWRkIGEgaGVscGVy
IHRvIGp1c3QgZGlyZWN0bHkgcGFzcyBhbiBBdG9taWNTdHJpbmcgVmVjdG9yIHRocm91Z2guCisK
KyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmNvbnN1bWVMYW5nQXJndW1lbnRMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Nl
bGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKToKKyAgICAgICAgQWRkIGEgbmV3IGNvbnN1bWVM
YW5nQXJndW1lbnRMaXN0IHRvIGNvbGxlY3QgdGhlIGxhbmd1YWdlcyBpbnRvCisgICAgICAgIGFu
IEF0b21pY1N0cmluZyBWZWN0b3IuCisKIDIwMTYtMTAtMjQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggQXBwbGVXaW4gYnVpbGQgYWZ0
ZXIgcjIwNzcyMC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb0NsYXNz
QW5kQ29tcGF0aWJpbGl0eUVsZW1lbnRNYXAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1hcC5pbgko
cmV2aXNpb24gMjA3NzY2KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yUHNldWRvQ2xh
c3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1hcC5pbgkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsx
LDUgQEAKIC1raHRtbC1kcmFnCistd2Via2l0LWFueQogLXdlYmtpdC1hbnkoCiAtd2Via2l0LWFu
eS1saW5rLCBQc2V1ZG9DbGFzc0FueUxpbmtEZXByZWNhdGVkLCBQc2V1ZG9FbGVtZW50VW5rbm93
bgogLXdlYmtpdC1hdXRvZmlsbApAQCAtMTMsNiArMTQsNyBAQCBjb3JuZXItcHJlc2VudAogZGVj
cmVtZW50CiBkZWZhdWx0CiAjaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQorZGlyCiBk
aXIoCiAjZW5kaWYKIGRpc2FibGVkCkBAIC0zMywxNiArMzUsMjMgQEAgaW4tcmFuZ2UKIGluY3Jl
bWVudAogaW5kZXRlcm1pbmF0ZQogaW52YWxpZAorbGFuZwogbGFuZygKIGxhc3QtY2hpbGQKIGxh
c3Qtb2YtdHlwZQogbGluaworbWF0Y2hlcwogbWF0Y2hlcygKIG5vLWJ1dHRvbgorbm90CiBub3Qo
CitudGgtY2hpbGQKIG50aC1jaGlsZCgKK250aC1sYXN0LWNoaWxkCiBudGgtbGFzdC1jaGlsZCgK
K250aC1sYXN0LW9mLXR5cGUKIG50aC1sYXN0LW9mLXR5cGUoCitudGgtb2YtdHlwZQogbnRoLW9m
LXR5cGUoCiBvbmx5LWNoaWxkCiBvbmx5LW9mLXR5cGUKQEAgLTUzLDYgKzYyLDcgQEAgcmVhZC1v
bmx5CiByZWFkLXdyaXRlCiByZXF1aXJlZAogI2lmIEVOQUJMRShDU1NfU0VMRUNUT1JTX0xFVkVM
NCkKK3JvbGUKIHJvbGUoCiAjZW5kaWYKIHJvb3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUGFyc2VyVmFsdWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1BhcnNlclZhbHVlcy5jcHAJKHJldmlzaW9uIDIwNzc2NikKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVmFsdWVzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDEwLDcgKzQxMCwxMyBAQCB2b2lkIENTU1BhcnNlclNlbGVjdG9yOjpzZXRMYW5nQXJndW1l
bnRMCiAgICAgICAgIGFyZ3VtZW50TGlzdC0+YXBwZW5kKGxhbmd1YWdlQXJndW1lbnQpOwogICAg
IG1fc2VsZWN0b3ItPnNldExhbmdBcmd1bWVudExpc3QoV1RGTW92ZShhcmd1bWVudExpc3QpKTsK
IH0KLSAgICAKKwordm9pZCBDU1NQYXJzZXJTZWxlY3Rvcjo6c2V0TGFuZ0FyZ3VtZW50TGlzdChz
dGQ6OnVuaXF1ZV9wdHI8VmVjdG9yPEF0b21pY1N0cmluZz4+IGFyZ3VtZW50TGlzdCkKK3sKKyAg
ICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFhcmd1bWVudExpc3QtPmlzRW1wdHkoKSwgIk5vIENTUyBT
ZWxlY3RvciB0YWtlcyBhbiBlbXB0eSBhcmd1bWVudCBsaXN0LiIpOworICAgIG1fc2VsZWN0b3It
PnNldExhbmdBcmd1bWVudExpc3QoV1RGTW92ZShhcmd1bWVudExpc3QpKTsKK30KKwogdm9pZCBD
U1NQYXJzZXJTZWxlY3Rvcjo6c2V0U2VsZWN0b3JMaXN0KHN0ZDo6dW5pcXVlX3B0cjxDU1NTZWxl
Y3Rvckxpc3Q+IHNlbGVjdG9yTGlzdCkKIHsKICAgICBtX3NlbGVjdG9yLT5zZXRTZWxlY3Rvckxp
c3QoV1RGTW92ZShzZWxlY3Rvckxpc3QpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUGFyc2VyVmFsdWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQYXJzZXJWYWx1ZXMuaAkocmV2aXNpb24gMjA3NzY2KQorKysgU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQYXJzZXJWYWx1ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjM1LDYg
KzIzNSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRvcHRTZWxlY3RvclZlY3RvcihWZWN0b3I8
c3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPj4mIHNlbGVjdG9yVmVjdG9yKTsKICAg
ICB2b2lkIHNldExhbmdBcmd1bWVudExpc3QoY29uc3QgVmVjdG9yPENTU1BhcnNlclN0cmluZz4m
IHN0cmluZ1ZlY3Rvcik7CisgICAgdm9pZCBzZXRMYW5nQXJndW1lbnRMaXN0KHN0ZDo6dW5pcXVl
X3B0cjxWZWN0b3I8QXRvbWljU3RyaW5nPj4pOwogICAgIHZvaWQgc2V0U2VsZWN0b3JMaXN0KHN0
ZDo6dW5pcXVlX3B0cjxDU1NTZWxlY3Rvckxpc3Q+KTsKIAogICAgIHZvaWQgc2V0UHNldWRvQ2xh
c3NWYWx1ZShjb25zdCBDU1NQYXJzZXJTdHJpbmcmIHBzZXVkb0NsYXNzU3RyaW5nKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCShy
ZXZpc2lvbiAyMDc3NjYpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9y
UGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAwLDYgKzEwMCwyMyBAQCBDU1NTZWxlY3Rv
ckxpc3QgQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1CiAgICAgcmV0dXJuIGxpc3Q7CiB9CiAKK3N0
YXRpYyB2b2lkIGNvbnN1bWVMYW5nQXJndW1lbnRMaXN0KHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8
QXRvbWljU3RyaW5nPj4mIGFyZ3VtZW50TGlzdCwgQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2Up
Cit7CisgICAgY29uc3QgQ1NTUGFyc2VyVG9rZW4mIGlkZW50ID0gcmFuZ2UuY29uc3VtZUluY2x1
ZGluZ1doaXRlc3BhY2UoKTsKKyAgICBpZiAoaWRlbnQudHlwZSgpICE9IElkZW50VG9rZW4pCisg
ICAgICAgIHJldHVybjsKKyAgICBhcmd1bWVudExpc3QtPmFwcGVuZChpZGVudC52YWx1ZSgpLnRv
QXRvbWljU3RyaW5nKCkpOworICAgIHdoaWxlICghcmFuZ2UuYXRFbmQoKSAmJiByYW5nZS5wZWVr
KCkudHlwZSgpID09IENvbW1hVG9rZW4pIHsKKyAgICAgICAgcmFuZ2UuY29uc3VtZUluY2x1ZGlu
Z1doaXRlc3BhY2UoKTsKKyAgICAgICAgY29uc3QgQ1NTUGFyc2VyVG9rZW4mIGlkZW50ID0gcmFu
Z2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKyAgICAgICAgaWYgKGlkZW50LnR5cGUo
KSAhPSBJZGVudFRva2VuKSB7CisgICAgICAgICAgICBhcmd1bWVudExpc3QtPmNsZWFyKCk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgYXJndW1lbnRMaXN0LT5hcHBl
bmQoaWRlbnQudmFsdWUoKS50b0F0b21pY1N0cmluZygpKTsKKyAgICB9Cit9CisgICAgCiBuYW1l
c3BhY2UgewogCiBlbnVtIENvbXBvdW5kU2VsZWN0b3JGbGFncyB7CkBAIC00NjksNzcgKzQ4Niw4
MiBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+IENTU1NlCiAgICAgaWYgKHRv
a2VuLnR5cGUoKSAhPSBGdW5jdGlvblRva2VuKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAot
ICAgIHN3aXRjaCAoc2VsZWN0b3ItPnBzZXVkb0NsYXNzVHlwZSgpKSB7Ci0gICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvQ2xhc3NOb3Q6IHsKLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPENTU1Bh
cnNlclNlbGVjdG9yPiBpbm5lclNlbGVjdG9yID0gY29uc3VtZUNvbXBvdW5kU2VsZWN0b3IoYmxv
Y2spOwotICAgICAgICBibG9jay5jb25zdW1lV2hpdGVzcGFjZSgpOwotICAgICAgICBpZiAoIWlu
bmVyU2VsZWN0b3IgfHwgIWJsb2NrLmF0RW5kKCkpCi0gICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKLSAgICAgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4+IHNl
bGVjdG9yVmVjdG9yOwotICAgICAgICBzZWxlY3RvclZlY3Rvci5hcHBlbmQoV1RGTW92ZShpbm5l
clNlbGVjdG9yKSk7Ci0gICAgICAgIHNlbGVjdG9yLT5hZG9wdFNlbGVjdG9yVmVjdG9yKHNlbGVj
dG9yVmVjdG9yKTsKLSAgICAgICAgcmV0dXJuIHNlbGVjdG9yOwotICAgIH0KLSAgICBjYXNlIENT
U1NlbGVjdG9yOjpQc2V1ZG9DbGFzc050aENoaWxkOgotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBz
ZXVkb0NsYXNzTnRoTGFzdENoaWxkOgotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNz
TnRoT2ZUeXBlOgotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzTnRoTGFzdE9mVHlw
ZTogewotICAgICAgICBzdGQ6OnBhaXI8aW50LCBpbnQ+IGFiOwotICAgICAgICBpZiAoIWNvbnN1
bWVBTlBsdXNCKGJsb2NrLCBhYikpCi0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAg
ICAgYmxvY2suY29uc3VtZVdoaXRlc3BhY2UoKTsKLSAgICAgICAgaWYgKCFibG9jay5hdEVuZCgp
KQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHNlbGVjdG9yLT5zZXRBcmd1
bWVudChBdG9taWNTdHJpbmc6Om51bWJlcihhYi5maXJzdCAqIGFiLnNlY29uZCkpOwotICAgICAg
ICByZXR1cm4gc2VsZWN0b3I7Ci0gICAgfQotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0Ns
YXNzTGFuZzogewotICAgICAgICAvLyBGSVhNRTogQ1NTIFNlbGVjdG9ycyBMZXZlbCA0IGFsbG93
cyA6bGFuZygqLWZvbykKLSAgICAgICAgY29uc3QgQ1NTUGFyc2VyVG9rZW4mIGlkZW50ID0gYmxv
Y2suY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKLSAgICAgICAgaWYgKGlkZW50LnR5cGUo
KSAhPSBJZGVudFRva2VuIHx8ICFibG9jay5hdEVuZCgpKQotICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgICAgIHNlbGVjdG9yLT5zZXRBcmd1bWVudChpZGVudC52YWx1ZSgpLnRvQXRv
bWljU3RyaW5nKCkpOwotICAgICAgICByZXR1cm4gc2VsZWN0b3I7Ci0gICAgfQotICAgIC8vIEZJ
WE1FLU5FV1BBUlNFUjogU3VwcG9ydCA6aG9zdC1jb250ZXh0Ci0gICAgY2FzZSBDU1NTZWxlY3Rv
cjo6UHNldWRvQ2xhc3NBbnk6Ci0gICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NIb3N0
OiB7Ci0gICAgICAgIERpc2FsbG93UHNldWRvRWxlbWVudHNTY29wZSBzY29wZSh0aGlzKTsKLSAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPENTU1NlbGVjdG9yTGlzdD4gc2VsZWN0b3JMaXN0ID0gc3Rk
Ojp1bmlxdWVfcHRyPENTU1NlbGVjdG9yTGlzdD4obmV3IENTU1NlbGVjdG9yTGlzdCgpKTsKLSAg
ICAgICAgKnNlbGVjdG9yTGlzdCA9IGNvbnN1bWVDb21wb3VuZFNlbGVjdG9yTGlzdChibG9jayk7
Ci0gICAgICAgIGlmICghc2VsZWN0b3JMaXN0LT5pc1ZhbGlkKCkgfHwgIWJsb2NrLmF0RW5kKCkp
Ci0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgc2VsZWN0b3ItPnNldFNlbGVj
dG9yTGlzdChXVEZNb3ZlKHNlbGVjdG9yTGlzdCkpOwotICAgICAgICByZXR1cm4gc2VsZWN0b3I7
Ci0gICAgfQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIHN3aXRj
aCAoc2VsZWN0b3ItPnBzZXVkb0VsZW1lbnRUeXBlKCkpIHsKLSAgICBjYXNlIENTU1NlbGVjdG9y
OjpQc2V1ZG9FbGVtZW50Q3VlOiB7Ci0gICAgICAgIERpc2FsbG93UHNldWRvRWxlbWVudHNTY29w
ZSBzY29wZSh0aGlzKTsKLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPENTU1NlbGVjdG9yTGlzdD4g
c2VsZWN0b3JMaXN0ID0gc3RkOjp1bmlxdWVfcHRyPENTU1NlbGVjdG9yTGlzdD4obmV3IENTU1Nl
bGVjdG9yTGlzdCgpKTsKLSAgICAgICAgKnNlbGVjdG9yTGlzdCA9IGNvbnN1bWVDb21wb3VuZFNl
bGVjdG9yTGlzdChibG9jayk7Ci0gICAgICAgIGlmICghc2VsZWN0b3JMaXN0LT5pc1ZhbGlkKCkg
fHwgIWJsb2NrLmF0RW5kKCkpCi0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAg
c2VsZWN0b3ItPnNldFNlbGVjdG9yTGlzdChXVEZNb3ZlKHNlbGVjdG9yTGlzdCkpOwotICAgICAg
ICByZXR1cm4gc2VsZWN0b3I7CisgICAgaWYgKHNlbGVjdG9yLT5tYXRjaCgpID09IENTU1NlbGVj
dG9yOjpQc2V1ZG9DbGFzcykgeworICAgICAgICBzd2l0Y2ggKHNlbGVjdG9yLT5wc2V1ZG9DbGFz
c1R5cGUoKSkgeworICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc05vdDogewor
ICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBpbm5lclNlbGVj
dG9yID0gY29uc3VtZUNvbXBvdW5kU2VsZWN0b3IoYmxvY2spOworICAgICAgICAgICAgYmxvY2su
Y29uc3VtZVdoaXRlc3BhY2UoKTsKKyAgICAgICAgICAgIGlmICghaW5uZXJTZWxlY3RvciB8fCAh
YmxvY2suYXRFbmQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAg
ICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+PiBzZWxlY3RvclZl
Y3RvcjsKKyAgICAgICAgICAgIHNlbGVjdG9yVmVjdG9yLmFwcGVuZChXVEZNb3ZlKGlubmVyU2Vs
ZWN0b3IpKTsKKyAgICAgICAgICAgIHNlbGVjdG9yLT5hZG9wdFNlbGVjdG9yVmVjdG9yKHNlbGVj
dG9yVmVjdG9yKTsKKyAgICAgICAgICAgIHJldHVybiBzZWxlY3RvcjsKKyAgICAgICAgfQorICAg
ICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc050aENoaWxkOgorICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc050aExhc3RDaGlsZDoKKyAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvQ2xhc3NOdGhPZlR5cGU6CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlBzZXVkb0NsYXNzTnRoTGFzdE9mVHlwZTogeworICAgICAgICAgICAgc3RkOjpwYWlyPGludCwg
aW50PiBhYjsKKyAgICAgICAgICAgIGlmICghY29uc3VtZUFOUGx1c0IoYmxvY2ssIGFiKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgICAgIGJsb2NrLmNvbnN1bWVX
aGl0ZXNwYWNlKCk7CisgICAgICAgICAgICBpZiAoIWJsb2NrLmF0RW5kKCkpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBzZWxlY3Rvci0+c2V0QXJndW1lbnQo
QXRvbWljU3RyaW5nOjpudW1iZXIoYWIuZmlyc3QgKiBhYi5zZWNvbmQpKTsKKyAgICAgICAgICAg
IHJldHVybiBzZWxlY3RvcjsKKyAgICAgICAgfQorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQ
c2V1ZG9DbGFzc0xhbmc6IHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBDU1MgU2VsZWN0b3JzIExl
dmVsIDQgYWxsb3dzIDpsYW5nKCotZm9vKQorICAgICAgICAgICAgYXV0byBhcmd1bWVudExpc3Qg
PSBzdGQ6Om1ha2VfdW5pcXVlPFZlY3RvcjxBdG9taWNTdHJpbmc+PigpOworICAgICAgICAgICAg
Y29uc3VtZUxhbmdBcmd1bWVudExpc3QoYXJndW1lbnRMaXN0LCBibG9jayk7CisgICAgICAgICAg
ICBpZiAoYXJndW1lbnRMaXN0LT5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgICAgICAgICBzZWxlY3Rvci0+c2V0TGFuZ0FyZ3VtZW50TGlzdChXVEZNb3Zl
KGFyZ3VtZW50TGlzdCkpOworICAgICAgICAgICAgcmV0dXJuIHNlbGVjdG9yOworICAgICAgICB9
CisgICAgICAgIC8vIEZJWE1FLU5FV1BBUlNFUjogU3VwcG9ydCA6aG9zdC1jb250ZXh0CisgICAg
ICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzQW55OgorICAgICAgICBjYXNlIENTU1Nl
bGVjdG9yOjpQc2V1ZG9DbGFzc0hvc3Q6IHsKKyAgICAgICAgICAgIERpc2FsbG93UHNldWRvRWxl
bWVudHNTY29wZSBzY29wZSh0aGlzKTsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxDU1NT
ZWxlY3Rvckxpc3Q+IHNlbGVjdG9yTGlzdCA9IHN0ZDo6dW5pcXVlX3B0cjxDU1NTZWxlY3Rvckxp
c3Q+KG5ldyBDU1NTZWxlY3Rvckxpc3QoKSk7CisgICAgICAgICAgICAqc2VsZWN0b3JMaXN0ID0g
Y29uc3VtZUNvbXBvdW5kU2VsZWN0b3JMaXN0KGJsb2NrKTsKKyAgICAgICAgICAgIGlmICghc2Vs
ZWN0b3JMaXN0LT5pc1ZhbGlkKCkgfHwgIWJsb2NrLmF0RW5kKCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBzZWxlY3Rvci0+c2V0U2VsZWN0b3JMaXN0KFdU
Rk1vdmUoc2VsZWN0b3JMaXN0KSk7CisgICAgICAgICAgICByZXR1cm4gc2VsZWN0b3I7CisgICAg
ICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAg
ICAgfQotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRTbG90dGVkOiB7Ci0gICAg
ICAgIERpc2FsbG93UHNldWRvRWxlbWVudHNTY29wZSBzY29wZSh0aGlzKTsKKyAgICAKKyAgICBp
ZiAoc2VsZWN0b3ItPm1hdGNoKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQpIHsKKyAg
ICAgICAgc3dpdGNoIChzZWxlY3Rvci0+cHNldWRvRWxlbWVudFR5cGUoKSkgeworICAgICAgICBj
YXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50Q3VlOiB7CisgICAgICAgICAgICBEaXNhbGxv
d1BzZXVkb0VsZW1lbnRzU2NvcGUgc2NvcGUodGhpcyk7CisgICAgICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8Q1NTU2VsZWN0b3JMaXN0PiBzZWxlY3Rvckxpc3QgPSBzdGQ6OnVuaXF1ZV9wdHI8Q1NT
U2VsZWN0b3JMaXN0PihuZXcgQ1NTU2VsZWN0b3JMaXN0KCkpOworICAgICAgICAgICAgKnNlbGVj
dG9yTGlzdCA9IGNvbnN1bWVDb21wb3VuZFNlbGVjdG9yTGlzdChibG9jayk7CisgICAgICAgICAg
ICBpZiAoIXNlbGVjdG9yTGlzdC0+aXNWYWxpZCgpIHx8ICFibG9jay5hdEVuZCgpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgc2VsZWN0b3ItPnNldFNlbGVj
dG9yTGlzdChXVEZNb3ZlKHNlbGVjdG9yTGlzdCkpOworICAgICAgICAgICAgcmV0dXJuIHNlbGVj
dG9yOworICAgICAgICB9CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRT
bG90dGVkOiB7CisgICAgICAgICAgICBEaXNhbGxvd1BzZXVkb0VsZW1lbnRzU2NvcGUgc2NvcGUo
dGhpcyk7CiAKLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBpbm5l
clNlbGVjdG9yID0gY29uc3VtZUNvbXBvdW5kU2VsZWN0b3IoYmxvY2spOwotICAgICAgICBibG9j
ay5jb25zdW1lV2hpdGVzcGFjZSgpOwotICAgICAgICBpZiAoIWlubmVyU2VsZWN0b3IgfHwgIWJs
b2NrLmF0RW5kKCkpCi0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgVmVjdG9y
PHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4+IHNlbGVjdG9yVmVjdG9yOwotICAg
ICAgICBzZWxlY3RvclZlY3Rvci5hcHBlbmQoV1RGTW92ZShpbm5lclNlbGVjdG9yKSk7Ci0gICAg
ICAgIHNlbGVjdG9yLT5hZG9wdFNlbGVjdG9yVmVjdG9yKHNlbGVjdG9yVmVjdG9yKTsKLSAgICAg
ICAgcmV0dXJuIHNlbGVjdG9yOwotICAgIH0KLSAgICBkZWZhdWx0OgotICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gaW5uZXJTZWxl
Y3RvciA9IGNvbnN1bWVDb21wb3VuZFNlbGVjdG9yKGJsb2NrKTsKKyAgICAgICAgICAgIGJsb2Nr
LmNvbnN1bWVXaGl0ZXNwYWNlKCk7CisgICAgICAgICAgICBpZiAoIWlubmVyU2VsZWN0b3IgfHwg
IWJsb2NrLmF0RW5kKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAg
ICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPj4gc2VsZWN0b3JW
ZWN0b3I7CisgICAgICAgICAgICBzZWxlY3RvclZlY3Rvci5hcHBlbmQoV1RGTW92ZShpbm5lclNl
bGVjdG9yKSk7CisgICAgICAgICAgICBzZWxlY3Rvci0+YWRvcHRTZWxlY3RvclZlY3RvcihzZWxl
Y3RvclZlY3Rvcik7CisgICAgICAgICAgICByZXR1cm4gc2VsZWN0b3I7CisgICAgICAgIH0KKyAg
ICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQogCiAg
ICAgcmV0dXJuIG51bGxwdHI7Cg==
</data>
<flag name="review"
          id="315679"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>