<?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>96445</bug_id>
          
          <creation_ts>2012-09-11 16:08:21 -0700</creation_ts>
          <short_desc>Introduce SelectorCheckingEffects.</short_desc>
          <delta_ts>2022-02-27 23:55:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>96425</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>eric</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>717679</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-09-11 16:08:21 -0700</bug_when>
    <thetext>Introduce StyleCheckingEffects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717685</commentid>
    <comment_count>1</comment_count>
      <attachid>163472</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-09-11 16:11:26 -0700</bug_when>
    <thetext>Created attachment 163472
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717686</commentid>
    <comment_count>2</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-09-11 16:11:52 -0700</bug_when>
    <thetext>This</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717687</commentid>
    <comment_count>3</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-09-11 16:12:26 -0700</bug_when>
    <thetext>This is based off the patch on bug 96425. Expect purple until it lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717698</commentid>
    <comment_count>4</comment_count>
      <attachid>163472</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-09-11 16:22:13 -0700</bug_when>
    <thetext>Comment on attachment 163472
Patch

Effects is kinda an odd name, but this looks fine.  I don&apos;t have any better suggestions. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718282</commentid>
    <comment_count>5</comment_count>
      <attachid>163472</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-09-12 06:03:50 -0700</bug_when>
    <thetext>Comment on attachment 163472
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=163472&amp;action=review

&gt; Source/WebCore/css/SelectorChecker.h:80
&gt; +    // Some information can&apos;t be determined until the selector checking runs.
&gt; +    // This struct captures that information.
&gt; +    struct SelectorCheckingEffects {

Name &quot;Effects&quot; doesn&apos;t make sense to me here. Wouldn&apos;t it be better to capture all return values (including SelectorMatch) to something like SelectorCheckResult?

r- for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718436</commentid>
    <comment_count>6</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-09-12 09:12:16 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 163472 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=163472&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/SelectorChecker.h:80
&gt; &gt; +    // Some information can&apos;t be determined until the selector checking runs.
&gt; &gt; +    // This struct captures that information.
&gt; &gt; +    struct SelectorCheckingEffects {
&gt; 
&gt; Name &quot;Effects&quot; doesn&apos;t make sense to me here. Wouldn&apos;t it be better to capture all return values (including SelectorMatch) to something like SelectorCheckResult?

Yup. Sounds good.

&gt; 
&gt; r- for now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163472</attachid>
            <date>2012-09-11 16:11:26 -0700</date>
            <delta_ts>2022-02-27 23:55:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96445-20120911161101.patch</filename>
            <type>text/plain</type>
            <size>15056</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI5YzkxYzM1Mjg0OTk2
MDBhYzQ4MzRmMjFiYzMwYWUyZDhkODA3Yi4uN2VjZTBmODU5ZjFiODI1NDQ4MmNmNjUwNzI4ZWUw
NGVjNjY0ZjIzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDEyLTA5LTExICBEaW1p
dHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgSW50cm9kdWNl
IFNlbGVjdG9yQ2hlY2tpbmdFZmZlY3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9OTY0NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbnN0ZWFkIG9mIGhhdmluZyBtdWx0aXBsZSBieS1yZWZlcmVuY2Ug
cGFyYW1zIGluIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3Rvciwgd2UgYWRkIG9uZSBzdHJ1
Y3QgY2FsbGVkIFNlbGVjdG9yQ2hlY2tpbmdFZmZlY3RzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cywganVzdCByZWZhY3RvcmluZy4gQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAg
ICAqIGNzcy9TZWxlY3RvckNoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JD
aGVja2VyOjpjaGVja1NlbGVjdG9yKTogQ2hhbmdlZCB0byB1c2UgU2VsZWN0b3JDaGVja2luZ0Vm
ZmVjdHMuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hl
Y2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0
b3JDaGVja2VyOjpjaGVja1Njcm9sbGJhclBzZXVkb0NsYXNzKTogUmVtb3ZlZCB1bnVzZWQgcGFy
YW0uCisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5oOgorICAgICAgICAoU2VsZWN0b3JD
aGVja2VyKTogQ2hhbmdlZCBkZWNsLgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2Vy
OjpTZWxlY3RvckNoZWNraW5nRWZmZWN0czo6U2VsZWN0b3JDaGVja2luZ0VmZmVjdHMpOiBBZGRl
ZC4KKyAgICAgICAgKFNlbGVjdG9yQ2hlY2tpbmdFZmZlY3RzKTogQWRkZWQuCisgICAgICAgICog
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6
Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KTogQ2hhbmdlZCB0byB1c2UgU2VsZWN0b3JDaGVj
a2luZ0VmZmVjdHMuCisKKzIwMTItMDktMTEgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNo
cm9taXVtLm9yZz4KKwogICAgICAgICBSZW1vdmUgdHJhbnNpZW50IHN0YXRlIHJlZ2FyZGluZyB1
a25vd24gcHNldWRvZWxlbWVudHMgZnJvbSBTZWxlY3RvckNoZWNrZXIuCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQyNQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IDQ4NWQ2Y2M2MTc2NzI3MDRkYjJkNmVmMTVlMmNj
MTA1OWNlMGFhMjIuLjZkNWE0NzJjMTFkMGJmOTk3ZjJiNjcyYzBmZDAzNjljZDFiM2VhMDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCkBAIC0yNjYsOSArMjY2LDggQEAg
Ym9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwgRWxl
bWVudCogZWxlbWVudCwgYm9vbCBpc0YKICAgICAgICAgcmV0dXJuIGZhc3RDaGVja1NlbGVjdG9y
KHNlbCwgZWxlbWVudCk7CiAgICAgfQogCi0gICAgUHNldWRvSWQgZHluYW1pY1BzZXVkbyA9IE5P
UFNFVURPOwotICAgIGJvb2wgaGFzVW5rbm93blBzZXVkb0VsZW1lbnRzID0gZmFsc2U7Ci0gICAg
cmV0dXJuIGNoZWNrU2VsZWN0b3IoU2VsZWN0b3JDaGVja2luZ0NvbnRleHQoc2VsLCBlbGVtZW50
LCBTZWxlY3RvckNoZWNrZXI6OlZpc2l0ZWRNYXRjaERpc2FibGVkKSwgZHluYW1pY1BzZXVkbywg
aGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKSA9PSBTZWxlY3Rvck1hdGNoZXM7CisgICAgU2VsZWN0
b3JDaGVja2luZ0VmZmVjdHMgZWZmZWN0czsKKyAgICByZXR1cm4gY2hlY2tTZWxlY3RvcihTZWxl
Y3RvckNoZWNraW5nQ29udGV4dChzZWwsIGVsZW1lbnQsIFNlbGVjdG9yQ2hlY2tlcjo6VmlzaXRl
ZE1hdGNoRGlzYWJsZWQpLCBlZmZlY3RzKSA9PSBTZWxlY3Rvck1hdGNoZXM7CiB9CiAKIG5hbWVz
cGFjZSB7CkBAIC00MzksMTAgKzQzOCwxMCBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6aXNGYXN0
Q2hlY2thYmxlU2VsZWN0b3IoY29uc3QgQ1NTU2VsZWN0b3IqIHNlbGVjdG9yKQogLy8gKiBTZWxl
Y3RvckZhaWxzTG9jYWxseSAgICAgLSB0aGUgc2VsZWN0b3IgZmFpbHMgZm9yIHRoZSBlbGVtZW50
IGUKIC8vICogU2VsZWN0b3JGYWlsc0FsbFNpYmxpbmdzIC0gdGhlIHNlbGVjdG9yIGZhaWxzIGZv
ciBlIGFuZCBhbnkgc2libGluZyBvZiBlCiAvLyAqIFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5ICAt
IHRoZSBzZWxlY3RvciBmYWlscyBmb3IgZSBhbmQgYW55IHNpYmxpbmcgb3IgYW5jZXN0b3Igb2Yg
ZQotU2VsZWN0b3JDaGVja2VyOjpTZWxlY3Rvck1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tT
ZWxlY3Rvcihjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgUHNldWRvSWQm
IGR5bmFtaWNQc2V1ZG8sIGJvb2wmIGhhc1Vua25vd25Qc2V1ZG9FbGVtZW50cykgY29uc3QKK1Nl
bGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JNYXRjaCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2VsZWN0
b3IoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQsIFNlbGVjdG9yQ2hlY2tp
bmdFZmZlY3RzJiBlZmZlY3RzKSBjb25zdAogewogICAgIC8vIGZpcnN0IHNlbGVjdG9yIGhhcyB0
byBtYXRjaAotICAgIGlmICghY2hlY2tPbmVTZWxlY3Rvcihjb250ZXh0LCBkeW5hbWljUHNldWRv
LCBoYXNVbmtub3duUHNldWRvRWxlbWVudHMpKQorICAgIGlmICghY2hlY2tPbmVTZWxlY3Rvcihj
b250ZXh0LCBlZmZlY3RzKSkKICAgICAgICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNMb2NhbGx5Owog
CiAgICAgLy8gVGhlIHJlc3Qgb2YgdGhlIHNlbGVjdG9ycyBoYXMgdG8gbWF0Y2gKQEAgLTQ2Miw3
ICs0NjEsNyBAQCBTZWxlY3RvckNoZWNrZXI6OlNlbGVjdG9yTWF0Y2ggU2VsZWN0b3JDaGVja2Vy
OjpjaGVja1NlbGVjdG9yKGNvbnN0IFNlbGVjdG9yQ2hlYwogICAgICAgICAgICAgcmV0dXJuIFNl
bGVjdG9yRmFpbHNDb21wbGV0ZWx5OwogCiAgICAgICAgIC8vIEJhaWwtb3V0IGlmIHRoaXMgc2Vs
ZWN0b3IgaXMgaXJyZWxldmFudCBmb3IgdGhlIHBzZXVkb1N0eWxlCi0gICAgICAgIGlmIChtX3Bz
ZXVkb1N0eWxlICE9IE5PUFNFVURPICYmIG1fcHNldWRvU3R5bGUgIT0gZHluYW1pY1BzZXVkbykK
KyAgICAgICAgaWYgKG1fcHNldWRvU3R5bGUgIT0gTk9QU0VVRE8gJiYgbV9wc2V1ZG9TdHlsZSAh
PSBlZmZlY3RzLmR5bmFtaWNQc2V1ZG8pCiAgICAgICAgICAgICByZXR1cm4gU2VsZWN0b3JGYWls
c0NvbXBsZXRlbHk7CiAKICAgICAgICAgLy8gRGlzYWJsZSA6dmlzaXRlZCBtYXRjaGluZyB3aGVu
IHdlIHNlZSB0aGUgZmlyc3QgbGluayBvciB0cnkgdG8gbWF0Y2ggYW55dGhpbmcgZWxzZSB0aGFu
IGFuIGFuY2VzdG9ycy4KQEAgLTQ3Nyw3ICs0NzYsNyBAQCBTZWxlY3RvckNoZWNrZXI6OlNlbGVj
dG9yTWF0Y2ggU2VsZWN0b3JDaGVja2VyOjpjaGVja1NlbGVjdG9yKGNvbnN0IFNlbGVjdG9yQ2hl
YwogICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50U3R5bGUgPSAwOwogICAgICAgICBuZXh0Q29u
dGV4dC5lbGVtZW50UGFyZW50U3R5bGUgPSAwOwogICAgICAgICBmb3IgKDsgbmV4dENvbnRleHQu
ZWxlbWVudDsgbmV4dENvbnRleHQuZWxlbWVudCA9IG5leHRDb250ZXh0LmVsZW1lbnQtPnBhcmVu
dEVsZW1lbnQoKSkgewotICAgICAgICAgICAgU2VsZWN0b3JNYXRjaCBtYXRjaCA9IGNoZWNrU2Vs
ZWN0b3IobmV4dENvbnRleHQsIGR5bmFtaWNQc2V1ZG8sIGhhc1Vua25vd25Qc2V1ZG9FbGVtZW50
cyk7CisgICAgICAgICAgICBTZWxlY3Rvck1hdGNoIG1hdGNoID0gY2hlY2tTZWxlY3RvcihuZXh0
Q29udGV4dCwgZWZmZWN0cyk7CiAgICAgICAgICAgICBpZiAobWF0Y2ggPT0gU2VsZWN0b3JNYXRj
aGVzIHx8IG1hdGNoID09IFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5KQogICAgICAgICAgICAgICAg
IHJldHVybiBtYXRjaDsKICAgICAgICAgICAgIGlmIChuZXh0Q29udGV4dC5lbGVtZW50ID09IG5l
eHRDb250ZXh0LnNjb3BlKQpAQCAtNDkyLDcgKzQ5MSw3IEBAIFNlbGVjdG9yQ2hlY2tlcjo6U2Vs
ZWN0b3JNYXRjaCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2VsZWN0b3IoY29uc3QgU2VsZWN0b3JD
aGVjCiAgICAgICAgIG5leHRDb250ZXh0LmlzU3ViU2VsZWN0b3IgPSBmYWxzZTsKICAgICAgICAg
bmV4dENvbnRleHQuZWxlbWVudFN0eWxlID0gMDsKICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVu
dFBhcmVudFN0eWxlID0gMDsKLSAgICAgICAgcmV0dXJuIGNoZWNrU2VsZWN0b3IobmV4dENvbnRl
eHQsIGR5bmFtaWNQc2V1ZG8sIGhhc1Vua25vd25Qc2V1ZG9FbGVtZW50cyk7CisgICAgICAgIHJl
dHVybiBjaGVja1NlbGVjdG9yKG5leHRDb250ZXh0LCBlZmZlY3RzKTsKIAogICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OkRpcmVjdEFkamFjZW50OgogICAgICAgICBpZiAobV9tb2RlID09IFJlc29sdmlu
Z1N0eWxlICYmIGNvbnRleHQuZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7CkBAIC01MDYsNyAr
NTA1LDcgQEAgU2VsZWN0b3JDaGVja2VyOjpTZWxlY3Rvck1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6
Y2hlY2tTZWxlY3Rvcihjb25zdCBTZWxlY3RvckNoZWMKICAgICAgICAgbmV4dENvbnRleHQuaXNT
dWJTZWxlY3RvciA9IGZhbHNlOwogICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50U3R5bGUgPSAw
OwogICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50UGFyZW50U3R5bGUgPSAwOwotICAgICAgICBy
ZXR1cm4gY2hlY2tTZWxlY3RvcihuZXh0Q29udGV4dCwgZHluYW1pY1BzZXVkbywgaGFzVW5rbm93
blBzZXVkb0VsZW1lbnRzKTsKKyAgICAgICAgcmV0dXJuIGNoZWNrU2VsZWN0b3IobmV4dENvbnRl
eHQsIGVmZmVjdHMpOwogCiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6SW5kaXJlY3RBZGphY2VudDoK
ICAgICAgICAgaWYgKG1fbW9kZSA9PSBSZXNvbHZpbmdTdHlsZSAmJiBjb250ZXh0LmVsZW1lbnQt
PnBhcmVudEVsZW1lbnQoKSkgewpAQCAtNTE5LDIxICs1MTgsMjQgQEAgU2VsZWN0b3JDaGVja2Vy
OjpTZWxlY3Rvck1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3Rvcihjb25zdCBTZWxl
Y3RvckNoZWMKICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudFN0eWxlID0gMDsKICAgICAgICAg
bmV4dENvbnRleHQuZWxlbWVudFBhcmVudFN0eWxlID0gMDsKICAgICAgICAgZm9yICg7IG5leHRD
b250ZXh0LmVsZW1lbnQ7IG5leHRDb250ZXh0LmVsZW1lbnQgPSBuZXh0Q29udGV4dC5lbGVtZW50
LT5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKCkpIHsKLSAgICAgICAgICAgIFNlbGVjdG9yTWF0Y2gg
bWF0Y2ggPSBjaGVja1NlbGVjdG9yKG5leHRDb250ZXh0LCBkeW5hbWljUHNldWRvLCBoYXNVbmtu
b3duUHNldWRvRWxlbWVudHMpOworICAgICAgICAgICAgU2VsZWN0b3JNYXRjaCBtYXRjaCA9IGNo
ZWNrU2VsZWN0b3IobmV4dENvbnRleHQsIGVmZmVjdHMpOwogICAgICAgICAgICAgaWYgKG1hdGNo
ID09IFNlbGVjdG9yTWF0Y2hlcyB8fCBtYXRjaCA9PSBTZWxlY3RvckZhaWxzQWxsU2libGluZ3Mg
fHwgbWF0Y2ggPT0gU2VsZWN0b3JGYWlsc0NvbXBsZXRlbHkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIG1hdGNoOwogICAgICAgICB9OwogICAgICAgICByZXR1cm4gU2VsZWN0b3JGYWlsc0FsbFNp
YmxpbmdzOwogCiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U3ViU2VsZWN0b3I6Ci0gICAgICAgIC8v
IGEgc2VsZWN0b3IgaXMgaW52YWxpZCBpZiBzb21ldGhpbmcgZm9sbG93cyBhIHBzZXVkby1lbGVt
ZW50Ci0gICAgICAgIC8vIFdlIG1ha2UgYW4gZXhjZXB0aW9uIGZvciBzY3JvbGxiYXIgcHNldWRv
IGVsZW1lbnRzIGFuZCBhbGxvdyBhIHNldCBvZiBwc2V1ZG8gY2xhc3NlcyAoYnV0IG5vdGhpbmcg
ZWxzZSkKLSAgICAgICAgLy8gdG8gZm9sbG93IHRoZSBwc2V1ZG8gZWxlbWVudHMuCi0gICAgICAg
IGlmICgoY29udGV4dC5lbGVtZW50U3R5bGUgfHwgbV9tb2RlID09IENvbGxlY3RpbmdSdWxlcyB8
fCBtX21vZGUgPT0gUXVlcnlpbmdSdWxlcykgJiYgZHluYW1pY1BzZXVkbyAhPSBOT1BTRVVETyAm
JiBkeW5hbWljUHNldWRvICE9IFNFTEVDVElPTgotICAgICAgICAgICAgICYmICEoKFJlbmRlclNj
cm9sbGJhcjo6c2Nyb2xsYmFyRm9yU3R5bGVSZXNvbHZlKCkgfHwgZHluYW1pY1BzZXVkbyA9PSBT
Q1JPTExCQVJfQ09STkVSIHx8IGR5bmFtaWNQc2V1ZG8gPT0gUkVTSVpFUikgJiYgbmV4dENvbnRl
eHQuc2VsZWN0b3ItPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzKSkKLSAgICAg
ICAgICAgIHJldHVybiBTZWxlY3RvckZhaWxzQ29tcGxldGVseTsKLSAgICAgICAgbmV4dENvbnRl
eHQuaXNTdWJTZWxlY3RvciA9IHRydWU7Ci0gICAgICAgIHJldHVybiBjaGVja1NlbGVjdG9yKG5l
eHRDb250ZXh0LCBkeW5hbWljUHNldWRvLCBoYXNVbmtub3duUHNldWRvRWxlbWVudHMpOworICAg
ICAgICB7CisgICAgICAgICAgICAvLyBhIHNlbGVjdG9yIGlzIGludmFsaWQgaWYgc29tZXRoaW5n
IGZvbGxvd3MgYSBwc2V1ZG8tZWxlbWVudAorICAgICAgICAgICAgLy8gV2UgbWFrZSBhbiBleGNl
cHRpb24gZm9yIHNjcm9sbGJhciBwc2V1ZG8gZWxlbWVudHMgYW5kIGFsbG93IGEgc2V0IG9mIHBz
ZXVkbyBjbGFzc2VzIChidXQgbm90aGluZyBlbHNlKQorICAgICAgICAgICAgLy8gdG8gZm9sbG93
IHRoZSBwc2V1ZG8gZWxlbWVudHMuCisgICAgICAgICAgICBjb25zdCBQc2V1ZG9JZCBkeW5hbWlj
UHNldWRvID0gZWZmZWN0cy5keW5hbWljUHNldWRvOworICAgICAgICAgICAgaWYgKChjb250ZXh0
LmVsZW1lbnRTdHlsZSB8fCBtX21vZGUgPT0gQ29sbGVjdGluZ1J1bGVzIHx8IG1fbW9kZSA9PSBR
dWVyeWluZ1J1bGVzKSAmJiBkeW5hbWljUHNldWRvICE9IE5PUFNFVURPICYmIGR5bmFtaWNQc2V1
ZG8gIT0gU0VMRUNUSU9OCisgICAgICAgICAgICAgICAgICYmICEoKFJlbmRlclNjcm9sbGJhcjo6
c2Nyb2xsYmFyRm9yU3R5bGVSZXNvbHZlKCkgfHwgZHluYW1pY1BzZXVkbyA9PSBTQ1JPTExCQVJf
Q09STkVSIHx8IGR5bmFtaWNQc2V1ZG8gPT0gUkVTSVpFUikgJiYgbmV4dENvbnRleHQuc2VsZWN0
b3ItPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gU2VsZWN0b3JGYWlsc0NvbXBsZXRlbHk7CisgICAgICAgICAgICBuZXh0Q29udGV4
dC5pc1N1YlNlbGVjdG9yID0gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybiBjaGVja1NlbGVjdG9y
KG5leHRDb250ZXh0LCBlZmZlY3RzKTsKKyAgICAgICAgfQogCiAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6U2hhZG93RGVzY2VuZGFudDoKICAgICAgICAgewpAQCAtNTQ3LDcgKzU0OSw3IEBAIFNlbGVj
dG9yQ2hlY2tlcjo6U2VsZWN0b3JNYXRjaCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2VsZWN0b3Io
Y29uc3QgU2VsZWN0b3JDaGVjCiAgICAgICAgICAgICBuZXh0Q29udGV4dC5pc1N1YlNlbGVjdG9y
ID0gZmFsc2U7CiAgICAgICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50U3R5bGUgPSAwOwogICAg
ICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudFBhcmVudFN0eWxlID0gMDsKLSAgICAgICAgICAg
IHJldHVybiBjaGVja1NlbGVjdG9yKG5leHRDb250ZXh0LCBkeW5hbWljUHNldWRvLCBoYXNVbmtu
b3duUHNldWRvRWxlbWVudHMpOworICAgICAgICAgICAgcmV0dXJuIGNoZWNrU2VsZWN0b3IobmV4
dENvbnRleHQsIGVmZmVjdHMpOwogICAgICAgICB9CiAgICAgfQogCkBAIC03MDEsNyArNzAzLDcg
QEAgc3RhdGljIGJvb2wgYW55QXR0cmlidXRlTWF0Y2hlcyhFbGVtZW50KiBlbGVtZW50LCBDU1NT
ZWxlY3Rvcjo6TWF0Y2ggbWF0Y2gsIGNvbnMKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wg
U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdD
b250ZXh0JiBjb250ZXh0LCBQc2V1ZG9JZCYgZHluYW1pY1BzZXVkbywgYm9vbCYgaGFzVW5rbm93
blBzZXVkb0VsZW1lbnRzKSBjb25zdAorYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2Vs
ZWN0b3IoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQsIFNlbGVjdG9yQ2hl
Y2tpbmdFZmZlY3RzJiBlZmZlY3RzKSBjb25zdAogewogICAgIEVsZW1lbnQqIGNvbnN0ICYgZWxl
bWVudCA9IGNvbnRleHQuZWxlbWVudDsKICAgICBDU1NTZWxlY3RvciogY29uc3QgJiBzZWxlY3Rv
ciA9IGNvbnRleHQuc2VsZWN0b3I7CkBAIC03MzAsNiArNzMyLDcgQEAgYm9vbCBTZWxlY3RvckNo
ZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNv
bnRleHQsIFAKICAgICB9CiAKICAgICBpZiAoc2VsZWN0b3ItPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0
b3I6OlBzZXVkb0NsYXNzKSB7CisgICAgICAgIGNvbnN0IFBzZXVkb0lkIGR5bmFtaWNQc2V1ZG8g
PSBlZmZlY3RzLmR5bmFtaWNQc2V1ZG87CiAgICAgICAgIC8vIEhhbmRsZSA6bm90IHVwIGZyb250
LgogICAgICAgICBpZiAoc2VsZWN0b3ItPnBzZXVkb1R5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNl
dWRvTm90KSB7CiAgICAgICAgICAgICBDU1NTZWxlY3Rvckxpc3QqIHNlbGVjdG9yTGlzdCA9IHNl
bGVjdG9yLT5zZWxlY3Rvckxpc3QoKTsKQEAgLTc0OCwxMyArNzUxLDEzIEBAIGJvb2wgU2VsZWN0
b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0
JiBjb250ZXh0LCBQCiAgICAgICAgICAgICAgICAgLy8gV2Ugc2VsZWN0IGJldHdlZW4gOnZpc2l0
ZWQgYW5kIDpsaW5rIHdoZW4gYXBwbHlpbmcuIFdlIGRvbid0IGtub3cgd2hpY2ggb25lIGFwcGxp
ZWQgKG9yIG5vdCkgeWV0LgogICAgICAgICAgICAgICAgIGlmIChzdWJDb250ZXh0LnNlbGVjdG9y
LT5wc2V1ZG9UeXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb1Zpc2l0ZWQgfHwgKHN1YkNvbnRl
eHQuc2VsZWN0b3ItPnBzZXVkb1R5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvTGluayAmJiBz
dWJDb250ZXh0LnZpc2l0ZWRNYXRjaFR5cGUgPT0gVmlzaXRlZE1hdGNoRW5hYmxlZCkpCiAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgICAgIGlmICghY2hlY2tP
bmVTZWxlY3RvcihzdWJDb250ZXh0LCBkeW5hbWljUHNldWRvLCBoYXNVbmtub3duUHNldWRvRWxl
bWVudHMpKQorICAgICAgICAgICAgICAgIGlmICghY2hlY2tPbmVTZWxlY3RvcihzdWJDb250ZXh0
LCBlZmZlY3RzKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0gZWxzZSBpZiAoZHluYW1pY1BzZXVkbyAhPSBOT1BTRVVETyAmJiAoUmVu
ZGVyU2Nyb2xsYmFyOjpzY3JvbGxiYXJGb3JTdHlsZVJlc29sdmUoKSB8fCBkeW5hbWljUHNldWRv
ID09IFNDUk9MTEJBUl9DT1JORVIgfHwgZHluYW1pY1BzZXVkbyA9PSBSRVNJWkVSKSkgewogICAg
ICAgICAgICAgLy8gQ1NTIHNjcm9sbGJhcnMgbWF0Y2ggYSBzcGVjaWZpYyBzdWJzZXQgb2YgcHNl
dWRvIGNsYXNzZXMsIGFuZCB0aGV5IGhhdmUgc3BlY2lhbGl6ZWQgcnVsZXMgZm9yIGVhY2gKICAg
ICAgICAgICAgIC8vIChzaW5jZSB0aGVyZSBhcmUgbm8gZWxlbWVudHMgaW52b2x2ZWQpLgotICAg
ICAgICAgICAgcmV0dXJuIGNoZWNrU2Nyb2xsYmFyUHNldWRvQ2xhc3Moc2VsZWN0b3IsIGR5bmFt
aWNQc2V1ZG8pOworICAgICAgICAgICAgcmV0dXJuIGNoZWNrU2Nyb2xsYmFyUHNldWRvQ2xhc3Mo
c2VsZWN0b3IpOwogICAgICAgICB9IGVsc2UgaWYgKGR5bmFtaWNQc2V1ZG8gPT0gU0VMRUNUSU9O
KSB7CiAgICAgICAgICAgICBpZiAoc2VsZWN0b3ItPnBzZXVkb1R5cGUoKSA9PSBDU1NTZWxlY3Rv
cjo6UHNldWRvV2luZG93SW5hY3RpdmUpCiAgICAgICAgICAgICAgICAgcmV0dXJuICFtX2RvY3Vt
ZW50LT5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5pc0FjdGl2ZSgpOwpAQCAtOTk4LDcgKzEw
MDEsNyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvcihjb25zdCBTZWxl
Y3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgUAogICAgICAgICAgICAgICAgIFNlbGVjdG9y
Q2hlY2tpbmdDb250ZXh0IHN1YkNvbnRleHQoY29udGV4dCk7CiAgICAgICAgICAgICAgICAgc3Vi
Q29udGV4dC5pc1N1YlNlbGVjdG9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBmb3IgKHN1YkNv
bnRleHQuc2VsZWN0b3IgPSBzZWxlY3Rvci0+c2VsZWN0b3JMaXN0KCktPmZpcnN0KCk7IHN1YkNv
bnRleHQuc2VsZWN0b3I7IHN1YkNvbnRleHQuc2VsZWN0b3IgPSBDU1NTZWxlY3Rvckxpc3Q6Om5l
eHQoc3ViQ29udGV4dC5zZWxlY3RvcikpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGNoZWNr
U2VsZWN0b3Ioc3ViQ29udGV4dCwgZHluYW1pY1BzZXVkbywgaGFzVW5rbm93blBzZXVkb0VsZW1l
bnRzKSA9PSBTZWxlY3Rvck1hdGNoZXMpCisgICAgICAgICAgICAgICAgICAgIGlmIChjaGVja1Nl
bGVjdG9yKHN1YkNvbnRleHQsIGVmZmVjdHMpID09IFNlbGVjdG9yTWF0Y2hlcykKICAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KQEAgLTExNzgsNyArMTE4MSw3IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09u
ZVNlbGVjdG9yKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBjb250ZXh0LCBQCiAgICAg
fQogICAgIGlmIChzZWxlY3Rvci0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVu
dCkgewogICAgICAgICBpZiAoc2VsZWN0b3ItPmlzVW5rbm93blBzZXVkb0VsZW1lbnQoKSkgewot
ICAgICAgICAgICAgaGFzVW5rbm93blBzZXVkb0VsZW1lbnRzID0gdHJ1ZTsKKyAgICAgICAgICAg
IGVmZmVjdHMuaGFzVW5rbm93blBzZXVkb0VsZW1lbnRzID0gdHJ1ZTsKICAgICAgICAgICAgIHJl
dHVybiBlbGVtZW50LT5zaGFkb3dQc2V1ZG9JZCgpID09IHNlbGVjdG9yLT52YWx1ZSgpOwogICAg
ICAgICB9CiAKQEAgLTExOTEsMTMgKzExOTQsMTMgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNo
ZWNrT25lU2VsZWN0b3IoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQsIFAK
ICAgICAgICAgICAgICAgICBkb2N1bWVudC0+c2V0VXNlc0ZpcnN0TGV0dGVyUnVsZXModHJ1ZSk7
CiAgICAgICAgIH0KICAgICAgICAgaWYgKHBzZXVkb0lkICE9IE5PUFNFVURPKQotICAgICAgICAg
ICAgZHluYW1pY1BzZXVkbyA9IHBzZXVkb0lkOworICAgICAgICAgICAgZWZmZWN0cy5keW5hbWlj
UHNldWRvID0gcHNldWRvSWQ7CiAgICAgfQogICAgIC8vICMjIyBhZGQgdGhlIHJlc3Qgb2YgdGhl
IGNoZWNrcy4uLgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFNlbGVjdG9yQ2hlY2tlcjo6
Y2hlY2tTY3JvbGxiYXJQc2V1ZG9DbGFzcyhDU1NTZWxlY3Rvciogc2VsLCBQc2V1ZG9JZCYpIGNv
bnN0Citib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTY3JvbGxiYXJQc2V1ZG9DbGFzcyhDU1NT
ZWxlY3Rvciogc2VsKSBjb25zdAogewogICAgIFJlbmRlclNjcm9sbGJhciogc2Nyb2xsYmFyID0g
UmVuZGVyU2Nyb2xsYmFyOjpzY3JvbGxiYXJGb3JTdHlsZVJlc29sdmUoKTsKICAgICBTY3JvbGxi
YXJQYXJ0IHBhcnQgPSBSZW5kZXJTY3JvbGxiYXI6OnBhcnRGb3JTdHlsZVJlc29sdmUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuaAppbmRleCBlYjZmZmI5Y2I1Y2I2NDJkOTI3M2U2
MmRlMzg3OWRkNDVkMTZjMWQxLi4xZjdkNGU4ODY5ODQxY2U0M2E4YTFkYmMzMjdiNjU1MmUxMWIw
NDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCkBAIC03NSw4ICs3NSwyMCBA
QCBwdWJsaWM6CiAgICAgICAgIGJvb2wgaXNTdWJTZWxlY3RvcjsKICAgICB9OwogCisgICAgLy8g
U29tZSBpbmZvcm1hdGlvbiBjYW4ndCBiZSBkZXRlcm1pbmVkIHVudGlsIHRoZSBzZWxlY3RvciBj
aGVja2luZyBydW5zLgorICAgIC8vIFRoaXMgc3RydWN0IGNhcHR1cmVzIHRoYXQgaW5mb3JtYXRp
b24uCisgICAgc3RydWN0IFNlbGVjdG9yQ2hlY2tpbmdFZmZlY3RzIHsKKyAgICAgICAgU2VsZWN0
b3JDaGVja2luZ0VmZmVjdHMoKQorICAgICAgICAgICAgOiBkeW5hbWljUHNldWRvKE5PUFNFVURP
KQorICAgICAgICAgICAgLCBoYXNVbmtub3duUHNldWRvRWxlbWVudHMoZmFsc2UpCisgICAgICAg
IHsgfQorCisgICAgICAgIFBzZXVkb0lkIGR5bmFtaWNQc2V1ZG87CisgICAgICAgIGJvb2wgaGFz
VW5rbm93blBzZXVkb0VsZW1lbnRzOworICAgIH07CisKICAgICBib29sIGNoZWNrU2VsZWN0b3Io
Q1NTU2VsZWN0b3IqLCBFbGVtZW50KiwgYm9vbCBpc0Zhc3RDaGVja2FibGVTZWxlY3RvciA9IGZh
bHNlKSBjb25zdDsKLSAgICBTZWxlY3Rvck1hdGNoIGNoZWNrU2VsZWN0b3IoY29uc3QgU2VsZWN0
b3JDaGVja2luZ0NvbnRleHQmLCBQc2V1ZG9JZCYsIGJvb2wmIGhhc1Vua25vd25Qc2V1ZG9FbGVt
ZW50cykgY29uc3Q7CisgICAgU2VsZWN0b3JNYXRjaCBjaGVja1NlbGVjdG9yKGNvbnN0IFNlbGVj
dG9yQ2hlY2tpbmdDb250ZXh0JiwgU2VsZWN0b3JDaGVja2luZ0VmZmVjdHMmKSBjb25zdDsKICAg
ICBzdGF0aWMgYm9vbCBpc0Zhc3RDaGVja2FibGVTZWxlY3Rvcihjb25zdCBDU1NTZWxlY3Rvciop
OwogICAgIGJvb2wgZmFzdENoZWNrU2VsZWN0b3IoY29uc3QgQ1NTU2VsZWN0b3IqLCBjb25zdCBF
bGVtZW50KikgY29uc3Q7CiAKQEAgLTExOCw4ICsxMzAsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IGJvb2wgZWxlbWVudE1hdGNoZXNTZWxlY3RvclNjb3Blcyhjb25zdCBTdHlsZWRFbGVtZW50Kiwg
Y29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4mIGlkU2NvcGVzLCBjb25zdCBIYXNoU2V0
PEF0b21pY1N0cmluZ0ltcGwqPiYgY2xhc3NTY29wZXMpOwogCiBwcml2YXRlOgotICAgIGJvb2wg
Y2hlY2tPbmVTZWxlY3Rvcihjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYsIFBzZXVkb0lk
JiwgYm9vbCYgaGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKSBjb25zdDsKLSAgICBib29sIGNoZWNr
U2Nyb2xsYmFyUHNldWRvQ2xhc3MoQ1NTU2VsZWN0b3IqLCBQc2V1ZG9JZCYgZHluYW1pY1BzZXVk
bykgY29uc3Q7CisgICAgYm9vbCBjaGVja09uZVNlbGVjdG9yKGNvbnN0IFNlbGVjdG9yQ2hlY2tp
bmdDb250ZXh0JiwgU2VsZWN0b3JDaGVja2luZ0VmZmVjdHMmKSBjb25zdDsKKyAgICBib29sIGNo
ZWNrU2Nyb2xsYmFyUHNldWRvQ2xhc3MoQ1NTU2VsZWN0b3IqKSBjb25zdDsKICAgICBzdGF0aWMg
Ym9vbCBpc0ZyYW1lRm9jdXNlZChjb25zdCBFbGVtZW50Kik7CiAKICAgICBib29sIGZhc3RDaGVj
a1JpZ2h0bW9zdFNlbGVjdG9yKGNvbnN0IENTU1NlbGVjdG9yKiwgY29uc3QgRWxlbWVudCosIFZp
c2l0ZWRNYXRjaFR5cGUpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmlu
ZGV4IDNjMDAwZjIzZjQzNmY0NGZiMzhkMzVjODZkZDAwYmY0ZDA0YTY2OTQuLjcwNmVhNmRmMzY3
ODY3MGZiZjAwNjg4M2FkMDg4NzkzOTlkMDM3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNv
bHZlci5jcHAKQEAgLTI0MjMsNyArMjQyMywxMCBAQCBpbmxpbmUgYm9vbCBTdHlsZVJlc29sdmVy
OjpjaGVja1NlbGVjdG9yKGNvbnN0IFJ1bGVEYXRhJiBydWxlRGF0YSwgY29uc3QgQ29udGFpbgog
ICAgIGNvbnRleHQuZWxlbWVudFN0eWxlID0gc3R5bGUoKTsKICAgICBjb250ZXh0LmVsZW1lbnRQ
YXJlbnRTdHlsZSA9IG1fcGFyZW50Tm9kZSA/IG1fcGFyZW50Tm9kZS0+cmVuZGVyU3R5bGUoKSA6
IDA7CiAgICAgY29udGV4dC5zY29wZSA9IHNjb3BlOwotICAgIFNlbGVjdG9yQ2hlY2tlcjo6U2Vs
ZWN0b3JNYXRjaCBtYXRjaCA9IG1fY2hlY2tlci5jaGVja1NlbGVjdG9yKGNvbnRleHQsIG1fZHlu
YW1pY1BzZXVkbywgbV9oYXNVbmtub3duUHNldWRvRWxlbWVudHMpOworICAgIFNlbGVjdG9yQ2hl
Y2tlcjo6U2VsZWN0b3JDaGVja2luZ0VmZmVjdHMgZWZmZWN0czsKKyAgICBTZWxlY3RvckNoZWNr
ZXI6OlNlbGVjdG9yTWF0Y2ggbWF0Y2ggPSBtX2NoZWNrZXIuY2hlY2tTZWxlY3Rvcihjb250ZXh0
LCBlZmZlY3RzKTsKKyAgICBtX2R5bmFtaWNQc2V1ZG8gPSBlZmZlY3RzLmR5bmFtaWNQc2V1ZG87
CisgICAgbV9oYXNVbmtub3duUHNldWRvRWxlbWVudHMgPSBlZmZlY3RzLmhhc1Vua25vd25Qc2V1
ZG9FbGVtZW50czsKICAgICBpZiAobWF0Y2ggIT0gU2VsZWN0b3JDaGVja2VyOjpTZWxlY3Rvck1h
dGNoZXMpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAobV9jaGVja2VyLnBzZXVkb1N0
eWxlKCkgIT0gTk9QU0VVRE8gJiYgbV9jaGVja2VyLnBzZXVkb1N0eWxlKCkgIT0gbV9keW5hbWlj
UHNldWRvKQo=
</data>
<flag name="review"
          id="174924"
          type_id="1"
          status="-"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>