<?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>83663</bug_id>
          
          <creation_ts>2012-04-10 23:12:54 -0700</creation_ts>
          <short_desc>REGRESSION (r104445): Style is not recomputed on serenaandlily.com</short_desc>
          <delta_ts>2012-04-16 09:38:41 -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>CSS</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>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike Lawther">mikelawther</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>600052</commentid>
    <comment_count>0</comment_count>
      <attachid>136628</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-04-10 23:12:54 -0700</bug_when>
    <thetext>Created attachment 136628
reproduction

As reported at http://crbug.com/122663:

A dynamically updated style is not recomputed, resulting in a page element appearing twice. This attached repro is not minimal, but it is breaking a live site.

Note that opening the inspector causes the page to recalculate and the error disappears.

I bisected WebKit Nightly on MacOS and got 

Works: r104428  Fails: r104450
http://trac.webkit.org/log/trunk/?rev=104450&amp;stop_rev=104429

I reckon r104445 is the most likely in this range.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600555</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-04-11 13:38:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/11230095&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600788</commentid>
    <comment_count>2</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-11 18:34:01 -0700</bug_when>
    <thetext>A minimal repro would be very helpful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602708</commentid>
    <comment_count>3</comment_count>
      <attachid>137220</attachid>
    <who name="Warren">wherethebandsr</who>
    <bug_when>2012-04-14 15:56:12 -0700</bug_when>
    <thetext>Created attachment 137220
5 test cases (each being a single .html file) that illustrate the exact nature of the bug

As reported at http://crbug.com/122663:

The issue boils down to css identifiers with a value that uses CamelCase!

I&apos;ve attached 5 (relatively) minimal tests that illustrate this behavior.
They only differ by a few characters.. so the easiest way to see what has been tweaked is by looking at a diff, but I&apos;ll summarize.

test #1 (pass):
  the css id=&quot;div_lowercase&quot;
test #2 (fail):
  the css id=&quot;div_CamelCase&quot;
test #3 (fail):
  the css id=&quot;div_CamelCase&quot;
  addendum:
  * test #2 wasn&apos;t concerned with bumping up the css width of #div_02
    the first css block sets its width = 729px
    which is why when #div_CamelCase is (incorrectly) still visible,
    the 2 floats can still fit side by side without vertically wrapping.
  * test #3 illustrates that we can add a rule
    in the same &lt;style&gt; block that contains the rule to hide #div_CamelCase,
    which is being ignored,
    to increase the width of #div_02.
    this is an important test because all selectors in the 1st style tag
    specify a more precise class hierarchy and (consequently) take precedence.
    both of the rules in the 2nd style block use &quot;!important&quot; to over rule.
    this test shows that this is not the issue,
    because it works for one but not the other (ie: the one with CamelCase).
test #4 (pass):
  the css id=&quot;div_CamelCase&quot;
  addendum:
  * test #4 is fun because:
    instead of using &quot;!important&quot; in the 2nd style block to over rule the 1st,
    #div_02 uses the same class hierarchy to take precedence (since it occurs later).
    what&apos;s really weird here,
    is that even though the rule to hide #div_CamelCase has NOT been changed,
    and the rule that has been change is effectively equivalent to test #3,
    #div_CamelCase is NOW HIDDEN.
test #5 (pass):
  the css id=&quot;div_CamelCase&quot;
  addendum:
  * test #5 is a slight modification on what was shown in #4
  * the width of #div_02 is ignored (as it was in #2)
  * the selector in the 2nd style block for #div_CamelCase is made more explicit,
    and suddenly it is obeyed!

so.. long story short:
  * somewhere in WebKit..
    case sensitivity has been introduced in css selector parsing.
  * when a css id is impacted by this bug,
    there are some weird ways to work around it.

hope this helps..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602925</commentid>
    <comment_count>4</comment_count>
      <attachid>137284</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-15 23:51:36 -0700</bug_when>
    <thetext>Created attachment 137284
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602936</commentid>
    <comment_count>5</comment_count>
      <attachid>137290</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-16 00:11:01 -0700</bug_when>
    <thetext>Created attachment 137290
skip the subtree after calling setNeedsStyleRecalc on element</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602943</commentid>
    <comment_count>6</comment_count>
      <attachid>137293</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-16 00:25:31 -0700</bug_when>
    <thetext>Created attachment 137293
now with more correctness</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602958</commentid>
    <comment_count>7</comment_count>
      <attachid>137297</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-16 01:11:13 -0700</bug_when>
    <thetext>Created attachment 137297
different factoring, selector matching moves to SelectorChecker</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602967</commentid>
    <comment_count>8</comment_count>
      <attachid>137297</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-16 01:31:06 -0700</bug_when>
    <thetext>Comment on attachment 137297
different factoring, selector matching moves to SelectorChecker

Attachment 137297 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12406960</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603216</commentid>
    <comment_count>9</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-04-16 09:38:34 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/114265 (with an added #include for chromium)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>136628</attachid>
            <date>2012-04-10 23:12:54 -0700</date>
            <delta_ts>2012-04-10 23:12:54 -0700</delta_ts>
            <desc>reproduction</desc>
            <filename>Chrome_v18_error.html</filename>
            <type>text/html</type>
            <size>3283</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">PGh0bWw+DQoNCjxoZWFkPg0KCTxiYXNlIGhyZWY9Imh0dHA6Ly93d3cuc2VyZW5hYW5kbGlseS5j
b20vQmF6YWFyIiAvPg0KDQoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0
cDovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjQuMi9qcXVlcnkubWlu
LmpzIj48L3NjcmlwdD4NCg0KCTxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii9zaXRlL2Nzcy9iYXphYXIuY3NzIj4NCgk8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIvc2l0ZS9wdWJsaXNoLzIwMTEuMDUuMDUvcmVicmFuZGluZy9j
c3NfdXBkYXRlcy9iYXphYXIuY3NzIj4NCg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCiNpbm5l
cndyYXBwZXIgew0KCXdpZHRoOgkJCQk5MDBweCAhaW1wb3J0YW50Ow0KICAgIHBhZGRpbmc6CQkJ
MCAzNnB4IDAgNDRweDsNCn0NCiNkaXZfX2JvZHkgew0KICAgIHdpZHRoOgkJCQk5MDBweDsNCiAg
ICBvdmVyZmxvdzoJCQl2aXNpYmxlICFpbXBvcnRhbnQ7DQp9DQojZGl2X19ib2R5ICNTTF9zaWRl
QmFyIHsNCglmbG9hdDoJCQkJbGVmdDsNCgl3aWR0aDoJCQkJMTcxcHg7DQp9DQojZGl2X19ib2R5
ICNsYW5kaW5nX3BhZ2VfY29udGVudCB7DQoJZmxvYXQ6CQkJCWxlZnQ7DQoJd2lkdGg6CQkJCTcy
OXB4Ow0KICAgIG92ZXJmbG93OgkJCXZpc2libGUgIWltcG9ydGFudDsNCn0NCjwvc3R5bGU+DQoN
Cgk8IS0tIGJ1aWxkIHRoZSBsZWZ0IG5hdm1lbnU6IC0tPg0KCTxsaW5rIHR5cGU9InRleHQvY3Nz
IiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zaXRlL2xhbmRpbmdfcGFnZXMvMjAxMi4wMy4yMV9i
YXphYXIvY3NzL3N0eWxlLmNzcyI+DQoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iL3NpdGUvbGFuZGluZ19wYWdlcy8yMDEyLjAzLjIxX2JhemFhci9qcy9sZWZ0bmF2LmpzIj48
L3NjcmlwdD4NCjwvaGVhZD4NCg0KPGJvZHkgc3R5bGU9InBhZGRpbmc6MHB4IDBweCAyMHB4OyB0
ZXh0LWFsaWduOmNlbnRlcjsgbWFyZ2luOjBweDsiPg0KPGRpdiBpZD0nb3V0ZXJ3cmFwcGVyJyBz
dHlsZT0nd2lkdGg6OTgycHg7bWFyZ2luOiAwIGF1dG87Jz48ZGl2IGlkPSdpbm5lcndyYXBwZXIn
PjxkaXYgaWQ9J2Rpdl9fYm9keScgc3R5bGU9Im1hcmdpbjogMHB4OyI+DQoNCjxkaXYgaWQ9IlNM
X3NpZGVCYXIiPg0KCTxkaXYgaWQ9ImJhemFhcl9sZWZ0X25hdiI+PC9kaXY+DQo8L2Rpdj4NCjxk
aXYgaWQ9ImxhbmRpbmdfcGFnZV9jb250ZW50Ij4NCgk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0K
CQkjU0xfc2lkZUJhciB7DQoJCQlkaXNwbGF5OgkJbm9uZSAhaW1wb3J0YW50Ow0KCQl9DQoJCSNs
YW5kaW5nX3BhZ2VfY29udGVudCwNCgkJI2JhemFhcl9jb250YWluZXIsDQoJCSNiYXphYXJfY29u
dGFpbmVyIC5iYXphYXJfbGFuZGluZ19pbWFnZSwNCgkJI2JhemFhcl9jb250YWluZXIgLmJhemFh
cl9sYW5kaW5nX2ltYWdlIGltZyB7DQoJCQl3aWR0aDoJCQk5MDBweDsNCgkJCWhlaWdodDoJCQk3
MjBweDsNCgkJCWJvcmRlci1zdHlsZToJbm9uZTsNCgkJfQ0KCTwvc3R5bGU+DQoNCgk8ZGl2IGlk
PSJiYXphYXJfY29udGFpbmVyIj4NCgkJPGRpdiBjbGFzcz0iYmF6YWFyX2xhbmRpbmdfaW1hZ2Ui
Pg0KCQkJPGltZyBzcmM9Ii9zaXRlL2xhbmRpbmdfcGFnZXMvMjAxMi4wMy4yMV9iYXphYXIvdGFi
L2ltZy9iYXphYXJfdGFiLmpwZyIgd2lkdGg9IjkwMCIgaGVpZ2h0PSI3MTgiIGJvcmRlcj0iMCIg
dXNlbWFwPSIjYmF6YWFyX21hcCI+DQoJCQk8bWFwIG5hbWU9ImJhemFhcl9tYXAiIGlkPSJiYXph
YXJfbWFwIj4NCgkJCQk8IS0tIGxlZnQgbmF2bWVudSAtLT4NCgkJCQk8YXJlYSBzaGFwZT0icmVj
dCIgY29vcmRzPSIyLDIsMTYyLDE1MSIgaHJlZj0iL0JhemFhciI+DQoJCQkJPGFyZWEgc2hhcGU9
InJlY3QiIGNvb3Jkcz0iMiwxNjAsMjgsMTc0IiBocmVmPSIvQmF6YWFyLUFydCIgYWx0PSJBcnQi
Pg0KCQkJCTxhcmVhIHNoYXBlPSJyZWN0IiBjb29yZHM9IjIsMTc3LDY4LDE5MiIgaHJlZj0iL0Jh
emFhci1GdXJuaXR1cmUiIGFsdD0iRnVybml0dXJlIj4NCgkJCQk8YXJlYSBzaGFwZT0icmVjdCIg
Y29vcmRzPSIyLDE5NSw1NywyMTEiIGhyZWY9Ii9CYXphYXItVGV4dGlsZXMiIGFsdD0iVGV4dGls
ZXMiPg0KCQkJCTxhcmVhIHNoYXBlPSJyZWN0IiBjb29yZHM9IjIsMjEyLDcxLDIyOCIgaHJlZj0i
L0JhemFhci1GdW4tRmluZHMiIGFsdD0iRnVuIEZpbmRzIj4NCgkJCQk8YXJlYSBzaGFwZT0icmVj
dCIgY29vcmRzPSIyLDIzMSw1NCwyNDgiIGhyZWY9Ii9CYXphYXItSmV3ZWxyeSIgYWx0PSJKZXdl
bHJ5Ij4NCgkJCQk8YXJlYSBzaGFwZT0icmVjdCIgY29vcmRzPSIyLDI3NCwxNTksMzExIiBocmVm
PSIvQmF6YWFyLVN3YXppbGFuZCIgYWx0PSJGb3VuZCBpbiBTd2F6aWxhbmQiPg0KCQkJCTxhcmVh
IHNoYXBlPSJyZWN0IiBjb29yZHM9IjIsMzM3LDEwNywzNTQiIGhyZWY9Ii9CYXphYXItU3Rvcnki
IGFsdD0iU3Rvcnkgb2YgQmF6YWFyIj4NCgkJCQk8YXJlYSBzaGFwZT0icmVjdCIgY29vcmRzPSIy
LDM1NiwxMjIsMzczIiBocmVmPSIvQmF6YWFyLU5vdGVzIiBhbHQ9IlRyYXZlbCBOb3RlcyI+DQoJ
CQkJPGFyZWEgc2hhcGU9InJlY3QiIGNvb3Jkcz0iMiwzNzUsMTEzLDM5MiIgaHJlZj0iL0JhemFh
ci1TcG90bGlnaHQtTWVUb1dlIiBhbHQ9IkFydGlzYW4gU3BvdGxpZ2h0Ij4NCgkJCQk8IS0tIG1h
aW4gaW1hZ2UgLS0+DQoJCQkJPGFyZWEgc2hhcGU9InJlY3QiIGNvb3Jkcz0iMTg2LDUsODk5LDU0
MCIgaHJlZj0iL0JhemFhci1Td2F6aWxhbmQiIGFsdD0iU2hvcCBBZnJpY2EiPg0KCQkJCTwhLS0g
Ym90dG9tOiBwcm9kdWN0IGltYWdlcyAtLT4NCgkJCQk8YXJlYSBzaGFwZT0icmVjdCIgY29vcmRz
PSIzLDU3MSwyOTIsNjk0IiBocmVmPSIvQmF6YWFyX3ZpZGVvIiBhbHQ9IlN0b3JpZXMgZnJvbSBv
dXIgdHJhdmVscyI+DQoJCQkJPGFyZWEgc2hhcGU9InJlY3QiIGNvb3Jkcz0iMzA3LDU3MCw1OTgs
Njk0IiBocmVmPSIvQmF6YWFyLVNwb3RsaWdodC1NZVRvV2UiIGFsdD0iQXJ0aXNhbiBTcG90bGln
aHQiPg0KCQkJCTxhcmVhIHNoYXBlPSJyZWN0IiBjb29yZHM9IjYxMyw1NzEsODk3LDY5MiIgaHJl
Zj0iL0JhemFhci1Ob3RlcyIgYWx0PSJUcmF2ZWwgTm90ZXMiPg0KCQkJPC9tYXA+DQoJCTwvZGl2
Pg0KCTwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJjbGVhcjpib3RoOyI+PC9kaXY+DQoNCjwv
ZGl2PjwvZGl2PjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>137220</attachid>
            <date>2012-04-14 15:56:12 -0700</date>
            <delta_ts>2012-04-14 15:56:12 -0700</delta_ts>
            <desc>5 test cases (each being a single .html file) that illustrate the exact nature of the bug</desc>
            <filename>conclusions.zip</filename>
            <type>application/octet-stream</type>
            <size>4407</size>
            <attacher name="Warren">wherethebandsr</attacher>
            
              <data encoding="base64">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
AAAAAAUABQClAQAAfA8AAAAA
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137284</attachid>
            <date>2012-04-15 23:51:36 -0700</date>
            <delta_ts>2012-04-16 00:11:01 -0700</delta_ts>
            <desc>patch</desc>
            <filename>scope-invalidation-case.patch</filename>
            <type>text/plain</type>
            <size>11807</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDIyNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA0LTE1ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTA0NDQ1
KTogU3R5bGUgaXMgbm90IHJlY29tcHV0ZWQgb24gc2VyZW5hYW5kbGlseS5jb20KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNjYzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBDU1MgY2xhc3Mg
YW5kIGlkIHNlbGVjdG9ycyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSBpbiBub24tc3RyaWN0IG1vZGVz
LiBUaGUgY29kZQorICAgICAgICB0aGF0IGludmFsaWRhdGVkIHRoZSBzY29wZSBlbGVtZW50cyB1
c2VkIGdldEVsZW1lbnRCeUlEKCkgd2hpY2ggaXMgY2FzZQorICAgICAgICBzZW5zaXRpdmUgaW4g
YWxsIG1vZGVzLiBBcyBhIHJlc3VsdCB3ZSB3b3VsZCBmYWlsIHRvIGludmFsaWRhdGUgZWxlbWVu
dHMKKyAgICAgICAgdGhhdCB3b3VsZCBtYXRjaCBhIHN0eWxlIHJ1bGUgYnV0IHVzZWQgZGlmZmVy
ZW50IGNhc2UgaW4gaWQuCisgICAgICAgIAorICAgICAgICBUaGUgbmV3IGNvZGUgaW52YWxpZGF0
ZXMgYnkgY3Jhd2xpbmcgdGhlIERPTSB0cmVlLiBUaGlzIG9mdGVuICh3aGVuIHRoZXJlIGFyZSBj
bGFzc2VzKSAKKyAgICAgICAgYWN0dWFsbHkgZmFzdGVyIHRoYW4gdGhlIGV4aXN0aW5nIGNvZGUg
YXMgd2UgY2FuIG5vdyBoYW5kbGUgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYXNzLgorICAgICAg
ICBFYWNoIGNsYXNzIHNjb3BlIHJlcXVpcmVkIGEgY3Jhd2wgd2l0aCB0aGUgb2xkIGNvZGUuCisg
ICAgICAgIAorICAgICAgICBUaGUgY29kZSB1c2VzIHRoZSBzYW1lIGZ1bmN0aW9ucyBhcyB0aGUg
c2VsZWN0b3IgbWF0Y2hpbmcgY29kZSB0byBnZXQgdGhlIHNhbWUgYmVoYXZpb3IuCisgICAgICAg
IAorICAgICAgICBUaGUgbWF4aW11bSBjbGFzcyBsaW1pdCBpcyBsaWZ0ZWQgYXMgbnVtYmVyIG9m
IGNsYXNzZXMgZG9lcyBub3QgYWZmZWN0IGNvbXBsZXhpdHkgYW55bW9yZS4KKworICAgICAgICBU
ZXN0OiBmYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVldC1zdHJpY3QuaHRtbAor
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjppbnZhbGlkYXRlRWxlbWVudHNNYXRjaGluZ1NlbGVjdG9yU2NvcGVzKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnRlc3RBZGRlZFN0eWxlc2hlZXRS
ZXF1aXJlc1N0eWxlUmVjYWxjKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAg
KERvY3VtZW50KToKKwogMjAxMi0wNC0xNSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgV2ViQ29yZTo6d2Vla0RheVNob3J0TGFiZWxzKCkgZm9yIElDVSBhbHdh
eXMgcmV0dXJucyB0aGUgZmFsbGJhY2sgbGFiZWxzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAJKHJldmlzaW9uIDExNDIxNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMzMjgsNDAgKzMzMjgsNDIgQEAgdm9pZCBEb2N1bWVudDo6Y29s
bGVjdEFjdGl2ZVN0eWxlc2hlZXRzKAogICAgIH0KIH0KIAordm9pZCBEb2N1bWVudDo6aW52YWxp
ZGF0ZUVsZW1lbnRzTWF0Y2hpbmdTZWxlY3RvclNjb3Blcyhjb25zdCBIYXNoU2V0PEF0b21pY1N0
cmluZ0ltcGwqPiYgaWRTY29wZXMsIGNvbnN0IEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+JiBj
bGFzc1Njb3BlcykKK3sKKyAgICBmb3IgKE5vZGUqIG5vZGUgPSBmaXJzdENoaWxkKCk7IG5vZGU7
IG5vZGUgPSBub2RlLT50cmF2ZXJzZU5leHROb2RlKCkpIHsKKyAgICAgICAgaWYgKCFub2RlLT5p
c1N0eWxlZEVsZW1lbnQoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBTdHlsZWRF
bGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U3R5bGVkRWxlbWVudCo+KG5vZGUpOworICAg
ICAgICBpZiAoIWlkU2NvcGVzLmlzRW1wdHkoKSAmJiBlbGVtZW50LT5oYXNJRCgpKSB7CisgICAg
ICAgICAgICBpZiAoaWRTY29wZXMuY29udGFpbnMoZWxlbWVudC0+aWRGb3JTdHlsZVJlc29sdXRp
b24oKS5pbXBsKCkpKSB7CisgICAgICAgICAgICAgICAgZWxlbWVudC0+c2V0TmVlZHNTdHlsZVJl
Y2FsYygpOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgICAgIGlmICghY2xhc3NTY29wZXMuaXNFbXB0eSgpICYmIGVsZW1lbnQtPmhhc0Ns
YXNzKCkpIHsKKyAgICAgICAgICAgIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMg
PSBlbGVtZW50LT5jbGFzc05hbWVzKCk7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgY2xhc3NOYW1lcy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChjbGFz
c1Njb3Blcy5jb250YWlucyhjbGFzc05hbWVzW2ldLmltcGwoKSkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgZWxlbWVudC0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOworICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICB9Cit9CisKIGJvb2wgRG9jdW1lbnQ6OnRlc3RBZGRlZFN0eWxlc2hlZXRSZXF1aXJlc1N0
eWxlUmVjYWxjKFN0eWxlU2hlZXRJbnRlcm5hbCogc3R5bGVzaGVldCkKIHsKICAgICAvLyBTZWUg
aWYgYWxsIHJ1bGVzIG9uIHRoZSBzaGVldCBhcmUgc2NvcGVkIHRvIHNvbWUgc3BlY2lmaWMgaWRz
IG9yIGNsYXNzZXMuCiAgICAgLy8gVGhlbiB0ZXN0IGlmIHdlIGFjdHVhbGx5IGhhdmUgYW55IG9m
IHRob3NlIGluIHRoZSB0cmVlIGF0IHRoZSBtb21lbnQuCi0gICAgLy8gRklYTUU6IEV2ZW4gd2Ug
aWYgd2UgZmluZCBzb21lLCB3ZSBjb3VsZCBqdXN0IGludmFsaWRhdGUgdGhvc2Ugc3VidHJlZXMg
aW5zdGVhZCBvZiBpbnZhbGlkYXRpbmcgdGhlIGVudGlyZSBzdHlsZS4KICAgICBIYXNoU2V0PEF0
b21pY1N0cmluZ0ltcGwqPiBpZFNjb3BlczsgCiAgICAgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBs
Kj4gY2xhc3NTY29wZXM7CiAgICAgaWYgKCFDU1NTdHlsZVNlbGVjdG9yOjpkZXRlcm1pbmVTdHls
ZXNoZWV0U2VsZWN0b3JTY29wZXMoc3R5bGVzaGVldCwgaWRTY29wZXMsIGNsYXNzU2NvcGVzKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgLy8gVGVzdGluZyBmb3IgY2xhc3NlcyBpcyBub3Qg
cGFydGljdWxhcmx5IGZhc3Qgc28gYmFpbCBvdXQgaWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBhIGZl
dy4KLSAgICBzdGF0aWMgY29uc3QgaW50IG1heGltdW1DbGFzc1Njb3Blc1RvVGVzdCA9IDQ7Ci0g
ICAgaWYgKGNsYXNzU2NvcGVzLnNpemUoKSA+IG1heGltdW1DbGFzc1Njb3Blc1RvVGVzdCkKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj46Oml0ZXJh
dG9yIGVuZCA9IGlkU2NvcGVzLmVuZCgpOwotICAgIGZvciAoSGFzaFNldDxBdG9taWNTdHJpbmdJ
bXBsKj46Oml0ZXJhdG9yIGl0ID0gaWRTY29wZXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
Ci0gICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIGlkID0gKml0OwotICAgICAgICBFbGVtZW50KiBp
ZEVsZW1lbnQgPSBnZXRFbGVtZW50QnlJZChpZCk7Ci0gICAgICAgIGlmICghaWRFbGVtZW50KQot
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmIChjb250YWluc011bHRpcGxlRWxlbWVu
dHNXaXRoSWQoaWQpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGlkRWxlbWVu
dC0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOwotICAgIH0KLSAgICBlbmQgPSBjbGFzc1Njb3Blcy5l
bmQoKTsKLSAgICBmb3IgKEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+OjppdGVyYXRvciBpdCA9
IGNsYXNzU2NvcGVzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAvLyBGSVhN
RTogZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSBpcyBub3Qgb3B0aW1hbCBmb3IgdGhpcy4gV2Ugc2hv
dWxkIGhhbmRsZSBhbGwgY2xhc3NlcyBpbiBhIHNpbmdsZSBwYXNzLgotICAgICAgICBSZWZQdHI8
Tm9kZUxpc3Q+IGNsYXNzRWxlbWVudHMgPSBnZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCppdCk7Ci0g
ICAgICAgIHVuc2lnbmVkIGVsZW1lbnRDb3VudCA9IGNsYXNzRWxlbWVudHMtPmxlbmd0aCgpOwot
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZWxlbWVudENvdW50OyArK2kpCi0gICAg
ICAgICAgICBjbGFzc0VsZW1lbnRzLT5pdGVtKGkpLT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7Ci0g
ICAgfQorICAgIGludmFsaWRhdGVFbGVtZW50c01hdGNoaW5nU2VsZWN0b3JTY29wZXMoaWRTY29w
ZXMsIGNsYXNzU2NvcGVzKTsKICAgICByZXR1cm4gZmFsc2U7CiB9Ci0gICAgCisKIHZvaWQgRG9j
dW1lbnQ6OmFuYWx5emVTdHlsZXNoZWV0Q2hhbmdlKFN0eWxlU2VsZWN0b3JVcGRhdGVGbGFnIHVw
ZGF0ZUZsYWcsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVTaGVldD4gPiYgbmV3U3R5bGVzaGVl
dHMsIGJvb2wmIHJlcXVpcmVzU3R5bGVTZWxlY3RvclJlc2V0LCBib29sJiByZXF1aXJlc0Z1bGxT
dHlsZVJlY2FsYykKIHsKICAgICByZXF1aXJlc1N0eWxlU2VsZWN0b3JSZXNldCA9IHRydWU7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMTE0MjEzKQorKysgU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTExOTAsNiArMTE5MCw3IEBAIHBy
aXZhdGU6CiAgICAgCiAgICAgYm9vbCB1cGRhdGVBY3RpdmVTdHlsZXNoZWV0cyhTdHlsZVNlbGVj
dG9yVXBkYXRlRmxhZyk7CiAgICAgdm9pZCBjb2xsZWN0QWN0aXZlU3R5bGVzaGVldHMoVmVjdG9y
PFJlZlB0cjxTdHlsZVNoZWV0PiA+Jik7CisgICAgdm9pZCBpbnZhbGlkYXRlRWxlbWVudHNNYXRj
aGluZ1NlbGVjdG9yU2NvcGVzKGNvbnN0IEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+JiBpZFNj
b3BlcywgY29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4mIGNsYXNzU2NvcGVzKTsKICAg
ICBib29sIHRlc3RBZGRlZFN0eWxlc2hlZXRSZXF1aXJlc1N0eWxlUmVjYWxjKFN0eWxlU2hlZXRJ
bnRlcm5hbCopOwogICAgIHZvaWQgYW5hbHl6ZVN0eWxlc2hlZXRDaGFuZ2UoU3R5bGVTZWxlY3Rv
clVwZGF0ZUZsYWcsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVTaGVldD4gPiYgbmV3U3R5bGVz
aGVldHMsIGJvb2wmIHJlcXVpcmVzU3R5bGVTZWxlY3RvclJlc2V0LCBib29sJiByZXF1aXJlc0Z1
bGxTdHlsZVJlY2FsYyk7CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDIyNSkKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA0LTE1
ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9O
IChyMTA0NDQ1KTogU3R5bGUgaXMgbm90IHJlY29tcHV0ZWQgb24gc2VyZW5hYW5kbGlseS5jb20K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNjYzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBV
cGRhdGUgdGhlIGV4aXN0aW5nIHRlc3Qgd2l0aCBjYXNlIGluc2Vuc2l0aXZlIGNvbXBhcmlzb25z
IGFuZCBhZGQgYSBzdHJpY3QgbW9kZSB0ZXN0LgorCisgICAgICAgICogZmFzdC9jc3MvaWQtb3It
Y2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3Nz
L2lkLW9yLWNsYXNzLWJlZm9yZS1zdHlsZXNoZWV0LXN0cmljdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvY3NzL2lkLW9yLWNsYXNzLWJlZm9yZS1zdHlsZXNoZWV0LXN0cmlj
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5
bGVzaGVldC5odG1sOgorCiAyMDEyLTA0LTE1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIG1vcm5pbmcgZ2FyZGVuaW5nLgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2lkLW9yLWNs
YXNzLWJlZm9yZS1zdHlsZXNoZWV0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTE0MjEzKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01LDggKzUsMTIgQEAgT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQQogCiBQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0aWQiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2Io
MCwgMTI4LCAwKSIKIFBBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeUNsYXNzTmFtZSgidGVzdGNsYXNzIilbMF0pLmJhY2tncm91bmRDb2xvciBpcyAicmdi
KDAsIDEyOCwgMCkiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0ZXN0SUQyIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDAsIDEyOCwgMCki
CitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFz
c05hbWUoInRlc3RDbGFzczIiKVswXSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMCwgMTI4LCAw
KSIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQogaWQg
dGVzdAogY2xhc3MgdGVzdAorY2FzZSBpbnNlbnNpdGl2ZSBpZCB0ZXN0CitjYXNlIGluc2Vuc2l0
aXZlIGNsYXNzIHRlc3QKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2lkLW9yLWNsYXNzLWJl
Zm9yZS1zdHlsZXNoZWV0LXN0cmljdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQtc3RyaWN0LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2lkLW9yLWNsYXNz
LWJlZm9yZS1zdHlsZXNoZWV0LXN0cmljdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTYgQEAKK1Rlc3QgdGhhdCBlbGVtZW50cyBiZWZvcmUgaW5saW5lIHN0eWxlc2hlZXRz
IGdldCB0aGVpciBzdHlsZSB1cGRhdGVkIHByb3Blcmx5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXN0aWQiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BB
U1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFt
ZSgidGVzdGNsYXNzIilbMF0pLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDAsIDEyOCwgMCkiCitQ
QVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0
SUQyIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwgMCwgMCkiCitQQVNTIHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInRlc3RDbGFz
czIiKVswXSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQoraWQgdGVzdAorY2xhc3MgdGVz
dAorY2FzZSBpbnNlbnNpdGl2ZSBpZCB0ZXN0CitjYXNlIGluc2Vuc2l0aXZlIGNsYXNzIHRlc3QK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2lkLW9yLWNsYXNzLWJlZm9yZS1zdHlsZXNoZWV0
LXN0cmljdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2lkLW9yLWNs
YXNzLWJlZm9yZS1zdHlsZXNoZWV0LXN0cmljdC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQtc3RyaWN0Lmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFu
Zz1lbj4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisjdGVzdGlkIHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9
CisjdGVzdElEMiB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorLnRlc3RjbGFzcyB7IGJhY2tn
cm91bmQtY29sb3I6IHJlZDsgfQorLnRlc3RDbGFzczIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9dGVzdGlkPmlkIHRlc3Q8L2Rp
dj4KKzxzdHlsZT4KKyN0ZXN0aWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiB9Cis8L3N0eWxl
PgorPGRpdiBjbGFzcz10ZXN0Y2xhc3M+Y2xhc3MgdGVzdDwvZGl2PgorPHN0eWxlPgorLnRlc3Rj
bGFzcyB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9Cis8L3N0eWxlPgorPGRpdiBpZD10ZXN0
SUQyPmNhc2UgaW5zZW5zaXRpdmUgaWQgdGVzdDwvZGl2PgorPHN0eWxlPgorI1RFU1RpZDIgeyBi
YWNrZ3JvdW5kLWNvbG9yOiBncmVlbiB9Cis8L3N0eWxlPgorPGRpdiBjbGFzcz10ZXN0Q2xhc3My
PmNhc2UgaW5zZW5zaXRpdmUgY2xhc3MgdGVzdDwvZGl2PgorPHN0eWxlPgorLlRFU1RjbGFzczIg
eyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorPC9zdHlsZT4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiVGVzdCB0aGF0IGVsZW1lbnRzIGJlZm9yZSBpbmxpbmUgc3R5bGVzaGVldHMgZ2V0IHRo
ZWlyIHN0eWxlIHVwZGF0ZWQgcHJvcGVybHkiKTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdGlkIikpLmJhY2tncm91bmRDb2xv
cicsJyJyZ2IoMCwgMTI4LCAwKSInKTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ0ZXN0Y2xhc3MiKVswXSkuYmFja2dy
b3VuZENvbG9yJywnInJnYigwLCAxMjgsIDApIicpOworc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0SUQyIikpLmJhY2tncm91bmRD
b2xvcicsJyJyZ2IoMjU1LCAwLCAwKSInKTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ0ZXN0Q2xhc3MyIilbMF0pLmJh
Y2tncm91bmRDb2xvcicsJyJyZ2IoMjU1LCAwLCAwKSInKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZv
cmUtc3R5bGVzaGVldC5odG1sCShyZXZpc2lvbiAxMTQyMTMpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVldC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0zLDcgKzMsOSBAQAogPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CiA8c3R5bGU+CiAjdGVzdGlkIHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9
CisjdGVzdElEMiB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQogLnRlc3RjbGFzcyB7IGJhY2tn
cm91bmQtY29sb3I6IHJlZDsgfQorLnRlc3RDbGFzczIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
IH0KIDwvc3R5bGU+CiA8L2hlYWQ+CiA8Ym9keT4KQEAgLTE1LDEwICsxNywyMCBAQAogPHN0eWxl
PgogLnRlc3RjbGFzcyB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9CiA8L3N0eWxlPgorPGRp
diBpZD10ZXN0SUQyPmNhc2UgaW5zZW5zaXRpdmUgaWQgdGVzdDwvZGl2PgorPHN0eWxlPgorI1RF
U1RpZDIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiB9Cis8L3N0eWxlPgorPGRpdiBjbGFzcz10
ZXN0Q2xhc3MyPmNhc2UgaW5zZW5zaXRpdmUgY2xhc3MgdGVzdDwvZGl2PgorPHN0eWxlPgorLlRF
U1RjbGFzczIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorPC9zdHlsZT4KIDxzY3JpcHQ+
CiBkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGVsZW1lbnRzIGJlZm9yZSBpbmxpbmUgc3R5bGVzaGVl
dHMgZ2V0IHRoZWlyIHN0eWxlIHVwZGF0ZWQgcHJvcGVybHkiKTsKIHNob3VsZEJlKCd3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdGlkIikpLmJhY2tn
cm91bmRDb2xvcicsJyJyZ2IoMCwgMTI4LCAwKSInKTsKIHNob3VsZEJlKCd3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ0ZXN0Y2xhc3MiKVsw
XSkuYmFja2dyb3VuZENvbG9yJywnInJnYigwLCAxMjgsIDApIicpOworc2hvdWxkQmUoJ3dpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0SUQyIikpLmJh
Y2tncm91bmRDb2xvcicsJyJyZ2IoMCwgMTI4LCAwKSInKTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ0ZXN0Q2xhc3My
IilbMF0pLmJhY2tncm91bmRDb2xvcicsJyJyZ2IoMCwgMTI4LCAwKSInKTsKIDwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgog
PC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137290</attachid>
            <date>2012-04-16 00:11:01 -0700</date>
            <delta_ts>2012-04-16 00:25:31 -0700</delta_ts>
            <desc>skip the subtree after calling setNeedsStyleRecalc on element</desc>
            <filename>scope-invalidation-case-2.patch</filename>
            <type>text/plain</type>
            <size>12073</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDIyNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA0LTE1ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTA0NDQ1
KTogU3R5bGUgaXMgbm90IHJlY29tcHV0ZWQgb24gc2VyZW5hYW5kbGlseS5jb20KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNjYzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBDU1MgY2xhc3Mg
YW5kIGlkIHNlbGVjdG9ycyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSBpbiBub24tc3RyaWN0IG1vZGVz
LiBUaGUgY29kZQorICAgICAgICB0aGF0IGludmFsaWRhdGVkIHRoZSBzY29wZSBlbGVtZW50cyB1
c2VkIGdldEVsZW1lbnRCeUlEKCkgd2hpY2ggaXMgY2FzZQorICAgICAgICBzZW5zaXRpdmUgaW4g
YWxsIG1vZGVzLiBBcyBhIHJlc3VsdCB3ZSB3b3VsZCBmYWlsIHRvIGludmFsaWRhdGUgZWxlbWVu
dHMKKyAgICAgICAgdGhhdCB3b3VsZCBtYXRjaCBhIHN0eWxlIHJ1bGUgYnV0IHVzZWQgZGlmZmVy
ZW50IGNhc2UgaW4gaWQuCisgICAgICAgIAorICAgICAgICBUaGUgbmV3IGNvZGUgaW52YWxpZGF0
ZXMgYnkgY3Jhd2xpbmcgdGhlIERPTSB0cmVlLiBUaGlzIG9mdGVuICh3aGVuIHRoZXJlIGFyZSBj
bGFzc2VzKSAKKyAgICAgICAgYWN0dWFsbHkgZmFzdGVyIHRoYW4gdGhlIGV4aXN0aW5nIGNvZGUg
YXMgd2UgY2FuIG5vdyBoYW5kbGUgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYXNzLgorICAgICAg
ICBFYWNoIGNsYXNzIHNjb3BlIHJlcXVpcmVkIGEgY3Jhd2wgd2l0aCB0aGUgb2xkIGNvZGUuCisg
ICAgICAgIAorICAgICAgICBUaGUgY29kZSB1c2VzIHRoZSBzYW1lIGZ1bmN0aW9ucyBhcyB0aGUg
c2VsZWN0b3IgbWF0Y2hpbmcgY29kZSB0byBnZXQgdGhlIHNhbWUgYmVoYXZpb3IuCisgICAgICAg
IAorICAgICAgICBUaGUgbWF4aW11bSBjbGFzcyBsaW1pdCBpcyBsaWZ0ZWQgYXMgbnVtYmVyIG9m
IGNsYXNzZXMgZG9lcyBub3QgYWZmZWN0IGNvbXBsZXhpdHkgYW55bW9yZS4KKworICAgICAgICBU
ZXN0OiBmYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVldC1zdHJpY3QuaHRtbAor
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjppbnZhbGlkYXRlRWxlbWVudHNNYXRjaGluZ1NlbGVjdG9yU2NvcGVzKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnRlc3RBZGRlZFN0eWxlc2hlZXRS
ZXF1aXJlc1N0eWxlUmVjYWxjKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAg
KERvY3VtZW50KToKKwogMjAxMi0wNC0xNSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgV2ViQ29yZTo6d2Vla0RheVNob3J0TGFiZWxzKCkgZm9yIElDVSBhbHdh
eXMgcmV0dXJucyB0aGUgZmFsbGJhY2sgbGFiZWxzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAJKHJldmlzaW9uIDExNDIxNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMzMjgsNDAgKzMzMjgsNDkgQEAgdm9pZCBEb2N1bWVudDo6Y29s
bGVjdEFjdGl2ZVN0eWxlc2hlZXRzKAogICAgIH0KIH0KIAordm9pZCBEb2N1bWVudDo6aW52YWxp
ZGF0ZUVsZW1lbnRzTWF0Y2hpbmdTZWxlY3RvclNjb3Blcyhjb25zdCBIYXNoU2V0PEF0b21pY1N0
cmluZ0ltcGwqPiYgaWRTY29wZXMsIGNvbnN0IEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+JiBj
bGFzc1Njb3BlcykKK3sKKyAgICBOb2RlKiBub2RlID0gZmlyc3RDaGlsZCgpOworICAgIHdoaWxl
IChub2RlKSB7CisgICAgICAgIGlmICghbm9kZS0+aXNTdHlsZWRFbGVtZW50KCkpIHsKKyAgICAg
ICAgICAgIG5vZGUgPSBub2RlLT50cmF2ZXJzZU5leHROb2RlKCk7CisgICAgICAgICAgICBjb250
aW51ZTsKKyAgICAgICAgfQorICAgICAgICBTdHlsZWRFbGVtZW50KiBlbGVtZW50ID0gc3RhdGlj
X2Nhc3Q8U3R5bGVkRWxlbWVudCo+KG5vZGUpOworICAgICAgICBpZiAoIWlkU2NvcGVzLmlzRW1w
dHkoKSAmJiBlbGVtZW50LT5oYXNJRCgpKSB7CisgICAgICAgICAgICBpZiAoaWRTY29wZXMuY29u
dGFpbnMoZWxlbWVudC0+aWRGb3JTdHlsZVJlc29sdXRpb24oKS5pbXBsKCkpKSB7CisgICAgICAg
ICAgICAgICAgZWxlbWVudC0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOworICAgICAgICAgICAgICAg
IC8vIFRoZSB3aG9sZSBzdWJ0cmVlIGlzIG5vdyBpbnZhbGlkYXRlZCwgd2UgY2FuIHNraXAgdG8g
dGhlIG5leHQgc2libGluZy4KKyAgICAgICAgICAgICAgICBub2RlID0gZWxlbWVudC0+bmV4dFNp
YmxpbmcoKTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICBpZiAoIWNsYXNzU2NvcGVzLmlzRW1wdHkoKSAmJiBlbGVtZW50LT5oYXND
bGFzcygpKSB7CisgICAgICAgICAgICBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBjbGFzc05hbWVz
ID0gZWxlbWVudC0+Y2xhc3NOYW1lcygpOworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGNsYXNzTmFtZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoY2xh
c3NTY29wZXMuY29udGFpbnMoY2xhc3NOYW1lc1tpXS5pbXBsKCkpKSB7CisgICAgICAgICAgICAg
ICAgICAgIGVsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoKTsKKyAgICAgICAgICAgICAgICAg
ICAgbm9kZSA9IGVsZW1lbnQtPm5leHRTaWJsaW5nKCk7CisgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgICBub2RlID0gbm9kZS0+dHJhdmVyc2VOZXh0Tm9kZSgpOworICAgIH0KK30KKwogYm9vbCBE
b2N1bWVudDo6dGVzdEFkZGVkU3R5bGVzaGVldFJlcXVpcmVzU3R5bGVSZWNhbGMoU3R5bGVTaGVl
dEludGVybmFsKiBzdHlsZXNoZWV0KQogewogICAgIC8vIFNlZSBpZiBhbGwgcnVsZXMgb24gdGhl
IHNoZWV0IGFyZSBzY29wZWQgdG8gc29tZSBzcGVjaWZpYyBpZHMgb3IgY2xhc3Nlcy4KICAgICAv
LyBUaGVuIHRlc3QgaWYgd2UgYWN0dWFsbHkgaGF2ZSBhbnkgb2YgdGhvc2UgaW4gdGhlIHRyZWUg
YXQgdGhlIG1vbWVudC4KLSAgICAvLyBGSVhNRTogRXZlbiB3ZSBpZiB3ZSBmaW5kIHNvbWUsIHdl
IGNvdWxkIGp1c3QgaW52YWxpZGF0ZSB0aG9zZSBzdWJ0cmVlcyBpbnN0ZWFkIG9mIGludmFsaWRh
dGluZyB0aGUgZW50aXJlIHN0eWxlLgogICAgIEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+IGlk
U2NvcGVzOyAKICAgICBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiBjbGFzc1Njb3BlczsKICAg
ICBpZiAoIUNTU1N0eWxlU2VsZWN0b3I6OmRldGVybWluZVN0eWxlc2hlZXRTZWxlY3RvclNjb3Bl
cyhzdHlsZXNoZWV0LCBpZFNjb3BlcywgY2xhc3NTY29wZXMpKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAvLyBUZXN0aW5nIGZvciBjbGFzc2VzIGlzIG5vdCBwYXJ0aWN1bGFybHkgZmFzdCBz
byBiYWlsIG91dCBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIGEgZmV3LgotICAgIHN0YXRpYyBjb25z
dCBpbnQgbWF4aW11bUNsYXNzU2NvcGVzVG9UZXN0ID0gNDsKLSAgICBpZiAoY2xhc3NTY29wZXMu
c2l6ZSgpID4gbWF4aW11bUNsYXNzU2NvcGVzVG9UZXN0KQotICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPjo6aXRlcmF0b3IgZW5kID0gaWRTY29wZXMu
ZW5kKCk7Ci0gICAgZm9yIChIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPjo6aXRlcmF0b3IgaXQg
PSBpZFNjb3Blcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgQXRvbWljU3Ry
aW5nSW1wbCogaWQgPSAqaXQ7Ci0gICAgICAgIEVsZW1lbnQqIGlkRWxlbWVudCA9IGdldEVsZW1l
bnRCeUlkKGlkKTsKLSAgICAgICAgaWYgKCFpZEVsZW1lbnQpCi0gICAgICAgICAgICBjb250aW51
ZTsKLSAgICAgICAgaWYgKGNvbnRhaW5zTXVsdGlwbGVFbGVtZW50c1dpdGhJZChpZCkpCi0gICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgaWRFbGVtZW50LT5zZXROZWVkc1N0eWxlUmVj
YWxjKCk7Ci0gICAgfQotICAgIGVuZCA9IGNsYXNzU2NvcGVzLmVuZCgpOwotICAgIGZvciAoSGFz
aFNldDxBdG9taWNTdHJpbmdJbXBsKj46Oml0ZXJhdG9yIGl0ID0gY2xhc3NTY29wZXMuYmVnaW4o
KTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIC8vIEZJWE1FOiBnZXRFbGVtZW50c0J5Q2xh
c3NOYW1lIGlzIG5vdCBvcHRpbWFsIGZvciB0aGlzLiBXZSBzaG91bGQgaGFuZGxlIGFsbCBjbGFz
c2VzIGluIGEgc2luZ2xlIHBhc3MuCi0gICAgICAgIFJlZlB0cjxOb2RlTGlzdD4gY2xhc3NFbGVt
ZW50cyA9IGdldEVsZW1lbnRzQnlDbGFzc05hbWUoKml0KTsKLSAgICAgICAgdW5zaWduZWQgZWxl
bWVudENvdW50ID0gY2xhc3NFbGVtZW50cy0+bGVuZ3RoKCk7Ci0gICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBlbGVtZW50Q291bnQ7ICsraSkKLSAgICAgICAgICAgIGNsYXNzRWxlbWVu
dHMtPml0ZW0oaSktPnNldE5lZWRzU3R5bGVSZWNhbGMoKTsKLSAgICB9CisgICAgaW52YWxpZGF0
ZUVsZW1lbnRzTWF0Y2hpbmdTZWxlY3RvclNjb3BlcyhpZFNjb3BlcywgY2xhc3NTY29wZXMpOwog
ICAgIHJldHVybiBmYWxzZTsKIH0KLSAgICAKKwogdm9pZCBEb2N1bWVudDo6YW5hbHl6ZVN0eWxl
c2hlZXRDaGFuZ2UoU3R5bGVTZWxlY3RvclVwZGF0ZUZsYWcgdXBkYXRlRmxhZywgY29uc3QgVmVj
dG9yPFJlZlB0cjxTdHlsZVNoZWV0PiA+JiBuZXdTdHlsZXNoZWV0cywgYm9vbCYgcmVxdWlyZXNT
dHlsZVNlbGVjdG9yUmVzZXQsIGJvb2wmIHJlcXVpcmVzRnVsbFN0eWxlUmVjYWxjKQogewogICAg
IHJlcXVpcmVzU3R5bGVTZWxlY3RvclJlc2V0ID0gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCShyZXZpc2lvbiAxMTQyMTMpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtMTE5MCw2ICsxMTkwLDcgQEAgcHJpdmF0ZToKICAgICAKICAgICBi
b29sIHVwZGF0ZUFjdGl2ZVN0eWxlc2hlZXRzKFN0eWxlU2VsZWN0b3JVcGRhdGVGbGFnKTsKICAg
ICB2b2lkIGNvbGxlY3RBY3RpdmVTdHlsZXNoZWV0cyhWZWN0b3I8UmVmUHRyPFN0eWxlU2hlZXQ+
ID4mKTsKKyAgICB2b2lkIGludmFsaWRhdGVFbGVtZW50c01hdGNoaW5nU2VsZWN0b3JTY29wZXMo
Y29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4mIGlkU2NvcGVzLCBjb25zdCBIYXNoU2V0
PEF0b21pY1N0cmluZ0ltcGwqPiYgY2xhc3NTY29wZXMpOwogICAgIGJvb2wgdGVzdEFkZGVkU3R5
bGVzaGVldFJlcXVpcmVzU3R5bGVSZWNhbGMoU3R5bGVTaGVldEludGVybmFsKik7CiAgICAgdm9p
ZCBhbmFseXplU3R5bGVzaGVldENoYW5nZShTdHlsZVNlbGVjdG9yVXBkYXRlRmxhZywgY29uc3Qg
VmVjdG9yPFJlZlB0cjxTdHlsZVNoZWV0PiA+JiBuZXdTdHlsZXNoZWV0cywgYm9vbCYgcmVxdWly
ZXNTdHlsZVNlbGVjdG9yUmVzZXQsIGJvb2wmIHJlcXVpcmVzRnVsbFN0eWxlUmVjYWxjKTsKIApJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gMTE0MjI1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDQtMTUgIEFudHRpIEtvaXZpc3RvICA8
YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIxMDQ0NDUpOiBTdHlsZSBp
cyBub3QgcmVjb21wdXRlZCBvbiBzZXJlbmFhbmRsaWx5LmNvbQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM2NjMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFVwZGF0ZSB0aGUgZXhpc3Rpbmcg
dGVzdCB3aXRoIGNhc2UgaW5zZW5zaXRpdmUgY29tcGFyaXNvbnMgYW5kIGFkZCBhIHN0cmljdCBt
b2RlIHRlc3QuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVz
aGVldC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3Jl
LXN0eWxlc2hlZXQtc3RyaWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9j
c3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQtc3RyaWN0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvY3NzL2lkLW9yLWNsYXNzLWJlZm9yZS1zdHlsZXNoZWV0Lmh0bWw6CisKIDIw
MTItMDQtMTUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbUXRdIFVucmV2aWV3ZWQgbW9ybmluZyBnYXJkZW5pbmcuCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVldC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hl
ZXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMTQyMTMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVldC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTUsOCArNSwxMiBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBCiAKIFBBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRlc3RpZCIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigwLCAxMjgsIDApIgogUEFTUyB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ0
ZXN0Y2xhc3MiKVswXSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1Mg
d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RJRDIi
KSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1Mgd2luZG93LmdldENv
bXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgidGVzdENsYXNzMiIp
WzBdKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigwLCAxMjgsIDApIgogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCiBpZCB0ZXN0CiBjbGFzcyB0ZXN0Citj
YXNlIGluc2Vuc2l0aXZlIGlkIHRlc3QKK2Nhc2UgaW5zZW5zaXRpdmUgY2xhc3MgdGVzdApJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQtc3Ry
aWN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9pZC1v
ci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVldC1zdHJpY3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQt
c3RyaWN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorVGVzdCB0
aGF0IGVsZW1lbnRzIGJlZm9yZSBpbmxpbmUgc3R5bGVzaGVldHMgZ2V0IHRoZWlyIHN0eWxlIHVw
ZGF0ZWQgcHJvcGVybHkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RpZCIpKS5i
YWNrZ3JvdW5kQ29sb3IgaXMgInJnYigwLCAxMjgsIDApIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ0ZXN0Y2xhc3MiKVswXSku
YmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1Mgd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RJRDIiKSkuYmFja2dyb3VuZENv
bG9yIGlzICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgidGVzdENsYXNzMiIpWzBdKS5iYWNrZ3JvdW5k
Q29sb3IgaXMgInJnYigyNTUsIDAsIDApIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCitpZCB0ZXN0CitjbGFzcyB0ZXN0CitjYXNlIGluc2Vuc2l0aXZl
IGlkIHRlc3QKK2Nhc2UgaW5zZW5zaXRpdmUgY2xhc3MgdGVzdApJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQtc3RyaWN0Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hl
ZXQtc3RyaWN0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9pZC1v
ci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVldC1zdHJpY3QuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPWVuPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KKyN0ZXN0aWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KKyN0ZXN0SUQyIHsgYmFja2dy
b3VuZC1jb2xvcjogcmVkOyB9CisudGVzdGNsYXNzIHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9
CisudGVzdENsYXNzMiB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD10ZXN0aWQ+aWQgdGVzdDwvZGl2PgorPHN0eWxlPgorI3Rlc3Rp
ZCB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuIH0KKzwvc3R5bGU+Cis8ZGl2IGNsYXNzPXRlc3Rj
bGFzcz5jbGFzcyB0ZXN0PC9kaXY+Cis8c3R5bGU+CisudGVzdGNsYXNzIHsgYmFja2dyb3VuZC1j
b2xvcjogZ3JlZW47IH0KKzwvc3R5bGU+Cis8ZGl2IGlkPXRlc3RJRDI+Y2FzZSBpbnNlbnNpdGl2
ZSBpZCB0ZXN0PC9kaXY+Cis8c3R5bGU+CisjVEVTVGlkMiB7IGJhY2tncm91bmQtY29sb3I6IGdy
ZWVuIH0KKzwvc3R5bGU+Cis8ZGl2IGNsYXNzPXRlc3RDbGFzczI+Y2FzZSBpbnNlbnNpdGl2ZSBj
bGFzcyB0ZXN0PC9kaXY+Cis8c3R5bGU+CisuVEVTVGNsYXNzMiB7IGJhY2tncm91bmQtY29sb3I6
IGdyZWVuOyB9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgZWxl
bWVudHMgYmVmb3JlIGlubGluZSBzdHlsZXNoZWV0cyBnZXQgdGhlaXIgc3R5bGUgdXBkYXRlZCBw
cm9wZXJseSIpOworc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXN0aWQiKSkuYmFja2dyb3VuZENvbG9yJywnInJnYigwLCAxMjgsIDAp
IicpOworc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRzQnlDbGFzc05hbWUoInRlc3RjbGFzcyIpWzBdKS5iYWNrZ3JvdW5kQ29sb3InLCcicmdiKDAs
IDEyOCwgMCkiJyk7CitzaG91bGRCZSgnd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRlc3RJRDIiKSkuYmFja2dyb3VuZENvbG9yJywnInJnYigyNTUsIDAs
IDApIicpOworc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlDbGFzc05hbWUoInRlc3RDbGFzczIiKVswXSkuYmFja2dyb3VuZENvbG9yJywnInJn
YigyNTUsIDAsIDApIicpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVldC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvY3NzL2lkLW9yLWNsYXNzLWJlZm9yZS1zdHlsZXNoZWV0Lmh0bWwJ
KHJldmlzaW9uIDExNDIxMykKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2lkLW9yLWNsYXNzLWJl
Zm9yZS1zdHlsZXNoZWV0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw5IEBACiA8c2Ny
aXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzdHls
ZT4KICN0ZXN0aWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KKyN0ZXN0SUQyIHsgYmFja2dy
b3VuZC1jb2xvcjogcmVkOyB9CiAudGVzdGNsYXNzIHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9
CisudGVzdENsYXNzMiB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQogPC9zdHlsZT4KIDwvaGVh
ZD4KIDxib2R5PgpAQCAtMTUsMTAgKzE3LDIwIEBACiA8c3R5bGU+CiAudGVzdGNsYXNzIHsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KIDwvc3R5bGU+Cis8ZGl2IGlkPXRlc3RJRDI+Y2FzZSBp
bnNlbnNpdGl2ZSBpZCB0ZXN0PC9kaXY+Cis8c3R5bGU+CisjVEVTVGlkMiB7IGJhY2tncm91bmQt
Y29sb3I6IGdyZWVuIH0KKzwvc3R5bGU+Cis8ZGl2IGNsYXNzPXRlc3RDbGFzczI+Y2FzZSBpbnNl
bnNpdGl2ZSBjbGFzcyB0ZXN0PC9kaXY+Cis8c3R5bGU+CisuVEVTVGNsYXNzMiB7IGJhY2tncm91
bmQtY29sb3I6IGdyZWVuOyB9Cis8L3N0eWxlPgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0
IHRoYXQgZWxlbWVudHMgYmVmb3JlIGlubGluZSBzdHlsZXNoZWV0cyBnZXQgdGhlaXIgc3R5bGUg
dXBkYXRlZCBwcm9wZXJseSIpOwogc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0aWQiKSkuYmFja2dyb3VuZENvbG9yJywnInJnYigw
LCAxMjgsIDApIicpOwogc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInRlc3RjbGFzcyIpWzBdKS5iYWNrZ3JvdW5kQ29sb3In
LCcicmdiKDAsIDEyOCwgMCkiJyk7CitzaG91bGRCZSgnd2luZG93LmdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RJRDIiKSkuYmFja2dyb3VuZENvbG9yJywnInJn
YigwLCAxMjgsIDApIicpOworc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInRlc3RDbGFzczIiKVswXSkuYmFja2dyb3VuZENv
bG9yJywnInJnYigwLCAxMjgsIDApIicpOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137293</attachid>
            <date>2012-04-16 00:25:31 -0700</date>
            <delta_ts>2012-04-16 01:11:13 -0700</delta_ts>
            <desc>now with more correctness</desc>
            <filename>scope-invalidation-case-3.patch</filename>
            <type>text/plain</type>
            <size>12089</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDIyNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA0LTE1ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTA0NDQ1
KTogU3R5bGUgaXMgbm90IHJlY29tcHV0ZWQgb24gc2VyZW5hYW5kbGlseS5jb20KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNjYzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBDU1MgY2xhc3Mg
YW5kIGlkIHNlbGVjdG9ycyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSBpbiBub24tc3RyaWN0IG1vZGVz
LiBUaGUgY29kZQorICAgICAgICB0aGF0IGludmFsaWRhdGVkIHRoZSBzY29wZSBlbGVtZW50cyB1
c2VkIGdldEVsZW1lbnRCeUlEKCkgd2hpY2ggaXMgY2FzZQorICAgICAgICBzZW5zaXRpdmUgaW4g
YWxsIG1vZGVzLiBBcyBhIHJlc3VsdCB3ZSB3b3VsZCBmYWlsIHRvIGludmFsaWRhdGUgZWxlbWVu
dHMKKyAgICAgICAgdGhhdCB3b3VsZCBtYXRjaCBhIHN0eWxlIHJ1bGUgYnV0IHVzZWQgZGlmZmVy
ZW50IGNhc2UgaW4gaWQuCisgICAgICAgIAorICAgICAgICBUaGUgbmV3IGNvZGUgaW52YWxpZGF0
ZXMgYnkgY3Jhd2xpbmcgdGhlIERPTSB0cmVlLiBUaGlzIG9mdGVuICh3aGVuIHRoZXJlIGFyZSBj
bGFzc2VzKSAKKyAgICAgICAgYWN0dWFsbHkgZmFzdGVyIHRoYW4gdGhlIGV4aXN0aW5nIGNvZGUg
YXMgd2UgY2FuIG5vdyBoYW5kbGUgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYXNzLgorICAgICAg
ICBFYWNoIGNsYXNzIHNjb3BlIHJlcXVpcmVkIGEgY3Jhd2wgd2l0aCB0aGUgb2xkIGNvZGUuCisg
ICAgICAgIAorICAgICAgICBUaGUgY29kZSB1c2VzIHRoZSBzYW1lIGZ1bmN0aW9ucyBhcyB0aGUg
c2VsZWN0b3IgbWF0Y2hpbmcgY29kZSB0byBnZXQgdGhlIHNhbWUgYmVoYXZpb3IuCisgICAgICAg
IAorICAgICAgICBUaGUgbWF4aW11bSBjbGFzcyBsaW1pdCBpcyBsaWZ0ZWQgYXMgbnVtYmVyIG9m
IGNsYXNzZXMgZG9lcyBub3QgYWZmZWN0IGNvbXBsZXhpdHkgYW55bW9yZS4KKworICAgICAgICBU
ZXN0OiBmYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVldC1zdHJpY3QuaHRtbAor
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjppbnZhbGlkYXRlRWxlbWVudHNNYXRjaGluZ1NlbGVjdG9yU2NvcGVzKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnRlc3RBZGRlZFN0eWxlc2hlZXRS
ZXF1aXJlc1N0eWxlUmVjYWxjKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAg
KERvY3VtZW50KToKKwogMjAxMi0wNC0xNSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgV2ViQ29yZTo6d2Vla0RheVNob3J0TGFiZWxzKCkgZm9yIElDVSBhbHdh
eXMgcmV0dXJucyB0aGUgZmFsbGJhY2sgbGFiZWxzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAJKHJldmlzaW9uIDExNDIxNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMzMjgsNDAgKzMzMjgsNDkgQEAgdm9pZCBEb2N1bWVudDo6Y29s
bGVjdEFjdGl2ZVN0eWxlc2hlZXRzKAogICAgIH0KIH0KIAordm9pZCBEb2N1bWVudDo6aW52YWxp
ZGF0ZUVsZW1lbnRzTWF0Y2hpbmdTZWxlY3RvclNjb3Blcyhjb25zdCBIYXNoU2V0PEF0b21pY1N0
cmluZ0ltcGwqPiYgaWRTY29wZXMsIGNvbnN0IEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+JiBj
bGFzc1Njb3BlcykKK3sKKyAgICBOb2RlKiBub2RlID0gZmlyc3RDaGlsZCgpOworICAgIHdoaWxl
IChub2RlKSB7CisgICAgICAgIGlmICghbm9kZS0+aXNTdHlsZWRFbGVtZW50KCkpIHsKKyAgICAg
ICAgICAgIG5vZGUgPSBub2RlLT50cmF2ZXJzZU5leHROb2RlKCk7CisgICAgICAgICAgICBjb250
aW51ZTsKKyAgICAgICAgfQorICAgICAgICBTdHlsZWRFbGVtZW50KiBlbGVtZW50ID0gc3RhdGlj
X2Nhc3Q8U3R5bGVkRWxlbWVudCo+KG5vZGUpOworICAgICAgICBpZiAoIWlkU2NvcGVzLmlzRW1w
dHkoKSAmJiBlbGVtZW50LT5oYXNJRCgpKSB7CisgICAgICAgICAgICBpZiAoaWRTY29wZXMuY29u
dGFpbnMoZWxlbWVudC0+aWRGb3JTdHlsZVJlc29sdXRpb24oKS5pbXBsKCkpKSB7CisgICAgICAg
ICAgICAgICAgZWxlbWVudC0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOworICAgICAgICAgICAgICAg
IC8vIFRoZSB3aG9sZSBzdWJ0cmVlIGlzIG5vdyBpbnZhbGlkYXRlZCwgd2UgY2FuIHNraXAgdG8g
dGhlIG5leHQgc2libGluZy4KKyAgICAgICAgICAgICAgICBub2RlID0gZWxlbWVudC0+dHJhdmVy
c2VOZXh0U2libGluZygpOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICAgIGlmICghY2xhc3NTY29wZXMuaXNFbXB0eSgpICYmIGVsZW1l
bnQtPmhhc0NsYXNzKCkpIHsKKyAgICAgICAgICAgIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNs
YXNzTmFtZXMgPSBlbGVtZW50LT5jbGFzc05hbWVzKCk7CisgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgY2xhc3NOYW1lcy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAg
IGlmIChjbGFzc1Njb3Blcy5jb250YWlucyhjbGFzc05hbWVzW2ldLmltcGwoKSkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgZWxlbWVudC0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOworICAgICAgICAg
ICAgICAgICAgICBub2RlID0gZWxlbWVudC0+dHJhdmVyc2VOZXh0U2libGluZygpOworICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICAgICAgbm9kZSA9IG5vZGUtPnRyYXZlcnNlTmV4dE5vZGUoKTsKKyAg
ICB9Cit9CisKIGJvb2wgRG9jdW1lbnQ6OnRlc3RBZGRlZFN0eWxlc2hlZXRSZXF1aXJlc1N0eWxl
UmVjYWxjKFN0eWxlU2hlZXRJbnRlcm5hbCogc3R5bGVzaGVldCkKIHsKICAgICAvLyBTZWUgaWYg
YWxsIHJ1bGVzIG9uIHRoZSBzaGVldCBhcmUgc2NvcGVkIHRvIHNvbWUgc3BlY2lmaWMgaWRzIG9y
IGNsYXNzZXMuCiAgICAgLy8gVGhlbiB0ZXN0IGlmIHdlIGFjdHVhbGx5IGhhdmUgYW55IG9mIHRo
b3NlIGluIHRoZSB0cmVlIGF0IHRoZSBtb21lbnQuCi0gICAgLy8gRklYTUU6IEV2ZW4gd2UgaWYg
d2UgZmluZCBzb21lLCB3ZSBjb3VsZCBqdXN0IGludmFsaWRhdGUgdGhvc2Ugc3VidHJlZXMgaW5z
dGVhZCBvZiBpbnZhbGlkYXRpbmcgdGhlIGVudGlyZSBzdHlsZS4KICAgICBIYXNoU2V0PEF0b21p
Y1N0cmluZ0ltcGwqPiBpZFNjb3BlczsgCiAgICAgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4g
Y2xhc3NTY29wZXM7CiAgICAgaWYgKCFDU1NTdHlsZVNlbGVjdG9yOjpkZXRlcm1pbmVTdHlsZXNo
ZWV0U2VsZWN0b3JTY29wZXMoc3R5bGVzaGVldCwgaWRTY29wZXMsIGNsYXNzU2NvcGVzKSkKICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgLy8gVGVzdGluZyBmb3IgY2xhc3NlcyBpcyBub3QgcGFy
dGljdWxhcmx5IGZhc3Qgc28gYmFpbCBvdXQgaWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBhIGZldy4K
LSAgICBzdGF0aWMgY29uc3QgaW50IG1heGltdW1DbGFzc1Njb3Blc1RvVGVzdCA9IDQ7Ci0gICAg
aWYgKGNsYXNzU2NvcGVzLnNpemUoKSA+IG1heGltdW1DbGFzc1Njb3Blc1RvVGVzdCkKLSAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj46Oml0ZXJhdG9y
IGVuZCA9IGlkU2NvcGVzLmVuZCgpOwotICAgIGZvciAoSGFzaFNldDxBdG9taWNTdHJpbmdJbXBs
Kj46Oml0ZXJhdG9yIGl0ID0gaWRTY29wZXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0g
ICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIGlkID0gKml0OwotICAgICAgICBFbGVtZW50KiBpZEVs
ZW1lbnQgPSBnZXRFbGVtZW50QnlJZChpZCk7Ci0gICAgICAgIGlmICghaWRFbGVtZW50KQotICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmIChjb250YWluc011bHRpcGxlRWxlbWVudHNX
aXRoSWQoaWQpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGlkRWxlbWVudC0+
c2V0TmVlZHNTdHlsZVJlY2FsYygpOwotICAgIH0KLSAgICBlbmQgPSBjbGFzc1Njb3Blcy5lbmQo
KTsKLSAgICBmb3IgKEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+OjppdGVyYXRvciBpdCA9IGNs
YXNzU2NvcGVzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAvLyBGSVhNRTog
Z2V0RWxlbWVudHNCeUNsYXNzTmFtZSBpcyBub3Qgb3B0aW1hbCBmb3IgdGhpcy4gV2Ugc2hvdWxk
IGhhbmRsZSBhbGwgY2xhc3NlcyBpbiBhIHNpbmdsZSBwYXNzLgotICAgICAgICBSZWZQdHI8Tm9k
ZUxpc3Q+IGNsYXNzRWxlbWVudHMgPSBnZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCppdCk7Ci0gICAg
ICAgIHVuc2lnbmVkIGVsZW1lbnRDb3VudCA9IGNsYXNzRWxlbWVudHMtPmxlbmd0aCgpOwotICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZWxlbWVudENvdW50OyArK2kpCi0gICAgICAg
ICAgICBjbGFzc0VsZW1lbnRzLT5pdGVtKGkpLT5zZXROZWVkc1N0eWxlUmVjYWxjKCk7Ci0gICAg
fQorICAgIGludmFsaWRhdGVFbGVtZW50c01hdGNoaW5nU2VsZWN0b3JTY29wZXMoaWRTY29wZXMs
IGNsYXNzU2NvcGVzKTsKICAgICByZXR1cm4gZmFsc2U7CiB9Ci0gICAgCisKIHZvaWQgRG9jdW1l
bnQ6OmFuYWx5emVTdHlsZXNoZWV0Q2hhbmdlKFN0eWxlU2VsZWN0b3JVcGRhdGVGbGFnIHVwZGF0
ZUZsYWcsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVTaGVldD4gPiYgbmV3U3R5bGVzaGVldHMs
IGJvb2wmIHJlcXVpcmVzU3R5bGVTZWxlY3RvclJlc2V0LCBib29sJiByZXF1aXJlc0Z1bGxTdHls
ZVJlY2FsYykKIHsKICAgICByZXF1aXJlc1N0eWxlU2VsZWN0b3JSZXNldCA9IHRydWU7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMTE0MjEzKQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTExOTAsNiArMTE5MCw3IEBAIHByaXZh
dGU6CiAgICAgCiAgICAgYm9vbCB1cGRhdGVBY3RpdmVTdHlsZXNoZWV0cyhTdHlsZVNlbGVjdG9y
VXBkYXRlRmxhZyk7CiAgICAgdm9pZCBjb2xsZWN0QWN0aXZlU3R5bGVzaGVldHMoVmVjdG9yPFJl
ZlB0cjxTdHlsZVNoZWV0PiA+Jik7CisgICAgdm9pZCBpbnZhbGlkYXRlRWxlbWVudHNNYXRjaGlu
Z1NlbGVjdG9yU2NvcGVzKGNvbnN0IEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+JiBpZFNjb3Bl
cywgY29uc3QgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4mIGNsYXNzU2NvcGVzKTsKICAgICBi
b29sIHRlc3RBZGRlZFN0eWxlc2hlZXRSZXF1aXJlc1N0eWxlUmVjYWxjKFN0eWxlU2hlZXRJbnRl
cm5hbCopOwogICAgIHZvaWQgYW5hbHl6ZVN0eWxlc2hlZXRDaGFuZ2UoU3R5bGVTZWxlY3RvclVw
ZGF0ZUZsYWcsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVTaGVldD4gPiYgbmV3U3R5bGVzaGVl
dHMsIGJvb2wmIHJlcXVpcmVzU3R5bGVTZWxlY3RvclJlc2V0LCBib29sJiByZXF1aXJlc0Z1bGxT
dHlsZVJlY2FsYyk7CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDIyNSkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA0LTE1ICBB
bnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChy
MTA0NDQ1KTogU3R5bGUgaXMgbm90IHJlY29tcHV0ZWQgb24gc2VyZW5hYW5kbGlseS5jb20KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNjYzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBVcGRh
dGUgdGhlIGV4aXN0aW5nIHRlc3Qgd2l0aCBjYXNlIGluc2Vuc2l0aXZlIGNvbXBhcmlzb25zIGFu
ZCBhZGQgYSBzdHJpY3QgbW9kZSB0ZXN0LgorCisgICAgICAgICogZmFzdC9jc3MvaWQtb3ItY2xh
c3MtYmVmb3JlLXN0eWxlc2hlZXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL2lk
LW9yLWNsYXNzLWJlZm9yZS1zdHlsZXNoZWV0LXN0cmljdC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvY3NzL2lkLW9yLWNsYXNzLWJlZm9yZS1zdHlsZXNoZWV0LXN0cmljdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVz
aGVldC5odG1sOgorCiAyMDEyLTA0LTE1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtp
dC5vcmc+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIG1vcm5pbmcgZ2FyZGVuaW5nLgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2lkLW9yLWNsYXNz
LWJlZm9yZS1zdHlsZXNoZWV0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTE0MjEzKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC01LDggKzUsMTIgQEAgT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQQogCiBQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0aWQiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMCwg
MTI4LCAwKSIKIFBBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeUNsYXNzTmFtZSgidGVzdGNsYXNzIilbMF0pLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDAs
IDEyOCwgMCkiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXN0SUQyIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDAsIDEyOCwgMCkiCitQ
QVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05h
bWUoInRlc3RDbGFzczIiKVswXSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQogaWQgdGVz
dAogY2xhc3MgdGVzdAorY2FzZSBpbnNlbnNpdGl2ZSBpZCB0ZXN0CitjYXNlIGluc2Vuc2l0aXZl
IGNsYXNzIHRlc3QKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2lkLW9yLWNsYXNzLWJlZm9y
ZS1zdHlsZXNoZWV0LXN0cmljdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQtc3RyaWN0LWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2lkLW9yLWNsYXNzLWJl
Zm9yZS1zdHlsZXNoZWV0LXN0cmljdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTYgQEAKK1Rlc3QgdGhhdCBlbGVtZW50cyBiZWZvcmUgaW5saW5lIHN0eWxlc2hlZXRzIGdl
dCB0aGVpciBzdHlsZSB1cGRhdGVkIHByb3Blcmx5CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0ZXN0aWQiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1Mg
d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgi
dGVzdGNsYXNzIilbMF0pLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDAsIDEyOCwgMCkiCitQQVNT
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0SUQy
IikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwgMCwgMCkiCitQQVNTIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInRlc3RDbGFzczIi
KVswXSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQoraWQgdGVzdAorY2xhc3MgdGVzdAor
Y2FzZSBpbnNlbnNpdGl2ZSBpZCB0ZXN0CitjYXNlIGluc2Vuc2l0aXZlIGNsYXNzIHRlc3QKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2lkLW9yLWNsYXNzLWJlZm9yZS1zdHlsZXNoZWV0LXN0
cmljdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2lkLW9yLWNsYXNz
LWJlZm9yZS1zdHlsZXNoZWV0LXN0cmljdC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQtc3RyaWN0Lmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz1l
bj4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c3R5bGU+CisjdGVzdGlkIHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9Cisj
dGVzdElEMiB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorLnRlc3RjbGFzcyB7IGJhY2tncm91
bmQtY29sb3I6IHJlZDsgfQorLnRlc3RDbGFzczIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9dGVzdGlkPmlkIHRlc3Q8L2Rpdj4K
KzxzdHlsZT4KKyN0ZXN0aWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiB9Cis8L3N0eWxlPgor
PGRpdiBjbGFzcz10ZXN0Y2xhc3M+Y2xhc3MgdGVzdDwvZGl2PgorPHN0eWxlPgorLnRlc3RjbGFz
cyB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9Cis8L3N0eWxlPgorPGRpdiBpZD10ZXN0SUQy
PmNhc2UgaW5zZW5zaXRpdmUgaWQgdGVzdDwvZGl2PgorPHN0eWxlPgorI1RFU1RpZDIgeyBiYWNr
Z3JvdW5kLWNvbG9yOiBncmVlbiB9Cis8L3N0eWxlPgorPGRpdiBjbGFzcz10ZXN0Q2xhc3MyPmNh
c2UgaW5zZW5zaXRpdmUgY2xhc3MgdGVzdDwvZGl2PgorPHN0eWxlPgorLlRFU1RjbGFzczIgeyBi
YWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorPC9zdHlsZT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlv
bigiVGVzdCB0aGF0IGVsZW1lbnRzIGJlZm9yZSBpbmxpbmUgc3R5bGVzaGVldHMgZ2V0IHRoZWly
IHN0eWxlIHVwZGF0ZWQgcHJvcGVybHkiKTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdGlkIikpLmJhY2tncm91bmRDb2xvcics
JyJyZ2IoMCwgMTI4LCAwKSInKTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ0ZXN0Y2xhc3MiKVswXSkuYmFja2dyb3Vu
ZENvbG9yJywnInJnYigwLCAxMjgsIDApIicpOworc2hvdWxkQmUoJ3dpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0SUQyIikpLmJhY2tncm91bmRDb2xv
cicsJyJyZ2IoMjU1LCAwLCAwKSInKTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ0ZXN0Q2xhc3MyIilbMF0pLmJhY2tn
cm91bmRDb2xvcicsJyJyZ2IoMjU1LCAwLCAwKSInKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUt
c3R5bGVzaGVldC5odG1sCShyZXZpc2lvbiAxMTQyMTMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVldC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0z
LDcgKzMsOSBAQAogPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CiA8c3R5bGU+CiAjdGVzdGlkIHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9Cisj
dGVzdElEMiB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQogLnRlc3RjbGFzcyB7IGJhY2tncm91
bmQtY29sb3I6IHJlZDsgfQorLnRlc3RDbGFzczIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0K
IDwvc3R5bGU+CiA8L2hlYWQ+CiA8Ym9keT4KQEAgLTE1LDEwICsxNywyMCBAQAogPHN0eWxlPgog
LnRlc3RjbGFzcyB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9CiA8L3N0eWxlPgorPGRpdiBp
ZD10ZXN0SUQyPmNhc2UgaW5zZW5zaXRpdmUgaWQgdGVzdDwvZGl2PgorPHN0eWxlPgorI1RFU1Rp
ZDIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbiB9Cis8L3N0eWxlPgorPGRpdiBjbGFzcz10ZXN0
Q2xhc3MyPmNhc2UgaW5zZW5zaXRpdmUgY2xhc3MgdGVzdDwvZGl2PgorPHN0eWxlPgorLlRFU1Rj
bGFzczIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorPC9zdHlsZT4KIDxzY3JpcHQ+CiBk
ZXNjcmlwdGlvbigiVGVzdCB0aGF0IGVsZW1lbnRzIGJlZm9yZSBpbmxpbmUgc3R5bGVzaGVldHMg
Z2V0IHRoZWlyIHN0eWxlIHVwZGF0ZWQgcHJvcGVybHkiKTsKIHNob3VsZEJlKCd3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdGlkIikpLmJhY2tncm91
bmRDb2xvcicsJyJyZ2IoMCwgMTI4LCAwKSInKTsKIHNob3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ0ZXN0Y2xhc3MiKVswXSku
YmFja2dyb3VuZENvbG9yJywnInJnYigwLCAxMjgsIDApIicpOworc2hvdWxkQmUoJ3dpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0SUQyIikpLmJhY2tn
cm91bmRDb2xvcicsJyJyZ2IoMCwgMTI4LCAwKSInKTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ0ZXN0Q2xhc3MyIilb
MF0pLmJhY2tncm91bmRDb2xvcicsJyJyZ2IoMCwgMTI4LCAwKSInKTsKIDwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9i
b2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137297</attachid>
            <date>2012-04-16 01:11:13 -0700</date>
            <delta_ts>2012-04-16 09:22:13 -0700</delta_ts>
            <desc>different factoring, selector matching moves to SelectorChecker</desc>
            <filename>scope-invalidation-case-4.patch</filename>
            <type>text/plain</type>
            <size>12021</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDIyOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA0LTE2ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTA0NDQ1
KTogU3R5bGUgaXMgbm90IHJlY29tcHV0ZWQgb24gc2VyZW5hYW5kbGlseS5jb20KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNjYzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBDU1MgY2xhc3Mg
YW5kIGlkIHNlbGVjdG9ycyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSBpbiBub24tc3RyaWN0IG1vZGVz
LiBUaGUgY29kZQorICAgICAgICB0aGF0IGludmFsaWRhdGVkIHRoZSBzY29wZSBlbGVtZW50cyB1
c2VkIGdldEVsZW1lbnRCeUlEKCkgd2hpY2ggaXMgY2FzZQorICAgICAgICBzZW5zaXRpdmUgaW4g
YWxsIG1vZGVzLiBBcyBhIHJlc3VsdCB3ZSB3b3VsZCBmYWlsIHRvIGludmFsaWRhdGUgZWxlbWVu
dHMKKyAgICAgICAgdGhhdCB3b3VsZCBtYXRjaCBhIHN0eWxlIHJ1bGUgYnV0IHVzZWQgZGlmZmVy
ZW50IGNhc2UgaW4gaWQuCisgICAgICAgIAorICAgICAgICBUaGUgbmV3IGNvZGUgaW52YWxpZGF0
ZXMgYnkgY3Jhd2xpbmcgdGhlIERPTSB0cmVlLiBUaGlzIG9mdGVuICh3aGVuIHRoZXJlIGFyZSBj
bGFzc2VzKSAKKyAgICAgICAgYWN0dWFsbHkgZmFzdGVyIHRoYW4gdGhlIGV4aXN0aW5nIGNvZGUg
YXMgd2UgY2FuIG5vdyBoYW5kbGUgZXZlcnl0aGluZyBpbiBhIHNpbmdsZSBwYXNzLgorICAgICAg
ICBFYWNoIGNsYXNzIHNjb3BlIHJlcXVpcmVkIGEgY3Jhd2wgd2l0aCB0aGUgb2xkIGNvZGUuCisg
ICAgICAgIAorICAgICAgICBUaGUgY29kZSB1c2VzIHRoZSBzYW1lIGZ1bmN0aW9ucyBhcyB0aGUg
c2VsZWN0b3IgbWF0Y2hpbmcgY29kZSB0byBnZXQgdGhlIHNhbWUgYmVoYXZpb3IuCisgICAgICAg
IAorICAgICAgICBUaGUgbWF4aW11bSBjbGFzcyBsaW1pdCBpcyBsaWZ0ZWQgYXMgbnVtYmVyIG9m
IGNsYXNzZXMgZG9lcyBub3QgYWZmZWN0IGNvbXBsZXhpdHkgYW55bW9yZS4KKworICAgICAgICBU
ZXN0OiBmYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVldC1zdHJpY3QuaHRtbAor
CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5oOgorICAgICAgICAoV2ViQ29yZTo6U2Vs
ZWN0b3JDaGVja2VyOjplbGVtZW50TWF0Y2hlc1NlbGVjdG9yU2NvcGVzKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6dGVzdEFkZGVkU3R5bGVzaGVldFJlcXVpcmVzU3R5bGVSZWNhbGMpOgorICAgICAg
ICAoV2ViQ29yZSk6CisKIDIwMTItMDQtMTUgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFdlYkNvcmU6OndlZWtEYXlTaG9ydExhYmVscygpIGZvciBJQ1UgYWx3
YXlzIHJldHVybnMgdGhlIGZhbGxiYWNrIGxhYmVscwpJbmRleDogU291cmNlL1dlYkNvcmUvY3Nz
L1NlbGVjdG9yQ2hlY2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxl
Y3RvckNoZWNrZXIuaAkocmV2aXNpb24gMTE0MjI5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1Nl
bGVjdG9yQ2hlY2tlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNiArMTE2LDcgQEAgcHVibGlj
OgogCiAgICAgLy8gRmluZCB0aGUgaWRzIG9yIGNsYXNzZXMgc2VsZWN0b3JzIGFyZSBzY29wZWQg
dG8uIFRoZSBzZWxlY3RvcnMgb25seSBhcHBseSB0byBlbGVtZW50cyBpbiBzdWJ0cmVlcyB3aGVy
ZSB0aGUgcm9vdCBlbGVtZW50IG1hdGNoZXMgdGhlIHNjb3BlLgogICAgIHN0YXRpYyBib29sIGRl
dGVybWluZVNlbGVjdG9yU2NvcGVzKGNvbnN0IENTU1NlbGVjdG9yTGlzdCYsIEhhc2hTZXQ8QXRv
bWljU3RyaW5nSW1wbCo+JiBpZFNjb3BlcywgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4mIGNs
YXNzU2NvcGVzKTsKKyAgICBzdGF0aWMgYm9vbCBlbGVtZW50TWF0Y2hlc1NlbGVjdG9yU2NvcGVz
KGNvbnN0IFN0eWxlZEVsZW1lbnQqLCBjb25zdCBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiYg
aWRTY29wZXMsIGNvbnN0IEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+JiBjbGFzc1Njb3Blcyk7
CiAKIHByaXZhdGU6CiAgICAgYm9vbCBjaGVja09uZVNlbGVjdG9yKGNvbnN0IFNlbGVjdG9yQ2hl
Y2tpbmdDb250ZXh0JiwgUHNldWRvSWQmKSBjb25zdDsKQEAgLTIyNiw2ICsyMjcsMjAgQEAgaW5s
aW5lIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpmYXN0Q2hlY2tSaQogICAgIHJldHVybiB0cnVlOwog
fQogCitpbmxpbmUgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmVsZW1lbnRNYXRjaGVzU2VsZWN0b3JT
Y29wZXMoY29uc3QgU3R5bGVkRWxlbWVudCogZWxlbWVudCwgY29uc3QgSGFzaFNldDxBdG9taWNT
dHJpbmdJbXBsKj4mIGlkU2NvcGVzLCBjb25zdCBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiYg
Y2xhc3NTY29wZXMpCit7CisgICAgaWYgKCFpZFNjb3Blcy5pc0VtcHR5KCkgJiYgZWxlbWVudC0+
aGFzSUQoKSAmJiBpZFNjb3Blcy5jb250YWlucyhlbGVtZW50LT5pZEZvclN0eWxlUmVzb2x1dGlv
bigpLmltcGwoKSkpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChjbGFzc1Njb3Blcy5p
c0VtcHR5KCkgfHwgIWVsZW1lbnQtPmhhc0NsYXNzKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBjbGFzc05hbWVzID0gZWxlbWVudC0+Y2xhc3NO
YW1lcygpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjbGFzc05hbWVzLnNpemUoKTsg
KytpKSB7CisgICAgICAgIGlmIChjbGFzc1Njb3Blcy5jb250YWlucyhjbGFzc05hbWVzW2ldLmlt
cGwoKSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNl
OworfQorCiB9CiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lv
biAxMTQyMjkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMzMzLDM2ICszMzMzLDI5IEBAIGJvb2wgRG9jdW1lbnQ6OnRlc3RBZGRlZFN0eWxl
c2hlZXRSZXF1aXIKIHsKICAgICAvLyBTZWUgaWYgYWxsIHJ1bGVzIG9uIHRoZSBzaGVldCBhcmUg
c2NvcGVkIHRvIHNvbWUgc3BlY2lmaWMgaWRzIG9yIGNsYXNzZXMuCiAgICAgLy8gVGhlbiB0ZXN0
IGlmIHdlIGFjdHVhbGx5IGhhdmUgYW55IG9mIHRob3NlIGluIHRoZSB0cmVlIGF0IHRoZSBtb21l
bnQuCi0gICAgLy8gRklYTUU6IEV2ZW4gd2UgaWYgd2UgZmluZCBzb21lLCB3ZSBjb3VsZCBqdXN0
IGludmFsaWRhdGUgdGhvc2Ugc3VidHJlZXMgaW5zdGVhZCBvZiBpbnZhbGlkYXRpbmcgdGhlIGVu
dGlyZSBzdHlsZS4KICAgICBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiBpZFNjb3BlczsgCiAg
ICAgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4gY2xhc3NTY29wZXM7CiAgICAgaWYgKCFDU1NT
dHlsZVNlbGVjdG9yOjpkZXRlcm1pbmVTdHlsZXNoZWV0U2VsZWN0b3JTY29wZXMoc3R5bGVzaGVl
dCwgaWRTY29wZXMsIGNsYXNzU2NvcGVzKSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgLy8g
VGVzdGluZyBmb3IgY2xhc3NlcyBpcyBub3QgcGFydGljdWxhcmx5IGZhc3Qgc28gYmFpbCBvdXQg
aWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBhIGZldy4KLSAgICBzdGF0aWMgY29uc3QgaW50IG1heGlt
dW1DbGFzc1Njb3Blc1RvVGVzdCA9IDQ7Ci0gICAgaWYgKGNsYXNzU2NvcGVzLnNpemUoKSA+IG1h
eGltdW1DbGFzc1Njb3Blc1RvVGVzdCkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgSGFzaFNl
dDxBdG9taWNTdHJpbmdJbXBsKj46Oml0ZXJhdG9yIGVuZCA9IGlkU2NvcGVzLmVuZCgpOwotICAg
IGZvciAoSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj46Oml0ZXJhdG9yIGl0ID0gaWRTY29wZXMu
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIEF0b21pY1N0cmluZ0ltcGwqIGlk
ID0gKml0OwotICAgICAgICBFbGVtZW50KiBpZEVsZW1lbnQgPSBnZXRFbGVtZW50QnlJZChpZCk7
Ci0gICAgICAgIGlmICghaWRFbGVtZW50KQorICAgIC8vIEludmFsaWRhdGUgdGhlIHN1YnRyZWVz
IHRoYXQgbWF0Y2ggdGhlIHNjb3Blcy4KKyAgICBOb2RlKiBub2RlID0gZmlyc3RDaGlsZCgpOwor
ICAgIHdoaWxlIChub2RlKSB7CisgICAgICAgIGlmICghbm9kZS0+aXNTdHlsZWRFbGVtZW50KCkp
IHsKKyAgICAgICAgICAgIG5vZGUgPSBub2RlLT50cmF2ZXJzZU5leHROb2RlKCk7CiAgICAgICAg
ICAgICBjb250aW51ZTsKLSAgICAgICAgaWYgKGNvbnRhaW5zTXVsdGlwbGVFbGVtZW50c1dpdGhJ
ZChpZCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgaWRFbGVtZW50LT5zZXRO
ZWVkc1N0eWxlUmVjYWxjKCk7Ci0gICAgfQotICAgIGVuZCA9IGNsYXNzU2NvcGVzLmVuZCgpOwot
ICAgIGZvciAoSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj46Oml0ZXJhdG9yIGl0ID0gY2xhc3NT
Y29wZXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIC8vIEZJWE1FOiBnZXRF
bGVtZW50c0J5Q2xhc3NOYW1lIGlzIG5vdCBvcHRpbWFsIGZvciB0aGlzLiBXZSBzaG91bGQgaGFu
ZGxlIGFsbCBjbGFzc2VzIGluIGEgc2luZ2xlIHBhc3MuCi0gICAgICAgIFJlZlB0cjxOb2RlTGlz
dD4gY2xhc3NFbGVtZW50cyA9IGdldEVsZW1lbnRzQnlDbGFzc05hbWUoKml0KTsKLSAgICAgICAg
dW5zaWduZWQgZWxlbWVudENvdW50ID0gY2xhc3NFbGVtZW50cy0+bGVuZ3RoKCk7Ci0gICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbGVtZW50Q291bnQ7ICsraSkKLSAgICAgICAgICAg
IGNsYXNzRWxlbWVudHMtPml0ZW0oaSktPnNldE5lZWRzU3R5bGVSZWNhbGMoKTsKKyAgICAgICAg
fQorICAgICAgICBTdHlsZWRFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U3R5bGVkRWxl
bWVudCo+KG5vZGUpOworICAgICAgICBpZiAoU2VsZWN0b3JDaGVja2VyOjplbGVtZW50TWF0Y2hl
c1NlbGVjdG9yU2NvcGVzKGVsZW1lbnQsIGlkU2NvcGVzLCBjbGFzc1Njb3BlcykpIHsKKyAgICAg
ICAgICAgIGVsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoKTsKKyAgICAgICAgICAgIC8vIFRo
ZSB3aG9sZSBzdWJ0cmVlIGlzIG5vdyBpbnZhbGlkYXRlZCwgd2UgY2FuIHNraXAgdG8gdGhlIG5l
eHQgc2libGluZy4KKyAgICAgICAgICAgIG5vZGUgPSBub2RlLT50cmF2ZXJzZU5leHRTaWJsaW5n
KCk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICBub2RlID0gbm9k
ZS0+dHJhdmVyc2VOZXh0Tm9kZSgpOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9Ci0gICAg
CisKIHZvaWQgRG9jdW1lbnQ6OmFuYWx5emVTdHlsZXNoZWV0Q2hhbmdlKFN0eWxlU2VsZWN0b3JV
cGRhdGVGbGFnIHVwZGF0ZUZsYWcsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVTaGVldD4gPiYg
bmV3U3R5bGVzaGVldHMsIGJvb2wmIHJlcXVpcmVzU3R5bGVTZWxlY3RvclJlc2V0LCBib29sJiBy
ZXF1aXJlc0Z1bGxTdHlsZVJlY2FsYykKIHsKICAgICByZXF1aXJlc1N0eWxlU2VsZWN0b3JSZXNl
dCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTQyMjkpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNC0xNSAgQW50dGkg
S29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjEwNDQ0
NSk6IFN0eWxlIGlzIG5vdCByZWNvbXB1dGVkIG9uIHNlcmVuYWFuZGxpbHkuY29tCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzY2MworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgVXBkYXRlIHRo
ZSBleGlzdGluZyB0ZXN0IHdpdGggY2FzZSBpbnNlbnNpdGl2ZSBjb21wYXJpc29ucyBhbmQgYWRk
IGEgc3RyaWN0IG1vZGUgdGVzdC4KKworICAgICAgICAqIGZhc3QvY3NzL2lkLW9yLWNsYXNzLWJl
Zm9yZS1zdHlsZXNoZWV0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9pZC1vci1j
bGFzcy1iZWZvcmUtc3R5bGVzaGVldC1zdHJpY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVldC1zdHJpY3QuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQu
aHRtbDoKKwogMjAxMi0wNC0xNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgR1RLIGdhcmRlbmluZy4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvY3NzL2lkLW9yLWNsYXNzLWJlZm9yZS1zdHlsZXNoZWV0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5
bGVzaGVldC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDExNDIyOSkKKysrIExheW91dFRlc3RzL2Zh
c3QvY3NzL2lkLW9yLWNsYXNzLWJlZm9yZS1zdHlsZXNoZWV0LWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNSw4ICs1LDEyIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEEKIAogUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGVzdGlkIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDAsIDEyOCwgMCkiCiBQ
QVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05h
bWUoInRlc3RjbGFzcyIpWzBdKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigwLCAxMjgsIDApIgor
UEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVz
dElEMiIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigwLCAxMjgsIDApIgorUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ0ZXN0Q2xh
c3MyIilbMF0pLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDAsIDEyOCwgMCkiCiBQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKIGlkIHRlc3QKIGNsYXNzIHRl
c3QKK2Nhc2UgaW5zZW5zaXRpdmUgaWQgdGVzdAorY2FzZSBpbnNlbnNpdGl2ZSBjbGFzcyB0ZXN0
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVl
dC1zdHJpY3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3Nz
L2lkLW9yLWNsYXNzLWJlZm9yZS1zdHlsZXNoZWV0LXN0cmljdC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVz
aGVldC1zdHJpY3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACitU
ZXN0IHRoYXQgZWxlbWVudHMgYmVmb3JlIGlubGluZSBzdHlsZXNoZWV0cyBnZXQgdGhlaXIgc3R5
bGUgdXBkYXRlZCBwcm9wZXJseQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdGlk
IikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDAsIDEyOCwgMCkiCitQQVNTIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInRlc3RjbGFzcyIp
WzBdKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigwLCAxMjgsIDApIgorUEFTUyB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdElEMiIpKS5iYWNrZ3Jv
dW5kQ29sb3IgaXMgInJnYigyNTUsIDAsIDApIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJ0ZXN0Q2xhc3MyIilbMF0pLmJhY2tn
cm91bmRDb2xvciBpcyAicmdiKDI1NSwgMCwgMCkiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK2lkIHRlc3QKK2NsYXNzIHRlc3QKK2Nhc2UgaW5zZW5z
aXRpdmUgaWQgdGVzdAorY2FzZSBpbnNlbnNpdGl2ZSBjbGFzcyB0ZXN0CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5bGVzaGVldC1zdHJpY3QuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9pZC1vci1jbGFzcy1iZWZvcmUtc3R5
bGVzaGVldC1zdHJpY3QuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3Nz
L2lkLW9yLWNsYXNzLWJlZm9yZS1zdHlsZXNoZWV0LXN0cmljdC5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ZW4+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorI3Rlc3RpZCB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorI3Rlc3RJRDIgeyBi
YWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KKy50ZXN0Y2xhc3MgeyBiYWNrZ3JvdW5kLWNvbG9yOiBy
ZWQ7IH0KKy50ZXN0Q2xhc3MyIHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPXRlc3RpZD5pZCB0ZXN0PC9kaXY+Cis8c3R5bGU+Cisj
dGVzdGlkIHsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4gfQorPC9zdHlsZT4KKzxkaXYgY2xhc3M9
dGVzdGNsYXNzPmNsYXNzIHRlc3Q8L2Rpdj4KKzxzdHlsZT4KKy50ZXN0Y2xhc3MgeyBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjsgfQorPC9zdHlsZT4KKzxkaXYgaWQ9dGVzdElEMj5jYXNlIGluc2Vu
c2l0aXZlIGlkIHRlc3Q8L2Rpdj4KKzxzdHlsZT4KKyNURVNUaWQyIHsgYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW4gfQorPC9zdHlsZT4KKzxkaXYgY2xhc3M9dGVzdENsYXNzMj5jYXNlIGluc2Vuc2l0
aXZlIGNsYXNzIHRlc3Q8L2Rpdj4KKzxzdHlsZT4KKy5URVNUY2xhc3MyIHsgYmFja2dyb3VuZC1j
b2xvcjogZ3JlZW47IH0KKzwvc3R5bGU+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdGhh
dCBlbGVtZW50cyBiZWZvcmUgaW5saW5lIHN0eWxlc2hlZXRzIGdldCB0aGVpciBzdHlsZSB1cGRh
dGVkIHByb3Blcmx5Iik7CitzaG91bGRCZSgnd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RpZCIpKS5iYWNrZ3JvdW5kQ29sb3InLCcicmdiKDAsIDEy
OCwgMCkiJyk7CitzaG91bGRCZSgnd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeUNsYXNzTmFtZSgidGVzdGNsYXNzIilbMF0pLmJhY2tncm91bmRDb2xvcicsJyJy
Z2IoMCwgMTI4LCAwKSInKTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdElEMiIpKS5iYWNrZ3JvdW5kQ29sb3InLCcicmdiKDI1
NSwgMCwgMCkiJyk7CitzaG91bGRCZSgnd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeUNsYXNzTmFtZSgidGVzdENsYXNzMiIpWzBdKS5iYWNrZ3JvdW5kQ29sb3In
LCcicmdiKDI1NSwgMCwgMCkiJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvY3NzL2lkLW9yLWNsYXNzLWJlZm9yZS1zdHlsZXNoZWV0Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xhc3MtYmVmb3JlLXN0eWxlc2hlZXQu
aHRtbAkocmV2aXNpb24gMTE0MjI5KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvaWQtb3ItY2xh
c3MtYmVmb3JlLXN0eWxlc2hlZXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDkgQEAK
IDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgog
PHN0eWxlPgogI3Rlc3RpZCB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorI3Rlc3RJRDIgeyBi
YWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KIC50ZXN0Y2xhc3MgeyBiYWNrZ3JvdW5kLWNvbG9yOiBy
ZWQ7IH0KKy50ZXN0Q2xhc3MyIHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CiA8L3N0eWxlPgog
PC9oZWFkPgogPGJvZHk+CkBAIC0xNSwxMCArMTcsMjAgQEAKIDxzdHlsZT4KIC50ZXN0Y2xhc3Mg
eyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQogPC9zdHlsZT4KKzxkaXYgaWQ9dGVzdElEMj5j
YXNlIGluc2Vuc2l0aXZlIGlkIHRlc3Q8L2Rpdj4KKzxzdHlsZT4KKyNURVNUaWQyIHsgYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW4gfQorPC9zdHlsZT4KKzxkaXYgY2xhc3M9dGVzdENsYXNzMj5jYXNl
IGluc2Vuc2l0aXZlIGNsYXNzIHRlc3Q8L2Rpdj4KKzxzdHlsZT4KKy5URVNUY2xhc3MyIHsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKzwvc3R5bGU+CiA8c2NyaXB0PgogZGVzY3JpcHRpb24o
IlRlc3QgdGhhdCBlbGVtZW50cyBiZWZvcmUgaW5saW5lIHN0eWxlc2hlZXRzIGdldCB0aGVpciBz
dHlsZSB1cGRhdGVkIHByb3Blcmx5Iik7CiBzaG91bGRCZSgnd2luZG93LmdldENvbXB1dGVkU3R5
bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RpZCIpKS5iYWNrZ3JvdW5kQ29sb3InLCci
cmdiKDAsIDEyOCwgMCkiJyk7CiBzaG91bGRCZSgnd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgidGVzdGNsYXNzIilbMF0pLmJhY2tncm91bmRD
b2xvcicsJyJyZ2IoMCwgMTI4LCAwKSInKTsKK3Nob3VsZEJlKCd3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdElEMiIpKS5iYWNrZ3JvdW5kQ29sb3In
LCcicmdiKDAsIDEyOCwgMCkiJyk7CitzaG91bGRCZSgnd2luZG93LmdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgidGVzdENsYXNzMiIpWzBdKS5iYWNrZ3Jv
dW5kQ29sb3InLCcicmdiKDAsIDEyOCwgMCkiJyk7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4K
</data>
<flag name="review"
          id="142308"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="142311"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>