<?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>65056</bug_id>
          
          <creation_ts>2011-07-22 16:17:26 -0700</creation_ts>
          <short_desc>Enable fast path scrolling for composited iframes</short_desc>
          <delta_ts>2011-08-11 13:43:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrienne Walker">enne</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>enne</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>jamesr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>vangelis</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>441246</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-07-22 16:17:26 -0700</bug_when>
    <thetext>Enable fast path scrolling for composited iframes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441252</commentid>
    <comment_count>1</comment_count>
      <attachid>101789</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-07-22 16:24:52 -0700</bug_when>
    <thetext>Created attachment 101789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441261</commentid>
    <comment_count>2</comment_count>
      <attachid>101789</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-07-22 16:36:03 -0700</bug_when>
    <thetext>Comment on attachment 101789
Patch

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

I&apos;d like to see a test for the following testcase to see if it&apos;s OK to disregard the overlap test:

&lt;iframe id=&quot;a&quot; class=&quot;composited&quot;&gt;&lt;/iframe&gt;
&lt;iframe id=&quot;b&quot; class=&quot;noncomposited&quot;&gt;&lt;/iframe&gt;

where b overlaps a

i&apos;m not 100% sure if b will be put into a composited layer in this case.  If it always will, then I agree it&apos;s fine to ignore the overlap test when considering whether to fast scroll inside a&apos;s FrameView.

&gt; Source/WebCore/page/FrameView.cpp:1150
&gt; +    if (contentsInCompositedLayer())

is it OK to ignore m_useSlowRepaints for composited layers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441299</commentid>
    <comment_count>3</comment_count>
      <attachid>101789</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-07-22 17:35:51 -0700</bug_when>
    <thetext>Comment on attachment 101789
Patch

Attachment 101789 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9226327</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441303</commentid>
    <comment_count>4</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-07-22 18:04:45 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 101789 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=101789&amp;action=review
&gt;
&gt; &gt; Source/WebCore/page/FrameView.cpp:1150
&gt; &gt; +    if (contentsInCompositedLayer())
&gt; 
&gt; is it OK to ignore m_useSlowRepaints for composited layers?

setUseSlowRepaints() is called in three places, all in RenderView.  All of which appear to be related to layers that have reflections, transforms, or transparency.  If you were doing this in software, I could see how these might cause blitting problems when scrolling.  However, if the layer has its own backing, none of these should be an issue.

I was tempted to rename this to setCannotBlitToWindow() to make this more clear.  I can also add more tests for all these cases.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444995</commentid>
    <comment_count>5</comment_count>
      <attachid>102591</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-08-01 16:55:47 -0700</bug_when>
    <thetext>Created attachment 102591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445257</commentid>
    <comment_count>6</comment_count>
      <attachid>102591</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-08-02 07:37:30 -0700</bug_when>
    <thetext>Comment on attachment 102591
Patch

Attachment 102591 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9284720</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445304</commentid>
    <comment_count>7</comment_count>
      <attachid>102591</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-08-02 09:06:33 -0700</bug_when>
    <thetext>Comment on attachment 102591
Patch

Taking off review until I can address that gtk issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445323</commentid>
    <comment_count>8</comment_count>
      <attachid>102661</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-08-02 09:52:14 -0700</bug_when>
    <thetext>Created attachment 102661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445324</commentid>
    <comment_count>9</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-08-02 09:53:26 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=102661) [details]
&gt; Patch

Whoops, forgot the #if guard for accelerated compositing.  Thanks, ews bot!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446216</commentid>
    <comment_count>10</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-08-03 16:37:55 -0700</bug_when>
    <thetext>*** Bug 61806 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449302</commentid>
    <comment_count>11</comment_count>
      <attachid>102661</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-08-10 12:29:26 -0700</bug_when>
    <thetext>Comment on attachment 102661
Patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450006</commentid>
    <comment_count>12</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-08-11 13:43:29 -0700</bug_when>
    <thetext>Committed r92874: &lt;http://trac.webkit.org/changeset/92874&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101789</attachid>
            <date>2011-07-22 16:24:52 -0700</date>
            <delta_ts>2011-08-01 16:55:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65056-20110722162451.patch</filename>
            <type>text/plain</type>
            <size>7041</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE2MDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlZTJiZjAzOTg5NTczYjYy
NjE4YzRhNmEwMTJkY2E2ZDU1ODNhYTcwLi4xMDdiMGQ0NmIyNjhkNmQyN2QyNDRjOTI2MDAzNDlh
NDJlMzBjY2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDctMjIgIEFkcmll
bm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBFbmFibGUgZmFzdCBwYXRo
IHNjcm9sbGluZyBmb3IgY29tcG9zaXRlZCBpZnJhbWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIGlmcmFtZXMgd2l0aCBjb21wb3NpdGVkIGxheWVycyBm
b3IgY29udGVudCBzaG91bGQgYmUgYWJsZSB0byBkbyBmYXN0CisgICAgICAgIHBhdGggc2Nyb2xs
aW5nIGJlY2F1c2UgdGhleSBkcmF3IGludG8gdGhlaXIgb3duIGJhY2tpbmcuIFRvIGVuYWJsZQor
ICAgICAgICB0aGlzLCB1c2VTbG93UmVwYWludHMgaXMgbW9kaWZpZWQgdG8gcmV0dXJuIHRydWUg
b25seSBmb3IgdGhlIGNhc2VzCisgICAgICAgIHRoYXQgYXBwbHkgdG8gY29tcG9zaXRlZCBsYXll
cnMuIFRoZSBmYXN0IHBhdGggc2Nyb2xsaW5nIGZ1bmN0aW9uIGlzCisgICAgICAgIG1vZGlmaWVk
IHRvIHNlbmQgdGhlIGludmFsaWRhdGlvbiB0byB0aGUgYmFja2luZyBpdHNlbGYgcmF0aGVyIHRo
YW4gdG8KKyAgICAgICAgdGhlIHdpbmRvdy4KKworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXNlU2xvd1JlcGFpbnRzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXNlU2xvd1JlcGFpbnRzSWZOb3RPdmVybGFwcGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Y29udGVudHNJbkNvbXBvc2l0ZWRMYXllcik6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbENvbnRlbnRzRmFzdFBhdGgpOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxDb250ZW50c1Nsb3dQYXRoKToKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorCiAyMDExLTA3LTIyICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmVydCByOTE1OTUgZm9yIGl0IGJyb2tlIENo
cm9taXVtIFdpbmRvd3MgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZjU0
NmMxMzA4ZjNjMzc4NWFmZmJkMmIxNWZhMWQ5YjNjMTgzMzk3NS4uOTRkMjA1Y2VjZTg3MGI3NWIx
ZDM5NGZiMDBlNDlkZDBlZjJiNWUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAt
MTE0MywxMCArMTE0MywxMiBAQCB2b2lkIEZyYW1lVmlldzo6YWRqdXN0TWVkaWFUeXBlRm9yUHJp
bnRpbmcoYm9vbCBwcmludGluZykKICAgICB9CiB9CiAKLWJvb2wgRnJhbWVWaWV3Ojp1c2VTbG93
UmVwYWludHMoKSBjb25zdAorYm9vbCBGcmFtZVZpZXc6OnVzZVNsb3dSZXBhaW50cyhib29sIGNv
bnNpZGVyT3ZlcmxhcCkgY29uc3QKIHsKLSAgICBpZiAobV91c2VTbG93UmVwYWludHMgfHwgbV9z
bG93UmVwYWludE9iamVjdENvdW50ID4gMCB8fCAocGxhdGZvcm1XaWRnZXQoKSAmJiBtX2ZpeGVk
T2JqZWN0Q291bnQgPiAwKSB8fCBtX2lzT3ZlcmxhcHBlZCB8fCAhbV9jb250ZW50SXNPcGFxdWUp
Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgIGJvb2wgbXVzdEJlU2xvdyA9IG1fc2xvd1JlcGFp
bnRPYmplY3RDb3VudCA+IDAgfHwgKHBsYXRmb3JtV2lkZ2V0KCkgJiYgbV9maXhlZE9iamVjdENv
dW50ID4gMCk7CisKKyAgICBpZiAoY29udGVudHNJbkNvbXBvc2l0ZWRMYXllcigpKQorICAgICAg
ICByZXR1cm4gbXVzdEJlU2xvdzsKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQogICAgIC8vIFRo
ZSBjaHJvbWl1bSBjb21wb3NpdG9yIGRvZXMgbm90IHN1cHBvcnQgc2Nyb2xsaW5nIGEgbm9uLWNv
bXBvc2l0ZWQgZnJhbWUgd2l0aGluIGEgY29tcG9zaXRlZCBwYWdlIHRocm91Z2gKQEAgLTExNTUs
MjEgKzExNTcsMjAgQEAgYm9vbCBGcmFtZVZpZXc6OnVzZVNsb3dSZXBhaW50cygpIGNvbnN0CiAg
ICAgICAgIHJldHVybiB0cnVlOwogI2VuZGlmCiAKKyAgICBib29sIGlzT3ZlcmxhcHBlZCA9IG1f
aXNPdmVybGFwcGVkICYmIGNvbnNpZGVyT3ZlcmxhcDsKKworICAgIGlmIChtdXN0QmVTbG93IHx8
IG1fdXNlU2xvd1JlcGFpbnRzIHx8IGlzT3ZlcmxhcHBlZCB8fCAhbV9jb250ZW50SXNPcGFxdWUp
CisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgaWYgKEZyYW1lVmlldyogcGFyZW50VmlldyA9
IHBhcmVudEZyYW1lVmlldygpKQotICAgICAgICByZXR1cm4gcGFyZW50Vmlldy0+dXNlU2xvd1Jl
cGFpbnRzKCk7CisgICAgICAgIHJldHVybiBwYXJlbnRWaWV3LT51c2VTbG93UmVwYWludHMoY29u
c2lkZXJPdmVybGFwKTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0KIAogYm9vbCBGcmFtZVZpZXc6
OnVzZVNsb3dSZXBhaW50c0lmTm90T3ZlcmxhcHBlZCgpIGNvbnN0CiB7Ci0gICAgaWYgKG1fdXNl
U2xvd1JlcGFpbnRzIHx8IG1fc2xvd1JlcGFpbnRPYmplY3RDb3VudCA+IDAgfHwgKHBsYXRmb3Jt
V2lkZ2V0KCkgJiYgbV9maXhlZE9iamVjdENvdW50ID4gMCkgfHwgIW1fY29udGVudElzT3BhcXVl
KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChGcmFtZVZpZXcqIHBhcmVudFZpZXcg
PSBwYXJlbnRGcmFtZVZpZXcoKSkKLSAgICAgICAgcmV0dXJuIHBhcmVudFZpZXctPnVzZVNsb3dS
ZXBhaW50c0lmTm90T3ZlcmxhcHBlZCgpOwotCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVy
biB1c2VTbG93UmVwYWludHMoZmFsc2UpOwogfQogCiB2b2lkIEZyYW1lVmlldzo6dXBkYXRlQ2Fu
QmxpdE9uU2Nyb2xsUmVjdXJzaXZlbHkoKQpAQCAtMTE4MCw2ICsxMTgxLDE5IEBAIHZvaWQgRnJh
bWVWaWV3Ojp1cGRhdGVDYW5CbGl0T25TY3JvbGxSZWN1cnNpdmVseSgpCiAgICAgfQogfQogCiti
b29sIEZyYW1lVmlldzo6Y29udGVudHNJbkNvbXBvc2l0ZWRMYXllcigpIGNvbnN0Cit7CisjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIFJlbmRlclZpZXcqIHJvb3QgPSBtX2Zy
YW1lLT5jb250ZW50UmVuZGVyZXIoKTsKKyAgICBpZiAocm9vdCAmJiByb290LT5sYXllcigpLT5p
c0NvbXBvc2l0ZWQoKSkgeworICAgICAgICBHcmFwaGljc0xheWVyKiBsYXllciA9IHJvb3QtPmxh
eWVyKCktPmJhY2tpbmcoKS0+Z3JhcGhpY3NMYXllcigpOworICAgICAgICBpZiAobGF5ZXIgJiYg
bGF5ZXItPmRyYXdzQ29udGVudCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
I2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCiB2b2lkIEZyYW1lVmlldzo6c2V0VXNlU2xv
d1JlcGFpbnRzKCkKIHsKICAgICBtX3VzZVNsb3dSZXBhaW50cyA9IHRydWU7CkBAIC0xMzA1LDYg
KzEzMTksOCBAQCBib29sIEZyYW1lVmlldzo6c2Nyb2xsQ29udGVudHNGYXN0UGF0aChjb25zdCBJ
bnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdAogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9CiAKKyAgICBjb25zdCBib29sIGlzQ29tcG9zaXRlZENvbnRlbnRMYXllciA9IGNvbnRl
bnRzSW5Db21wb3NpdGVkTGF5ZXIoKTsKKwogICAgIC8vIEdldCB0aGUgcmVjdHMgb2YgdGhlIGZp
eGVkIG9iamVjdHMgdmlzaWJsZSBpbiB0aGUgcmVjdFRvU2Nyb2xsCiAgICAgVmVjdG9yPEludFJl
Y3QsIGZpeGVkT2JqZWN0VGhyZXNob2xkPiBzdWJSZWN0VG9VcGRhdGU7CiAgICAgYm9vbCB1cGRh
dGVJbnZhbGlkYXRlZFN1YlJlY3QgPSB0cnVlOwpAQCAtMTMxNSw3ICsxMzMxLDcgQEAgYm9vbCBG
cmFtZVZpZXc6OnNjcm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVs
dGEsIGNvbnN0IEludFJlY3QKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBJbnRSZWN0
IHVwZGF0ZVJlY3QgPSByZW5kZXJCb3gtPmxheWVyKCktPnJlcGFpbnRSZWN0SW5jbHVkaW5nRGVz
Y2VuZGFudHMoKTsKICAgICAgICAgdXBkYXRlUmVjdCA9IGNvbnRlbnRzVG9XaW5kb3codXBkYXRl
UmVjdCk7Ci0gICAgICAgIGlmIChjbGlwc1JlcGFpbnRzKCkpCisgICAgICAgIGlmICghaXNDb21w
b3NpdGVkQ29udGVudExheWVyICYmIGNsaXBzUmVwYWludHMoKSkKICAgICAgICAgICAgIHVwZGF0
ZVJlY3QuaW50ZXJzZWN0KHJlY3RUb1Njcm9sbCk7CiAgICAgICAgIGlmICghdXBkYXRlUmVjdC5p
c0VtcHR5KCkpIHsKICAgICAgICAgICAgIGlmIChzdWJSZWN0VG9VcGRhdGUuc2l6ZSgpID49IGZp
eGVkT2JqZWN0VGhyZXNob2xkKSB7CkBAIC0xMzM4LDkgKzEzNTQsMTYgQEAgYm9vbCBGcmFtZVZp
ZXc6OnNjcm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNv
bnN0IEludFJlY3QKICAgICAgICAgICAgIEludFJlY3Qgc2Nyb2xsZWRSZWN0ID0gdXBkYXRlUmVj
dDsKICAgICAgICAgICAgIHNjcm9sbGVkUmVjdC5tb3ZlKHNjcm9sbERlbHRhKTsKICAgICAgICAg
ICAgIHVwZGF0ZVJlY3QudW5pdGUoc2Nyb2xsZWRSZWN0KTsKLSAgICAgICAgICAgIGlmIChjbGlw
c1JlcGFpbnRzKCkpCi0gICAgICAgICAgICAgICAgdXBkYXRlUmVjdC5pbnRlcnNlY3QocmVjdFRv
U2Nyb2xsKTsKLSAgICAgICAgICAgIGhvc3RXaW5kb3coKS0+aW52YWxpZGF0ZUNvbnRlbnRzQW5k
V2luZG93KHVwZGF0ZVJlY3QsIGZhbHNlKTsKKyAgICAgICAgICAgIGlmIChpc0NvbXBvc2l0ZWRD
b250ZW50TGF5ZXIpIHsKKyAgICAgICAgICAgICAgICB1cGRhdGVSZWN0ID0gd2luZG93VG9Db250
ZW50cyh1cGRhdGVSZWN0KTsKKyAgICAgICAgICAgICAgICBSZW5kZXJWaWV3KiByb290ID0gbV9m
cmFtZS0+Y29udGVudFJlbmRlcmVyKCk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHJvb3QpOwor
ICAgICAgICAgICAgICAgIHJvb3QtPmxheWVyKCktPnNldEJhY2tpbmdOZWVkc1JlcGFpbnRJblJl
Y3QodXBkYXRlUmVjdCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlm
IChjbGlwc1JlcGFpbnRzKCkpCisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVJlY3QuaW50ZXJz
ZWN0KHJlY3RUb1Njcm9sbCk7CisgICAgICAgICAgICAgICAgaG9zdFdpbmRvdygpLT5pbnZhbGlk
YXRlQ29udGVudHNBbmRXaW5kb3codXBkYXRlUmVjdCwgZmFsc2UpOworICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KQEAgLTEzNTIsMTMgKzEzNzUs
MTAgQEAgYm9vbCBGcmFtZVZpZXc6OnNjcm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6
ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3QKIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxDb250
ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QpCiB7CiAjaWYgVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKQotICAgIFJlbmRlclZpZXcqIHJvb3QgPSBtX2ZyYW1lLT5jb250
ZW50UmVuZGVyZXIoKTsKLSAgICBpZiAocm9vdCAmJiByb290LT5sYXllcigpLT5pc0NvbXBvc2l0
ZWQoKSkgewotICAgICAgICBHcmFwaGljc0xheWVyKiBsYXllciA9IHJvb3QtPmxheWVyKCktPmJh
Y2tpbmcoKS0+Z3JhcGhpY3NMYXllcigpOwotICAgICAgICBpZiAobGF5ZXIgJiYgbGF5ZXItPmRy
YXdzQ29udGVudCgpKSB7Ci0gICAgICAgICAgICByb290LT5sYXllcigpLT5zZXRCYWNraW5nTmVl
ZHNSZXBhaW50SW5SZWN0KHZpc2libGVDb250ZW50UmVjdCgpKTsKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQorICAgIGlmIChjb250ZW50c0luQ29tcG9zaXRlZExheWVyKCkpIHsKKyAg
ICAgICAgUmVuZGVyVmlldyogcm9vdCA9IG1fZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpOworICAg
ICAgICBBU1NFUlQocm9vdCk7CisgICAgICAgIHJvb3QtPmxheWVyKCktPnNldEJhY2tpbmdOZWVk
c1JlcGFpbnRJblJlY3QodmlzaWJsZUNvbnRlbnRSZWN0KCkpOwogICAgIH0KICAgICBpZiAoUmVu
ZGVyUGFydCogZnJhbWVSZW5kZXJlciA9IG1fZnJhbWUtPm93bmVyUmVuZGVyZXIoKSkgewogICAg
ICAgICBpZiAoZnJhbWVSZW5kZXJlci0+Y29udGFpbmVyRm9yUmVwYWludCgpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuaAppbmRleCBhMzJmODEwNGUzODc0NGUwNWNlYmUwYjYwYzUxNjQ0MWU4NWMy
YzkxLi4xN2RjNzlmOWRiMWFkNGI2MWIyZDQyZDVjNDI2ZTAxYjJmMzFiYjgyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmgKQEAgLTMwMiw5ICszMDIsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IGJvb2wgaXNGcmFtZVZpZXcoKSBjb25zdDsKIAogICAgIGZyaWVuZCBjbGFzcyBSZW5kZXJXaWRn
ZXQ7Ci0gICAgYm9vbCB1c2VTbG93UmVwYWludHMoKSBjb25zdDsKKyAgICBib29sIHVzZVNsb3dS
ZXBhaW50cyhib29sIGNvbnNpZGVyT3ZlcmxhcCA9IHRydWUpIGNvbnN0OwogICAgIGJvb2wgdXNl
U2xvd1JlcGFpbnRzSWZOb3RPdmVybGFwcGVkKCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVDYW5C
bGl0T25TY3JvbGxSZWN1cnNpdmVseSgpOworICAgIGJvb2wgY29udGVudHNJbkNvbXBvc2l0ZWRM
YXllcigpIGNvbnN0OwogCiAgICAgYm9vbCBoYXNGaXhlZE9iamVjdHMoKSBjb25zdCB7IHJldHVy
biBtX2ZpeGVkT2JqZWN0Q291bnQgPiAwOyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102591</attachid>
            <date>2011-08-01 16:55:47 -0700</date>
            <delta_ts>2011-08-02 09:52:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65056-20110801165546.patch</filename>
            <type>text/plain</type>
            <size>18254</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIxNDUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZmY0Y2NkZWE5NWM2ZTcxOGM5NmJh
MzVmNzdiYjY4M2QzYTVkMTE5Li5kOWMzNWJmOWM5Yzc1NDY4NDIwMWQzMDJlYjE1OTIzYTkyM2I4
NDk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDgtMDEgIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBFbmFibGUgZmFzdCBwYXRoIHNjcm9sbGluZyBm
b3IgY29tcG9zaXRlZCBpZnJhbWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NTA1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIHRlc3Qgb2YgaWZyYW1lIG92ZXJsYXBwaW5nIGFub3RoZXIgaWZy
YW1lLiAgTWFjIGdldHMgaXRzIG93bgorICAgICAgICBpbmNvcnJlY3QgZXhwZWN0YXRpb25zIGR1
ZSB0byBidWcgNjMyODIuCisKKyAgICAgICAgKiBjb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBw
ZWQtaWZyYW1lLWlmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0
aW5nL2lmcmFtZXMvb3ZlcmxhcHBlZC1pZnJhbWUtaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtLWdwdS9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBwZWQt
aWZyYW1lLWlmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBwZWQtaWZyYW1lLWlmcmFtZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorCiAyMDExLTA4LTAxICBDaHJpcyBSb2dlcnMgIDxjcm9nZXJzQGdvb2dsZS5j
b20+CiAKICAgICAgICAgQWRkIGF1ZGlvbm9kZS5odG1sIGFuZCBnYWluLmh0bWwgd2ViIGF1ZGlv
IGxheW91dCB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1l
cy9vdmVybGFwcGVkLWlmcmFtZS1pZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLWlmcmFtZS1pZnJhbWUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJlZmY4NGE2ZTJkOTYzM2YzMjhmYmE5OTk4M2ZkM2M0YzAwYmZhZjMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBwZWQt
aWZyYW1lLWlmcmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1MiBAQAorKEdyYXBoaWNzTGF5
ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY2hpbGRyZW4gMgor
ICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMgMzA0LjAwIDMwNC4wMCkK
KyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAg
ICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAyLjAwIDIuMDAp
CisgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5
ZXIKKyAgICAgICAgICAgICAgICAgIChib3VuZHMgMzAwLjAwIDMwMC4wMCkKKyAgICAgICAgICAg
ICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisg
ICAgICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgICAg
IChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMzAwLjAw
IDMwMC4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKGJvdW5kcyAzMDAuMDAgMzAwLjAwKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNo
aWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMTguMDAgMTAuMDAp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAyMTAuMDAgMjEwLjAw
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAg
ICAgICkKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgKQorICAgICAg
ICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorICAgICAgICAgICkK
KyAgICAgICAgKQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAy
NTAuMDAgMC4wMCkKKyAgICAgICAgICAoYm91bmRzIDMwNC4wMCAzMDQuMDApCisgICAgICAgICAg
KGRyYXdzQ29udGVudCAxKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvb3ZlcmxhcHBlZC1pZnJh
bWUtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBw
ZWQtaWZyYW1lLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllNTEzMTk0ZTg2NWU3ODhhNTc1NWNl
ZDBmZWY2MDI2NGExNmQ5ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9pZnJhbWVzL292ZXJsYXBwZWQtaWZyYW1lLWlmcmFtZS5odG1sCkBAIC0wLDAgKzEsNDkg
QEAKKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVl
biI+CisgICAgYm9keSB7CisgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgfQorCisgICAg
aWZyYW1lIHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICB0b3A6IDBweDsK
KyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBoZWlnaHQ6IDMwMHB4OworICAgICAgICB3aWR0
aDogMzAwcHg7CisgICAgfQorCisgICAgI292ZXJsYXAgeworICAgICAgICBsZWZ0OiAyNTBweDsK
KyAgICB9CisKKyAgICBwcmUgeworICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAg
IGJvdHRvbTogMjAwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgfQorICA8L3N0eWxlPgor
ICA8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKworICAgIGZ1bmN0
aW9uIGRvVGVzdCgpCisgICAgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5u
ZXJIVE1MID0gbGF5b3V0VGVzdENvbnRyb2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvVGVzdCwg
ZmFsc2UpOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCisgICAgPGlmcmFtZSBzcmM9
InJlc291cmNlcy9jb21wb3NpdGVkLXN1YmZyYW1lLmh0bWwiPjwvaWZyYW1lPgorICAgIDwhLS0g
dGhpcyBpZnJhbWUgc2hvdWxkIGJlY29tZSBjb21wb3NpdGVkIGJlY2F1c2UgaXQgb3ZlcmxhcHMg
dGhlIG90aGVyIGlmcmFtZSAtLT4KKyAgICA8aWZyYW1lIGlkPSJvdmVybGFwIiBzcmM9InJlc291
cmNlcy9zdWJmcmFtZS5odG1sIj48L2lmcmFtZT4KKworICAgIDxwcmUgaWQ9ImxheWVycyI+TGF5
ZXIgdHJlZSBhcHBlYXJzIGhlcmUgaW4gRFJULjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tZ3B1L2NvbXBvc2l0aW5nL2lm
cmFtZXMvb3ZlcmxhcHBlZC1pZnJhbWUtaWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLWdwdS9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBwZWQtaWZy
YW1lLWlmcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmVmZjg0YTZlMmQ5NjMzZjMyOGZi
YTk5OTgzZmQzYzRjMDBiZmFmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtLWdwdS9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBwZWQtaWZyYW1lLWlm
cmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1MiBAQAorKEdyYXBoaWNzTGF5ZXIKKyAgKGJv
dW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisg
ICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY2hpbGRyZW4gMgorICAgICAgICAo
R3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMgMzA0LjAwIDMwNC4wMCkKKyAgICAgICAg
ICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgIChH
cmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAyLjAwIDIuMDApCisgICAgICAg
ICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAgICAgICAgIChib3VuZHMgMzAwLjAwIDMwMC4wMCkKKyAgICAgICAgICAgICAgICAgIChj
aGlsZHJlbiAxCisgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAg
ICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMzAwLjAwIDMwMC4wMCkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KGJvdW5kcyAzMDAuMDAgMzAwLjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRy
YXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMTguMDAgMTAuMDApCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAyMTAuMDAgMjEwLjAwKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICkKKyAg
ICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAg
ICkKKyAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorICAgICAgICAgICkKKyAgICAgICAg
KQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAyNTAuMDAgMC4w
MCkKKyAgICAgICAgICAoYm91bmRzIDMwNC4wMCAzMDQuMDApCisgICAgICAgICAgKGRyYXdzQ29u
dGVudCAxKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBwZWQt
aWZyYW1lLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29t
cG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLWlmcmFtZS1pZnJhbWUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvaWZyYW1l
cy9vdmVybGFwcGVkLWlmcmFtZS1pZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDM4YWJjNGNkN2YzOTc1OGJmZDU3YzUyN2U0MmEyZjg1M2QwMTJlZWYuLjQw
YWI2OTE5NmJkZjgxMjA4Nzc0NGViOGVlNGU5YjM4YzQ3NDBhZTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxMS0wOC0wMSAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29t
PgorCisgICAgICAgIEVuYWJsZSBmYXN0IHBhdGggc2Nyb2xsaW5nIGZvciBjb21wb3NpdGVkIGlm
cmFtZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1
MDU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaWZy
YW1lcyB3aXRoIGNvbXBvc2l0ZWQgbGF5ZXJzIGZvciBjb250ZW50IHNob3VsZCBiZSBhYmxlIHRv
IGRvIGZhc3QKKyAgICAgICAgcGF0aCBzY3JvbGxpbmcgYmVjYXVzZSB0aGV5IGRyYXcgaW50byB0
aGVpciBvd24gYmFja2luZy4gVG8gZW5hYmxlCisgICAgICAgIHRoaXMsIHVzZVNsb3dSZXBhaW50
cyBpcyBtb2RpZmllZCB0byByZXR1cm4gdHJ1ZSBvbmx5IGZvciB0aGUgY2FzZXMKKyAgICAgICAg
dGhhdCBhcHBseSB0byBjb21wb3NpdGVkIGxheWVycy4gVGhlIGZhc3QgcGF0aCBzY3JvbGxpbmcg
ZnVuY3Rpb24gaXMKKyAgICAgICAgbW9kaWZpZWQgdG8gc2VuZCB0aGUgaW52YWxpZGF0aW9uIHRv
IHRoZSBiYWNraW5nIGl0c2VsZiByYXRoZXIgdGhhbiB0bworICAgICAgICB0aGUgd2luZG93Lgor
CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVW
aWV3OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnVzZVNsb3dSZXBhaW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnVzZVNsb3dSZXBhaW50c0lmTm90T3Zl
cmxhcHBlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmNvbnRlbnRzSW5Db21wb3Np
dGVkTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRDYW5ub3RCbGl0VG9X
aW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxDb250ZW50c0Zhc3RQ
YXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsQ29udGVudHNTbG93UGF0
aCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbm5vdEJsaXRU
b1dpbmRvdyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6
cGFpbnRCb3hEZWNvcmF0aW9ucyk6CisKIDIwMTEtMDgtMDEgIFNjb3R0IEdyYWhhbSAgPHNjb3R0
bWdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIzOTcyNT8pOiBSZXNvdXJj
ZXMgcmVtb3ZlZCBmcm9tIGRvY3VtZW50IGNhbiBub3QgYmUgZnJlZWQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcAppbmRleCAxM2NjZDU0ZDc4MzY4MDk3ZWZmYTVjZDdjYjQwYTU3ODFiZjRmZjlj
Li43YmFlNmFlZDkyYzRiM2FhOTRjODg0YjE4M2U2ZDQ2NzVmNmIxMTgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCkBAIC0xOTgsNyArMTk4LDcgQEAgRnJhbWVWaWV3Ojp+RnJhbWVWaWV3
KCkKIAogdm9pZCBGcmFtZVZpZXc6OnJlc2V0KCkKIHsKLSAgICBtX3VzZVNsb3dSZXBhaW50cyA9
IGZhbHNlOworICAgIG1fY2Fubm90QmxpdFRvV2luZG93ID0gZmFsc2U7CiAgICAgbV9pc092ZXJs
YXBwZWQgPSBmYWxzZTsKICAgICBtX2NvbnRlbnRJc09wYXF1ZSA9IGZhbHNlOwogICAgIG1fYm9y
ZGVyWCA9IDMwOwpAQCAtMTE0MiwxMCArMTE0MiwxMiBAQCB2b2lkIEZyYW1lVmlldzo6YWRqdXN0
TWVkaWFUeXBlRm9yUHJpbnRpbmcoYm9vbCBwcmludGluZykKICAgICB9CiB9CiAKLWJvb2wgRnJh
bWVWaWV3Ojp1c2VTbG93UmVwYWludHMoKSBjb25zdAorYm9vbCBGcmFtZVZpZXc6OnVzZVNsb3dS
ZXBhaW50cyhib29sIGNvbnNpZGVyT3ZlcmxhcCkgY29uc3QKIHsKLSAgICBpZiAobV91c2VTbG93
UmVwYWludHMgfHwgbV9zbG93UmVwYWludE9iamVjdENvdW50ID4gMCB8fCAocGxhdGZvcm1XaWRn
ZXQoKSAmJiBtX2ZpeGVkT2JqZWN0Q291bnQgPiAwKSB8fCBtX2lzT3ZlcmxhcHBlZCB8fCAhbV9j
b250ZW50SXNPcGFxdWUpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgIGJvb2wgbXVzdEJlU2xv
dyA9IG1fc2xvd1JlcGFpbnRPYmplY3RDb3VudCA+IDAgfHwgKHBsYXRmb3JtV2lkZ2V0KCkgJiYg
bV9maXhlZE9iamVjdENvdW50ID4gMCk7CisKKyAgICBpZiAoY29udGVudHNJbkNvbXBvc2l0ZWRM
YXllcigpKQorICAgICAgICByZXR1cm4gbXVzdEJlU2xvdzsKIAogI2lmIFBMQVRGT1JNKENIUk9N
SVVNKQogICAgIC8vIFRoZSBjaHJvbWl1bSBjb21wb3NpdG9yIGRvZXMgbm90IHN1cHBvcnQgc2Ny
b2xsaW5nIGEgbm9uLWNvbXBvc2l0ZWQgZnJhbWUgd2l0aGluIGEgY29tcG9zaXRlZCBwYWdlIHRo
cm91Z2gKQEAgLTExNTQsMjEgKzExNTYsMjAgQEAgYm9vbCBGcmFtZVZpZXc6OnVzZVNsb3dSZXBh
aW50cygpIGNvbnN0CiAgICAgICAgIHJldHVybiB0cnVlOwogI2VuZGlmCiAKKyAgICBib29sIGlz
T3ZlcmxhcHBlZCA9IG1faXNPdmVybGFwcGVkICYmIGNvbnNpZGVyT3ZlcmxhcDsKKworICAgIGlm
IChtdXN0QmVTbG93IHx8IG1fY2Fubm90QmxpdFRvV2luZG93IHx8IGlzT3ZlcmxhcHBlZCB8fCAh
bV9jb250ZW50SXNPcGFxdWUpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgaWYgKEZyYW1l
VmlldyogcGFyZW50VmlldyA9IHBhcmVudEZyYW1lVmlldygpKQotICAgICAgICByZXR1cm4gcGFy
ZW50Vmlldy0+dXNlU2xvd1JlcGFpbnRzKCk7CisgICAgICAgIHJldHVybiBwYXJlbnRWaWV3LT51
c2VTbG93UmVwYWludHMoY29uc2lkZXJPdmVybGFwKTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0K
IAogYm9vbCBGcmFtZVZpZXc6OnVzZVNsb3dSZXBhaW50c0lmTm90T3ZlcmxhcHBlZCgpIGNvbnN0
CiB7Ci0gICAgaWYgKG1fdXNlU2xvd1JlcGFpbnRzIHx8IG1fc2xvd1JlcGFpbnRPYmplY3RDb3Vu
dCA+IDAgfHwgKHBsYXRmb3JtV2lkZ2V0KCkgJiYgbV9maXhlZE9iamVjdENvdW50ID4gMCkgfHwg
IW1fY29udGVudElzT3BhcXVlKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChGcmFt
ZVZpZXcqIHBhcmVudFZpZXcgPSBwYXJlbnRGcmFtZVZpZXcoKSkKLSAgICAgICAgcmV0dXJuIHBh
cmVudFZpZXctPnVzZVNsb3dSZXBhaW50c0lmTm90T3ZlcmxhcHBlZCgpOwotCi0gICAgcmV0dXJu
IGZhbHNlOworICAgIHJldHVybiB1c2VTbG93UmVwYWludHMoZmFsc2UpOwogfQogCiB2b2lkIEZy
YW1lVmlldzo6dXBkYXRlQ2FuQmxpdE9uU2Nyb2xsUmVjdXJzaXZlbHkoKQpAQCAtMTE3OSw5ICsx
MTgwLDIyIEBAIHZvaWQgRnJhbWVWaWV3Ojp1cGRhdGVDYW5CbGl0T25TY3JvbGxSZWN1cnNpdmVs
eSgpCiAgICAgfQogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0VXNlU2xvd1JlcGFpbnRzKCkKK2Jv
b2wgRnJhbWVWaWV3Ojpjb250ZW50c0luQ29tcG9zaXRlZExheWVyKCkgY29uc3QKIHsKLSAgICBt
X3VzZVNsb3dSZXBhaW50cyA9IHRydWU7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
KQorICAgIFJlbmRlclZpZXcqIHJvb3QgPSBtX2ZyYW1lLT5jb250ZW50UmVuZGVyZXIoKTsKKyAg
ICBpZiAocm9vdCAmJiByb290LT5sYXllcigpLT5pc0NvbXBvc2l0ZWQoKSkgeworICAgICAgICBH
cmFwaGljc0xheWVyKiBsYXllciA9IHJvb3QtPmxheWVyKCktPmJhY2tpbmcoKS0+Z3JhcGhpY3NM
YXllcigpOworICAgICAgICBpZiAobGF5ZXIgJiYgbGF5ZXItPmRyYXdzQ29udGVudCgpKQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit2b2lkIEZyYW1lVmlldzo6c2V0Q2Fubm90QmxpdFRvV2luZG93KCkKK3sKKyAgICBtX2Nh
bm5vdEJsaXRUb1dpbmRvdyA9IHRydWU7CiAgICAgdXBkYXRlQ2FuQmxpdE9uU2Nyb2xsUmVjdXJz
aXZlbHkoKTsKIH0KIApAQCAtMTMwNCw2ICsxMzE4LDggQEAgYm9vbCBGcmFtZVZpZXc6OnNjcm9s
bENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJl
Y3QKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisgICAgY29uc3QgYm9vbCBpc0NvbXBv
c2l0ZWRDb250ZW50TGF5ZXIgPSBjb250ZW50c0luQ29tcG9zaXRlZExheWVyKCk7CisKICAgICAv
LyBHZXQgdGhlIHJlY3RzIG9mIHRoZSBmaXhlZCBvYmplY3RzIHZpc2libGUgaW4gdGhlIHJlY3RU
b1Njcm9sbAogICAgIFZlY3RvcjxJbnRSZWN0LCBmaXhlZE9iamVjdFRocmVzaG9sZD4gc3ViUmVj
dFRvVXBkYXRlOwogICAgIGJvb2wgdXBkYXRlSW52YWxpZGF0ZWRTdWJSZWN0ID0gdHJ1ZTsKQEAg
LTEzMTQsNyArMTMzMCw3IEBAIGJvb2wgRnJhbWVWaWV3OjpzY3JvbGxDb250ZW50c0Zhc3RQYXRo
KGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0CiAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgSW50UmVjdCB1cGRhdGVSZWN0ID0gcmVuZGVyQm94LT5sYXllcigp
LT5yZXBhaW50UmVjdEluY2x1ZGluZ0Rlc2NlbmRhbnRzKCk7CiAgICAgICAgIHVwZGF0ZVJlY3Qg
PSBjb250ZW50c1RvV2luZG93KHVwZGF0ZVJlY3QpOwotICAgICAgICBpZiAoY2xpcHNSZXBhaW50
cygpKQorICAgICAgICBpZiAoIWlzQ29tcG9zaXRlZENvbnRlbnRMYXllciAmJiBjbGlwc1JlcGFp
bnRzKCkpCiAgICAgICAgICAgICB1cGRhdGVSZWN0LmludGVyc2VjdChyZWN0VG9TY3JvbGwpOwog
ICAgICAgICBpZiAoIXVwZGF0ZVJlY3QuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBpZiAoc3Vi
UmVjdFRvVXBkYXRlLnNpemUoKSA+PSBmaXhlZE9iamVjdFRocmVzaG9sZCkgewpAQCAtMTMzNyw5
ICsxMzUzLDE2IEBAIGJvb2wgRnJhbWVWaWV3OjpzY3JvbGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0
IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0CiAgICAgICAgICAgICBJbnRSZWN0
IHNjcm9sbGVkUmVjdCA9IHVwZGF0ZVJlY3Q7CiAgICAgICAgICAgICBzY3JvbGxlZFJlY3QubW92
ZShzY3JvbGxEZWx0YSk7CiAgICAgICAgICAgICB1cGRhdGVSZWN0LnVuaXRlKHNjcm9sbGVkUmVj
dCk7Ci0gICAgICAgICAgICBpZiAoY2xpcHNSZXBhaW50cygpKQotICAgICAgICAgICAgICAgIHVw
ZGF0ZVJlY3QuaW50ZXJzZWN0KHJlY3RUb1Njcm9sbCk7Ci0gICAgICAgICAgICBob3N0V2luZG93
KCktPmludmFsaWRhdGVDb250ZW50c0FuZFdpbmRvdyh1cGRhdGVSZWN0LCBmYWxzZSk7CisgICAg
ICAgICAgICBpZiAoaXNDb21wb3NpdGVkQ29udGVudExheWVyKSB7CisgICAgICAgICAgICAgICAg
dXBkYXRlUmVjdCA9IHdpbmRvd1RvQ29udGVudHModXBkYXRlUmVjdCk7CisgICAgICAgICAgICAg
ICAgUmVuZGVyVmlldyogcm9vdCA9IG1fZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpOworICAgICAg
ICAgICAgICAgIEFTU0VSVChyb290KTsKKyAgICAgICAgICAgICAgICByb290LT5sYXllcigpLT5z
ZXRCYWNraW5nTmVlZHNSZXBhaW50SW5SZWN0KHVwZGF0ZVJlY3QpOworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoY2xpcHNSZXBhaW50cygpKQorICAgICAgICAgICAg
ICAgICAgICB1cGRhdGVSZWN0LmludGVyc2VjdChyZWN0VG9TY3JvbGwpOworICAgICAgICAgICAg
ICAgIGhvc3RXaW5kb3coKS0+aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KHVwZGF0ZVJlY3Qs
IGZhbHNlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9CkBAIC0xMzUxLDEzICsxMzc0LDEwIEBAIGJvb2wgRnJhbWVWaWV3OjpzY3JvbGxDb250
ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0CiB2
b2lkIEZyYW1lVmlldzo6c2Nyb2xsQ29udGVudHNTbG93UGF0aChjb25zdCBJbnRSZWN0JiB1cGRh
dGVSZWN0KQogewogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLSAgICBSZW5kZXJW
aWV3KiByb290ID0gbV9mcmFtZS0+Y29udGVudFJlbmRlcmVyKCk7Ci0gICAgaWYgKHJvb3QgJiYg
cm9vdC0+bGF5ZXIoKS0+aXNDb21wb3NpdGVkKCkpIHsKLSAgICAgICAgR3JhcGhpY3NMYXllciog
bGF5ZXIgPSByb290LT5sYXllcigpLT5iYWNraW5nKCktPmdyYXBoaWNzTGF5ZXIoKTsKLSAgICAg
ICAgaWYgKGxheWVyICYmIGxheWVyLT5kcmF3c0NvbnRlbnQoKSkgewotICAgICAgICAgICAgcm9v
dC0+bGF5ZXIoKS0+c2V0QmFja2luZ05lZWRzUmVwYWludEluUmVjdCh2aXNpYmxlQ29udGVudFJl
Y3QoKSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KKyAgICBpZiAoY29udGVudHNJ
bkNvbXBvc2l0ZWRMYXllcigpKSB7CisgICAgICAgIFJlbmRlclZpZXcqIHJvb3QgPSBtX2ZyYW1l
LT5jb250ZW50UmVuZGVyZXIoKTsKKyAgICAgICAgQVNTRVJUKHJvb3QpOworICAgICAgICByb290
LT5sYXllcigpLT5zZXRCYWNraW5nTmVlZHNSZXBhaW50SW5SZWN0KHZpc2libGVDb250ZW50UmVj
dCgpKTsKICAgICB9CiAgICAgaWYgKFJlbmRlclBhcnQqIGZyYW1lUmVuZGVyZXIgPSBtX2ZyYW1l
LT5vd25lclJlbmRlcmVyKCkpIHsKICAgICAgICAgaWYgKGZyYW1lUmVuZGVyZXItPmNvbnRhaW5l
ckZvclJlcGFpbnQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggYTE2YzUyNTFkZGNi
MzE3ZTAxNGVjZTdkYzNiYjQwMjRjNjA3OWY5OC4uODRhNTBmN2E4ZGY3YmUxMTJiYzRhYWE2YzIx
MDgxNjU2NjUzNDA3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0xNzEsNyArMTcxLDcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0TWVkaWFUeXBlKGNvbnN0IFN0cmluZyYpOwogICAgIHZv
aWQgYWRqdXN0TWVkaWFUeXBlRm9yUHJpbnRpbmcoYm9vbCBwcmludGluZyk7CiAKLSAgICB2b2lk
IHNldFVzZVNsb3dSZXBhaW50cygpOworICAgIHZvaWQgc2V0Q2Fubm90QmxpdFRvV2luZG93KCk7
CiAgICAgdm9pZCBzZXRJc092ZXJsYXBwZWQoYm9vbCk7CiAgICAgYm9vbCBpc092ZXJsYXBwZWQo
KSBjb25zdCB7IHJldHVybiBtX2lzT3ZlcmxhcHBlZDsgfQogICAgIGJvb2wgaXNPdmVybGFwcGVk
SW5jbHVkaW5nQW5jZXN0b3JzKCkgY29uc3Q7CkBAIC0zMDMsOSArMzAzLDEwIEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBib29sIGlzRnJhbWVWaWV3KCkgY29uc3Q7CiAKICAgICBmcmllbmQgY2xh
c3MgUmVuZGVyV2lkZ2V0OwotICAgIGJvb2wgdXNlU2xvd1JlcGFpbnRzKCkgY29uc3Q7CisgICAg
Ym9vbCB1c2VTbG93UmVwYWludHMoYm9vbCBjb25zaWRlck92ZXJsYXAgPSB0cnVlKSBjb25zdDsK
ICAgICBib29sIHVzZVNsb3dSZXBhaW50c0lmTm90T3ZlcmxhcHBlZCgpIGNvbnN0OwogICAgIHZv
aWQgdXBkYXRlQ2FuQmxpdE9uU2Nyb2xsUmVjdXJzaXZlbHkoKTsKKyAgICBib29sIGNvbnRlbnRz
SW5Db21wb3NpdGVkTGF5ZXIoKSBjb25zdDsKIAogICAgIGJvb2wgaGFzRml4ZWRPYmplY3RzKCkg
Y29uc3QgeyByZXR1cm4gbV9maXhlZE9iamVjdENvdW50ID4gMDsgfQogCkBAIC0zODEsNyArMzgy
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fZG9GdWxsUmVwYWludDsKICAgICAKICAgICBib29s
IG1fY2FuSGF2ZVNjcm9sbGJhcnM7Ci0gICAgYm9vbCBtX3VzZVNsb3dSZXBhaW50czsKKyAgICBi
b29sIG1fY2Fubm90QmxpdFRvV2luZG93OwogICAgIGJvb2wgbV9pc092ZXJsYXBwZWQ7CiAgICAg
Ym9vbCBtX2NvbnRlbnRJc09wYXF1ZTsKICAgICB1bnNpZ25lZCBtX3Nsb3dSZXBhaW50T2JqZWN0
Q291bnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA0NDg1
YTlkMjQxZWZiZDgyZjZkOWU0ZWEzOTQxOWIzZjExYmM3MjdkLi5hOTgwNjAyNmEyZTViYmRhOTQz
ZmFmOWUxMWI4YjQ0ZDNiNDViMGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKQEAgLTg1NCwxMyArODU0LDEzIEBAIEludFBvaW50IFJlbmRlckxheWVyOjphYnNv
bHV0ZVRvQ29udGVudHMoY29uc3QgSW50UG9pbnQmIGFic29sdXRlUG9pbnQpIGNvbnN0CiAgICAg
cmV0dXJuIHJvdW5kZWRJbnRQb2ludChyZW5kZXJlcigpLT5hYnNvbHV0ZVRvTG9jYWwoYWJzb2x1
dGVQb2ludCwgZmFsc2UsIHRydWUpKTsKIH0KIAotYm9vbCBSZW5kZXJMYXllcjo6cmVxdWlyZXNT
bG93UmVwYWludHMoKSBjb25zdAorYm9vbCBSZW5kZXJMYXllcjo6Y2Fubm90QmxpdFRvV2luZG93
KCkgY29uc3QKIHsKICAgICBpZiAoaXNUcmFuc3BhcmVudCgpIHx8IGhhc1JlZmxlY3Rpb24oKSB8
fCBoYXNUcmFuc2Zvcm0oKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgaWYgKCFwYXJlbnQo
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBwYXJlbnQoKS0+cmVxdWlyZXNT
bG93UmVwYWludHMoKTsKKyAgICByZXR1cm4gcGFyZW50KCktPmNhbm5vdEJsaXRUb1dpbmRvdygp
OwogfQogCiBib29sIFJlbmRlckxheWVyOjppc1RyYW5zcGFyZW50KCkgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggN2M4M2MwMWVkMTdkYjhlOWE3OGJkOGM1
Y2RmZDAxZGNlYzI5MDA0OS4uNjNjYzcyYTY2NTA0NGVkM2JlYmY5OGIzY2UxZmExN2M5ZDkzOGIz
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTE5Miw3ICsxOTIs
NyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc05vcm1hbEZsb3dPbmx5KCkgY29uc3QgeyByZXR1cm4g
bV9pc05vcm1hbEZsb3dPbmx5OyB9CiAgICAgYm9vbCBpc1NlbGZQYWludGluZ0xheWVyKCkgY29u
c3Q7CiAKLSAgICBib29sIHJlcXVpcmVzU2xvd1JlcGFpbnRzKCkgY29uc3Q7CisgICAgYm9vbCBj
YW5ub3RCbGl0VG9XaW5kb3coKSBjb25zdDsKIAogICAgIGJvb2wgaXNUcmFuc3BhcmVudCgpIGNv
bnN0OwogICAgIFJlbmRlckxheWVyKiB0cmFuc3BhcmVudFBhaW50aW5nQW5jZXN0b3IoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAppbmRleCBhOWI5ZmY1ZWJlZWMxNGFi
YzVkMTc4MjU4ZTQzNWE2ZjczMjEyMjlmLi4zZDY0YzVhOWZlMDc4YTYyZjJmMWJkODQ0ZDdhMjI4
ZTY2ZWRiYWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCkBAIC0x
OTUsMTUgKzE5NSwxNSBAQCB2b2lkIFJlbmRlclZpZXc6OnBhaW50Qm94RGVjb3JhdGlvbnMoUGFp
bnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JikKICAgICBFbGVtZW50KiBlbHQ7
CiAgICAgZm9yIChlbHQgPSBkb2N1bWVudCgpLT5vd25lckVsZW1lbnQoKTsgdmlldygpICYmIGVs
dCAmJiBlbHQtPnJlbmRlcmVyKCk7IGVsdCA9IGVsdC0+ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50
KCkpIHsKICAgICAgICAgUmVuZGVyTGF5ZXIqIGxheWVyID0gZWx0LT5yZW5kZXJlcigpLT5lbmNs
b3NpbmdMYXllcigpOwotICAgICAgICBpZiAobGF5ZXItPnJlcXVpcmVzU2xvd1JlcGFpbnRzKCkp
IHsKLSAgICAgICAgICAgIGZyYW1lVmlldygpLT5zZXRVc2VTbG93UmVwYWludHMoKTsKKyAgICAg
ICAgaWYgKGxheWVyLT5jYW5ub3RCbGl0VG9XaW5kb3coKSkgeworICAgICAgICAgICAgZnJhbWVW
aWV3KCktPnNldENhbm5vdEJsaXRUb1dpbmRvdygpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICAgICAgaWYgKFJl
bmRlckxheWVyKiBjb21wb3NpdGluZ0xheWVyID0gbGF5ZXItPmVuY2xvc2luZ0NvbXBvc2l0aW5n
TGF5ZXIoKSkgewogICAgICAgICAgICAgaWYgKCFjb21wb3NpdGluZ0xheWVyLT5iYWNraW5nKCkt
PnBhaW50aW5nR29lc1RvV2luZG93KCkpIHsKLSAgICAgICAgICAgICAgICBmcmFtZVZpZXcoKS0+
c2V0VXNlU2xvd1JlcGFpbnRzKCk7CisgICAgICAgICAgICAgICAgZnJhbWVWaWV3KCktPnNldENh
bm5vdEJsaXRUb1dpbmRvdygpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
fQogICAgICAgICB9CkBAIC0yMzQsNyArMjM0LDcgQEAgdm9pZCBSZW5kZXJWaWV3OjpwYWludEJv
eERlY29yYXRpb25zKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYpCiAg
ICAgLy8gT25seSBmaWxsIHdpdGggdGhlIGJhc2UgYmFja2dyb3VuZCBjb2xvciAodHlwaWNhbGx5
IHdoaXRlKSBpZiB3ZSdyZSB0aGUgcm9vdCBkb2N1bWVudCwgCiAgICAgLy8gc2luY2UgaWZyYW1l
cy9mcmFtZXMgd2l0aCBubyBiYWNrZ3JvdW5kIGluIHRoZSBjaGlsZCBkb2N1bWVudCBzaG91bGQg
c2hvdyB0aGUgcGFyZW50J3MgYmFja2dyb3VuZC4KICAgICBpZiAoZnJhbWVWaWV3KCktPmlzVHJh
bnNwYXJlbnQoKSkgLy8gRklYTUU6IFRoaXMgbmVlZHMgdG8gYmUgZHluYW1pYy4gIFdlIHNob3Vs
ZCBiZSBhYmxlIHRvIGdvIGJhY2sgdG8gYmxpdHRpbmcgaWYgd2UgZXZlciBzdG9wIGJlaW5nIHRy
YW5zcGFyZW50LgotICAgICAgICBmcmFtZVZpZXcoKS0+c2V0VXNlU2xvd1JlcGFpbnRzKCk7IC8v
IFRoZSBwYXJlbnQgbXVzdCBzaG93IGJlaGluZCB0aGUgY2hpbGQuCisgICAgICAgIGZyYW1lVmll
dygpLT5zZXRDYW5ub3RCbGl0VG9XaW5kb3coKTsgLy8gVGhlIHBhcmVudCBtdXN0IHNob3cgYmVo
aW5kIHRoZSBjaGlsZC4KICAgICBlbHNlIHsKICAgICAgICAgQ29sb3IgYmFzZUNvbG9yID0gZnJh
bWVWaWV3KCktPmJhc2VCYWNrZ3JvdW5kQ29sb3IoKTsKICAgICAgICAgaWYgKGJhc2VDb2xvci5h
bHBoYSgpID4gMCkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102661</attachid>
            <date>2011-08-02 09:52:14 -0700</date>
            <delta_ts>2011-08-10 12:29:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65056-20110802095213.patch</filename>
            <type>text/plain</type>
            <size>18070</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIxOTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4M2E4NWUwOGY5OGMzZjljZjZmMTkz
NTMyMmRjYTc1YjI3N2JjZDgxLi5jMjM4YWZhZjY4ZmEwMzIxNDA3OWQ1Njc4MmMwMzBkMWUzNzU0
NDc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDgtMDEgIEFkcmllbm5lIFdhbGtlciAg
PGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBFbmFibGUgZmFzdCBwYXRoIHNjcm9sbGluZyBm
b3IgY29tcG9zaXRlZCBpZnJhbWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NTA1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIHRlc3Qgb2YgaWZyYW1lIG92ZXJsYXBwaW5nIGFub3RoZXIgaWZy
YW1lLiAgTWFjIGdldHMgaXRzIG93bgorICAgICAgICBpbmNvcnJlY3QgZXhwZWN0YXRpb25zIGR1
ZSB0byBidWcgNjMyODIuCisKKyAgICAgICAgKiBjb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBw
ZWQtaWZyYW1lLWlmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0
aW5nL2lmcmFtZXMvb3ZlcmxhcHBlZC1pZnJhbWUtaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtLWdwdS9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBwZWQt
aWZyYW1lLWlmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBwZWQtaWZyYW1lLWlmcmFtZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorCiAyMDExLTA3LTMwICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IG1lcmdlIEZvcm1hdHRlZFNvdXJj
ZUZpbGUgaW50byBTb3VyY2VGaWxlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvaWZyYW1lcy9vdmVybGFwcGVkLWlmcmFtZS1pZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLWlmcmFtZS1pZnJhbWUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjJlZmY4NGE2ZTJkOTYzM2YzMjhmYmE5OTk4M2ZkM2M0YzAwYmZh
ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL292
ZXJsYXBwZWQtaWZyYW1lLWlmcmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1MiBAQAorKEdy
YXBoaWNzTGF5ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAg
IChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY2hp
bGRyZW4gMgorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMgMzA0LjAw
IDMwNC4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKGNoaWxkcmVu
IDEKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAy
LjAwIDIuMDApCisgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgKEdy
YXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgIChib3VuZHMgMzAwLjAwIDMwMC4wMCkKKyAg
ICAgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAg
ICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgICAgIChib3Vu
ZHMgMzAwLjAwIDMwMC4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKGJvdW5kcyAzMDAuMDAgMzAwLjAwKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMTgu
MDAgMTAuMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAyMTAu
MDAgMjEwLjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRl
bnQgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAg
ICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorICAg
ICAgICAgICkKKyAgICAgICAgKQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChw
b3NpdGlvbiAyNTAuMDAgMC4wMCkKKyAgICAgICAgICAoYm91bmRzIDMwNC4wMCAzMDQuMDApCisg
ICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICApCisgICAgICApCisgICAgKQorICAp
CispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvb3Zlcmxh
cHBlZC1pZnJhbWUtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVz
L292ZXJsYXBwZWQtaWZyYW1lLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllNTEzMTk0ZTg2NWU3
ODhhNTc1NWNlZDBmZWY2MDI2NGExNmQ5ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBwZWQtaWZyYW1lLWlmcmFtZS5odG1sCkBAIC0w
LDAgKzEsNDkgQEAKKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVk
aWE9InNjcmVlbiI+CisgICAgYm9keSB7CisgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAg
fQorCisgICAgaWZyYW1lIHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICB0
b3A6IDBweDsKKyAgICAgICAgbGVmdDogMHB4OworICAgICAgICBoZWlnaHQ6IDMwMHB4OworICAg
ICAgICB3aWR0aDogMzAwcHg7CisgICAgfQorCisgICAgI292ZXJsYXAgeworICAgICAgICBsZWZ0
OiAyNTBweDsKKyAgICB9CisKKyAgICBwcmUgeworICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7
CisgICAgICAgIGJvdHRvbTogMjAwMHB4OworICAgICAgICBsZWZ0OiAwcHg7CisgICAgfQorICA8
L3N0eWxlPgorICA8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5
ZXJzJykuaW5uZXJIVE1MID0gbGF5b3V0VGVzdENvbnRyb2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcs
IGRvVGVzdCwgZmFsc2UpOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCisgICAgPGlm
cmFtZSBzcmM9InJlc291cmNlcy9jb21wb3NpdGVkLXN1YmZyYW1lLmh0bWwiPjwvaWZyYW1lPgor
ICAgIDwhLS0gdGhpcyBpZnJhbWUgc2hvdWxkIGJlY29tZSBjb21wb3NpdGVkIGJlY2F1c2UgaXQg
b3ZlcmxhcHMgdGhlIG90aGVyIGlmcmFtZSAtLT4KKyAgICA8aWZyYW1lIGlkPSJvdmVybGFwIiBz
cmM9InJlc291cmNlcy9zdWJmcmFtZS5odG1sIj48L2lmcmFtZT4KKworICAgIDxwcmUgaWQ9Imxh
eWVycyI+TGF5ZXIgdHJlZSBhcHBlYXJzIGhlcmUgaW4gRFJULjwvcHJlPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tZ3B1L2NvbXBv
c2l0aW5nL2lmcmFtZXMvb3ZlcmxhcHBlZC1pZnJhbWUtaWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWdwdS9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJs
YXBwZWQtaWZyYW1lLWlmcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmVmZjg0YTZlMmQ5
NjMzZjMyOGZiYTk5OTgzZmQzYzRjMDBiZmFmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtLWdwdS9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBwZWQt
aWZyYW1lLWlmcmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1MiBAQAorKEdyYXBoaWNzTGF5
ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY2hpbGRyZW4gMgor
ICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChib3VuZHMgMzA0LjAwIDMwNC4wMCkK
KyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAg
ICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAyLjAwIDIuMDAp
CisgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5
ZXIKKyAgICAgICAgICAgICAgICAgIChib3VuZHMgMzAwLjAwIDMwMC4wMCkKKyAgICAgICAgICAg
ICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisg
ICAgICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgICAg
IChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMzAwLjAw
IDMwMC4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKGJvdW5kcyAzMDAuMDAgMzAwLjAwKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNo
aWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMTguMDAgMTAuMDAp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAyMTAuMDAgMjEwLjAw
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAg
ICAgICkKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgKQorICAgICAg
ICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorICAgICAgICAgICkK
KyAgICAgICAgKQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAy
NTAuMDAgMC4wMCkKKyAgICAgICAgICAoYm91bmRzIDMwNC4wMCAzMDQuMDApCisgICAgICAgICAg
KGRyYXdzQ29udGVudCAxKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9jb21wb3NpdGluZy9pZnJhbWVzL292
ZXJsYXBwZWQtaWZyYW1lLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvY29tcG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLWlmcmFtZS1pZnJhbWUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhi
ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvY29tcG9zaXRp
bmcvaWZyYW1lcy9vdmVybGFwcGVkLWlmcmFtZS1pZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEgQEAKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQwMGVjNmMwY2FlZWE3NWE5YzBmMzgxMzVkNjJmN2Q5MWYz
ZTEyMmQuLjA4MGQ4MDdhMjE3ZTBkYTJiYjMwM2Q1YzhjZDliODM5MGJjMTAxMDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMS0wOC0wMSAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBn
b29nbGUuY29tPgorCisgICAgICAgIEVuYWJsZSBmYXN0IHBhdGggc2Nyb2xsaW5nIGZvciBjb21w
b3NpdGVkIGlmcmFtZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY1MDU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaWZyYW1lcyB3aXRoIGNvbXBvc2l0ZWQgbGF5ZXJzIGZvciBjb250ZW50IHNob3VsZCBi
ZSBhYmxlIHRvIGRvIGZhc3QKKyAgICAgICAgcGF0aCBzY3JvbGxpbmcgYmVjYXVzZSB0aGV5IGRy
YXcgaW50byB0aGVpciBvd24gYmFja2luZy4gVG8gZW5hYmxlCisgICAgICAgIHRoaXMsIHVzZVNs
b3dSZXBhaW50cyBpcyBtb2RpZmllZCB0byByZXR1cm4gdHJ1ZSBvbmx5IGZvciB0aGUgY2FzZXMK
KyAgICAgICAgdGhhdCBhcHBseSB0byBjb21wb3NpdGVkIGxheWVycy4gVGhlIGZhc3QgcGF0aCBz
Y3JvbGxpbmcgZnVuY3Rpb24gaXMKKyAgICAgICAgbW9kaWZpZWQgdG8gc2VuZCB0aGUgaW52YWxp
ZGF0aW9uIHRvIHRoZSBiYWNraW5nIGl0c2VsZiByYXRoZXIgdGhhbiB0bworICAgICAgICB0aGUg
d2luZG93LgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnVzZVNs
b3dSZXBhaW50cyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnVzZVNsb3dSZXBhaW50
c0lmTm90T3ZlcmxhcHBlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmNvbnRlbnRz
SW5Db21wb3NpdGVkTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRDYW5u
b3RCbGl0VG9XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxDb250
ZW50c0Zhc3RQYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsQ29udGVu
dHNTbG93UGF0aCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNh
bm5vdEJsaXRUb1dpbmRvdyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVmlldzo6cGFpbnRCb3hEZWNvcmF0aW9ucyk6CisKIDIwMTEtMDgtMDIgIEFuZHJlYXMgS2xp
bmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gU2ltcGxpZnkgUGF0aDo6dHJh
bnNsYXRlKCkgaW1wbGVtZW50YXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXgg
MTNjY2Q1NGQ3ODM2ODA5N2VmZmE1Y2Q3Y2I0MGE1NzgxYmY0ZmY5Yy4uZTc4YTZiZjVlOTYyMDEy
OGJlMjJmOWYxMzk5MjkyYjNkYjY1MDIyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApA
QCAtMTk4LDcgKzE5OCw3IEBAIEZyYW1lVmlldzo6fkZyYW1lVmlldygpCiAKIHZvaWQgRnJhbWVW
aWV3OjpyZXNldCgpCiB7Ci0gICAgbV91c2VTbG93UmVwYWludHMgPSBmYWxzZTsKKyAgICBtX2Nh
bm5vdEJsaXRUb1dpbmRvdyA9IGZhbHNlOwogICAgIG1faXNPdmVybGFwcGVkID0gZmFsc2U7CiAg
ICAgbV9jb250ZW50SXNPcGFxdWUgPSBmYWxzZTsKICAgICBtX2JvcmRlclggPSAzMDsKQEAgLTEx
NDIsMTAgKzExNDIsMTIgQEAgdm9pZCBGcmFtZVZpZXc6OmFkanVzdE1lZGlhVHlwZUZvclByaW50
aW5nKGJvb2wgcHJpbnRpbmcpCiAgICAgfQogfQogCi1ib29sIEZyYW1lVmlldzo6dXNlU2xvd1Jl
cGFpbnRzKCkgY29uc3QKK2Jvb2wgRnJhbWVWaWV3Ojp1c2VTbG93UmVwYWludHMoYm9vbCBjb25z
aWRlck92ZXJsYXApIGNvbnN0CiB7Ci0gICAgaWYgKG1fdXNlU2xvd1JlcGFpbnRzIHx8IG1fc2xv
d1JlcGFpbnRPYmplY3RDb3VudCA+IDAgfHwgKHBsYXRmb3JtV2lkZ2V0KCkgJiYgbV9maXhlZE9i
amVjdENvdW50ID4gMCkgfHwgbV9pc092ZXJsYXBwZWQgfHwgIW1fY29udGVudElzT3BhcXVlKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBib29sIG11c3RCZVNsb3cgPSBtX3Nsb3dSZXBhaW50
T2JqZWN0Q291bnQgPiAwIHx8IChwbGF0Zm9ybVdpZGdldCgpICYmIG1fZml4ZWRPYmplY3RDb3Vu
dCA+IDApOworCisgICAgaWYgKGNvbnRlbnRzSW5Db21wb3NpdGVkTGF5ZXIoKSkKKyAgICAgICAg
cmV0dXJuIG11c3RCZVNsb3c7CiAKICNpZiBQTEFURk9STShDSFJPTUlVTSkKICAgICAvLyBUaGUg
Y2hyb21pdW0gY29tcG9zaXRvciBkb2VzIG5vdCBzdXBwb3J0IHNjcm9sbGluZyBhIG5vbi1jb21w
b3NpdGVkIGZyYW1lIHdpdGhpbiBhIGNvbXBvc2l0ZWQgcGFnZSB0aHJvdWdoCkBAIC0xMTU0LDIx
ICsxMTU2LDIwIEBAIGJvb2wgRnJhbWVWaWV3Ojp1c2VTbG93UmVwYWludHMoKSBjb25zdAogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgogCisgICAgYm9vbCBpc092ZXJsYXBwZWQgPSBtX2lz
T3ZlcmxhcHBlZCAmJiBjb25zaWRlck92ZXJsYXA7CisKKyAgICBpZiAobXVzdEJlU2xvdyB8fCBt
X2Nhbm5vdEJsaXRUb1dpbmRvdyB8fCBpc092ZXJsYXBwZWQgfHwgIW1fY29udGVudElzT3BhcXVl
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGlmIChGcmFtZVZpZXcqIHBhcmVudFZpZXcg
PSBwYXJlbnRGcmFtZVZpZXcoKSkKLSAgICAgICAgcmV0dXJuIHBhcmVudFZpZXctPnVzZVNsb3dS
ZXBhaW50cygpOworICAgICAgICByZXR1cm4gcGFyZW50Vmlldy0+dXNlU2xvd1JlcGFpbnRzKGNv
bnNpZGVyT3ZlcmxhcCk7CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgRnJhbWVWaWV3
Ojp1c2VTbG93UmVwYWludHNJZk5vdE92ZXJsYXBwZWQoKSBjb25zdAogewotICAgIGlmIChtX3Vz
ZVNsb3dSZXBhaW50cyB8fCBtX3Nsb3dSZXBhaW50T2JqZWN0Q291bnQgPiAwIHx8IChwbGF0Zm9y
bVdpZGdldCgpICYmIG1fZml4ZWRPYmplY3RDb3VudCA+IDApIHx8ICFtX2NvbnRlbnRJc09wYXF1
ZSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoRnJhbWVWaWV3KiBwYXJlbnRWaWV3
ID0gcGFyZW50RnJhbWVWaWV3KCkpCi0gICAgICAgIHJldHVybiBwYXJlbnRWaWV3LT51c2VTbG93
UmVwYWludHNJZk5vdE92ZXJsYXBwZWQoKTsKLQotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1
cm4gdXNlU2xvd1JlcGFpbnRzKGZhbHNlKTsKIH0KIAogdm9pZCBGcmFtZVZpZXc6OnVwZGF0ZUNh
bkJsaXRPblNjcm9sbFJlY3Vyc2l2ZWx5KCkKQEAgLTExNzksOSArMTE4MCwyMiBAQCB2b2lkIEZy
YW1lVmlldzo6dXBkYXRlQ2FuQmxpdE9uU2Nyb2xsUmVjdXJzaXZlbHkoKQogICAgIH0KIH0KIAot
dm9pZCBGcmFtZVZpZXc6OnNldFVzZVNsb3dSZXBhaW50cygpCitib29sIEZyYW1lVmlldzo6Y29u
dGVudHNJbkNvbXBvc2l0ZWRMYXllcigpIGNvbnN0Cit7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQorICAgIFJlbmRlclZpZXcqIHJvb3QgPSBtX2ZyYW1lLT5jb250ZW50UmVuZGVy
ZXIoKTsKKyAgICBpZiAocm9vdCAmJiByb290LT5sYXllcigpLT5pc0NvbXBvc2l0ZWQoKSkgewor
ICAgICAgICBHcmFwaGljc0xheWVyKiBsYXllciA9IHJvb3QtPmxheWVyKCktPmJhY2tpbmcoKS0+
Z3JhcGhpY3NMYXllcigpOworICAgICAgICBpZiAobGF5ZXIgJiYgbGF5ZXItPmRyYXdzQ29udGVu
dCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJu
IGZhbHNlOworfQorCit2b2lkIEZyYW1lVmlldzo6c2V0Q2Fubm90QmxpdFRvV2luZG93KCkKIHsK
LSAgICBtX3VzZVNsb3dSZXBhaW50cyA9IHRydWU7CisgICAgbV9jYW5ub3RCbGl0VG9XaW5kb3cg
PSB0cnVlOwogICAgIHVwZGF0ZUNhbkJsaXRPblNjcm9sbFJlY3Vyc2l2ZWx5KCk7CiB9CiAKQEAg
LTEzMDQsNiArMTMxOCw4IEBAIGJvb2wgRnJhbWVWaWV3OjpzY3JvbGxDb250ZW50c0Zhc3RQYXRo
KGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0CiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0KIAorICAgIGNvbnN0IGJvb2wgaXNDb21wb3NpdGVkQ29udGVudExheWVy
ID0gY29udGVudHNJbkNvbXBvc2l0ZWRMYXllcigpOworCiAgICAgLy8gR2V0IHRoZSByZWN0cyBv
ZiB0aGUgZml4ZWQgb2JqZWN0cyB2aXNpYmxlIGluIHRoZSByZWN0VG9TY3JvbGwKICAgICBWZWN0
b3I8SW50UmVjdCwgZml4ZWRPYmplY3RUaHJlc2hvbGQ+IHN1YlJlY3RUb1VwZGF0ZTsKICAgICBi
b29sIHVwZGF0ZUludmFsaWRhdGVkU3ViUmVjdCA9IHRydWU7CkBAIC0xMzE0LDcgKzEzMzAsNyBA
QCBib29sIEZyYW1lVmlldzo6c2Nyb2xsQ29udGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXplJiBz
Y3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdAogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IEludFJlY3QgdXBkYXRlUmVjdCA9IHJlbmRlckJveC0+bGF5ZXIoKS0+cmVwYWludFJlY3RJbmNs
dWRpbmdEZXNjZW5kYW50cygpOwogICAgICAgICB1cGRhdGVSZWN0ID0gY29udGVudHNUb1dpbmRv
dyh1cGRhdGVSZWN0KTsKLSAgICAgICAgaWYgKGNsaXBzUmVwYWludHMoKSkKKyAgICAgICAgaWYg
KCFpc0NvbXBvc2l0ZWRDb250ZW50TGF5ZXIgJiYgY2xpcHNSZXBhaW50cygpKQogICAgICAgICAg
ICAgdXBkYXRlUmVjdC5pbnRlcnNlY3QocmVjdFRvU2Nyb2xsKTsKICAgICAgICAgaWYgKCF1cGRh
dGVSZWN0LmlzRW1wdHkoKSkgewogICAgICAgICAgICAgaWYgKHN1YlJlY3RUb1VwZGF0ZS5zaXpl
KCkgPj0gZml4ZWRPYmplY3RUaHJlc2hvbGQpIHsKQEAgLTEzMzcsNiArMTM1MywxNSBAQCBib29s
IEZyYW1lVmlldzo6c2Nyb2xsQ29udGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXplJiBzY3JvbGxE
ZWx0YSwgY29uc3QgSW50UmVjdAogICAgICAgICAgICAgSW50UmVjdCBzY3JvbGxlZFJlY3QgPSB1
cGRhdGVSZWN0OwogICAgICAgICAgICAgc2Nyb2xsZWRSZWN0Lm1vdmUoc2Nyb2xsRGVsdGEpOwog
ICAgICAgICAgICAgdXBkYXRlUmVjdC51bml0ZShzY3JvbGxlZFJlY3QpOworI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykKKyAgICAgICAgICAgIGlmIChpc0NvbXBvc2l0ZWRDb250ZW50
TGF5ZXIpIHsKKyAgICAgICAgICAgICAgICB1cGRhdGVSZWN0ID0gd2luZG93VG9Db250ZW50cyh1
cGRhdGVSZWN0KTsKKyAgICAgICAgICAgICAgICBSZW5kZXJWaWV3KiByb290ID0gbV9mcmFtZS0+
Y29udGVudFJlbmRlcmVyKCk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHJvb3QpOworICAgICAg
ICAgICAgICAgIHJvb3QtPmxheWVyKCktPnNldEJhY2tpbmdOZWVkc1JlcGFpbnRJblJlY3QodXBk
YXRlUmVjdCk7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisjZW5k
aWYKICAgICAgICAgICAgIGlmIChjbGlwc1JlcGFpbnRzKCkpCiAgICAgICAgICAgICAgICAgdXBk
YXRlUmVjdC5pbnRlcnNlY3QocmVjdFRvU2Nyb2xsKTsKICAgICAgICAgICAgIGhvc3RXaW5kb3co
KS0+aW52YWxpZGF0ZUNvbnRlbnRzQW5kV2luZG93KHVwZGF0ZVJlY3QsIGZhbHNlKTsKQEAgLTEz
NTEsMTMgKzEzNzYsMTAgQEAgYm9vbCBGcmFtZVZpZXc6OnNjcm9sbENvbnRlbnRzRmFzdFBhdGgo
Y29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3QKIHZvaWQgRnJhbWVWaWV3
OjpzY3JvbGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QpCiB7CiAj
aWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotICAgIFJlbmRlclZpZXcqIHJvb3QgPSBt
X2ZyYW1lLT5jb250ZW50UmVuZGVyZXIoKTsKLSAgICBpZiAocm9vdCAmJiByb290LT5sYXllcigp
LT5pc0NvbXBvc2l0ZWQoKSkgewotICAgICAgICBHcmFwaGljc0xheWVyKiBsYXllciA9IHJvb3Qt
PmxheWVyKCktPmJhY2tpbmcoKS0+Z3JhcGhpY3NMYXllcigpOwotICAgICAgICBpZiAobGF5ZXIg
JiYgbGF5ZXItPmRyYXdzQ29udGVudCgpKSB7Ci0gICAgICAgICAgICByb290LT5sYXllcigpLT5z
ZXRCYWNraW5nTmVlZHNSZXBhaW50SW5SZWN0KHZpc2libGVDb250ZW50UmVjdCgpKTsKLSAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgfQorICAgIGlmIChjb250ZW50c0luQ29tcG9zaXRlZExh
eWVyKCkpIHsKKyAgICAgICAgUmVuZGVyVmlldyogcm9vdCA9IG1fZnJhbWUtPmNvbnRlbnRSZW5k
ZXJlcigpOworICAgICAgICBBU1NFUlQocm9vdCk7CisgICAgICAgIHJvb3QtPmxheWVyKCktPnNl
dEJhY2tpbmdOZWVkc1JlcGFpbnRJblJlY3QodmlzaWJsZUNvbnRlbnRSZWN0KCkpOwogICAgIH0K
ICAgICBpZiAoUmVuZGVyUGFydCogZnJhbWVSZW5kZXJlciA9IG1fZnJhbWUtPm93bmVyUmVuZGVy
ZXIoKSkgewogICAgICAgICBpZiAoZnJhbWVSZW5kZXJlci0+Y29udGFpbmVyRm9yUmVwYWludCgp
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBhMTZjNTI1MWRkY2IzMTdlMDE0ZWNlN2Rj
M2JiNDAyNGM2MDc5Zjk4Li44NGE1MGY3YThkZjdiZTExMmJjNGFhYTZjMjEwODE2NTY2NTM0MDc2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTE3MSw3ICsxNzEsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRNZWRpYVR5cGUoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBhZGp1c3RNZWRp
YVR5cGVGb3JQcmludGluZyhib29sIHByaW50aW5nKTsKIAotICAgIHZvaWQgc2V0VXNlU2xvd1Jl
cGFpbnRzKCk7CisgICAgdm9pZCBzZXRDYW5ub3RCbGl0VG9XaW5kb3coKTsKICAgICB2b2lkIHNl
dElzT3ZlcmxhcHBlZChib29sKTsKICAgICBib29sIGlzT3ZlcmxhcHBlZCgpIGNvbnN0IHsgcmV0
dXJuIG1faXNPdmVybGFwcGVkOyB9CiAgICAgYm9vbCBpc092ZXJsYXBwZWRJbmNsdWRpbmdBbmNl
c3RvcnMoKSBjb25zdDsKQEAgLTMwMyw5ICszMDMsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IGJvb2wgaXNGcmFtZVZpZXcoKSBjb25zdDsKIAogICAgIGZyaWVuZCBjbGFzcyBSZW5kZXJXaWRn
ZXQ7Ci0gICAgYm9vbCB1c2VTbG93UmVwYWludHMoKSBjb25zdDsKKyAgICBib29sIHVzZVNsb3dS
ZXBhaW50cyhib29sIGNvbnNpZGVyT3ZlcmxhcCA9IHRydWUpIGNvbnN0OwogICAgIGJvb2wgdXNl
U2xvd1JlcGFpbnRzSWZOb3RPdmVybGFwcGVkKCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVDYW5C
bGl0T25TY3JvbGxSZWN1cnNpdmVseSgpOworICAgIGJvb2wgY29udGVudHNJbkNvbXBvc2l0ZWRM
YXllcigpIGNvbnN0OwogCiAgICAgYm9vbCBoYXNGaXhlZE9iamVjdHMoKSBjb25zdCB7IHJldHVy
biBtX2ZpeGVkT2JqZWN0Q291bnQgPiAwOyB9CiAKQEAgLTM4MSw3ICszODIsNyBAQCBwcml2YXRl
OgogICAgIGJvb2wgbV9kb0Z1bGxSZXBhaW50OwogICAgIAogICAgIGJvb2wgbV9jYW5IYXZlU2Ny
b2xsYmFyczsKLSAgICBib29sIG1fdXNlU2xvd1JlcGFpbnRzOworICAgIGJvb2wgbV9jYW5ub3RC
bGl0VG9XaW5kb3c7CiAgICAgYm9vbCBtX2lzT3ZlcmxhcHBlZDsKICAgICBib29sIG1fY29udGVu
dElzT3BhcXVlOwogICAgIHVuc2lnbmVkIG1fc2xvd1JlcGFpbnRPYmplY3RDb3VudDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDQ0ODVhOWQyNDFlZmJkODJm
NmQ5ZTRlYTM5NDE5YjNmMTFiYzcyN2QuLmE5ODA2MDI2YTJlNWJiZGE5NDNmYWY5ZTExYjhiNDRk
M2I0NWIwYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAt
ODU0LDEzICs4NTQsMTMgQEAgSW50UG9pbnQgUmVuZGVyTGF5ZXI6OmFic29sdXRlVG9Db250ZW50
cyhjb25zdCBJbnRQb2ludCYgYWJzb2x1dGVQb2ludCkgY29uc3QKICAgICByZXR1cm4gcm91bmRl
ZEludFBvaW50KHJlbmRlcmVyKCktPmFic29sdXRlVG9Mb2NhbChhYnNvbHV0ZVBvaW50LCBmYWxz
ZSwgdHJ1ZSkpOwogfQogCi1ib29sIFJlbmRlckxheWVyOjpyZXF1aXJlc1Nsb3dSZXBhaW50cygp
IGNvbnN0Citib29sIFJlbmRlckxheWVyOjpjYW5ub3RCbGl0VG9XaW5kb3coKSBjb25zdAogewog
ICAgIGlmIChpc1RyYW5zcGFyZW50KCkgfHwgaGFzUmVmbGVjdGlvbigpIHx8IGhhc1RyYW5zZm9y
bSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBpZiAoIXBhcmVudCgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIHBhcmVudCgpLT5yZXF1aXJlc1Nsb3dSZXBhaW50cygp
OworICAgIHJldHVybiBwYXJlbnQoKS0+Y2Fubm90QmxpdFRvV2luZG93KCk7CiB9CiAKIGJvb2wg
UmVuZGVyTGF5ZXI6OmlzVHJhbnNwYXJlbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaAppbmRleCA3YzgzYzAxZWQxN2RiOGU5YTc4YmQ4YzVjZGZkMDFkY2VjMjkw
MDQ5Li42M2NjNzJhNjY1MDQ0ZWQzYmViZjk4YjNjZTFmYTE3YzlkOTM4YjNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtMTkyLDcgKzE5Miw3IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzTm9ybWFsRmxvd09ubHkoKSBjb25zdCB7IHJldHVybiBtX2lzTm9ybWFsRmxv
d09ubHk7IH0KICAgICBib29sIGlzU2VsZlBhaW50aW5nTGF5ZXIoKSBjb25zdDsKIAotICAgIGJv
b2wgcmVxdWlyZXNTbG93UmVwYWludHMoKSBjb25zdDsKKyAgICBib29sIGNhbm5vdEJsaXRUb1dp
bmRvdygpIGNvbnN0OwogCiAgICAgYm9vbCBpc1RyYW5zcGFyZW50KCkgY29uc3Q7CiAgICAgUmVu
ZGVyTGF5ZXIqIHRyYW5zcGFyZW50UGFpbnRpbmdBbmNlc3RvcigpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IGE5YjlmZjVlYmVlYzE0YWJjNWQxNzgyNThlNDM1
YTZmNzMyMTIyOWYuLjNkNjRjNWE5ZmUwNzhhNjJmMmYxYmQ4NDRkN2EyMjhlNjZlZGJhYjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTE5NSwxNSArMTk1LDE1
IEBAIHZvaWQgUmVuZGVyVmlldzo6cGFpbnRCb3hEZWNvcmF0aW9ucyhQYWludEluZm8mIHBhaW50
SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmKQogICAgIEVsZW1lbnQqIGVsdDsKICAgICBmb3IgKGVs
dCA9IGRvY3VtZW50KCktPm93bmVyRWxlbWVudCgpOyB2aWV3KCkgJiYgZWx0ICYmIGVsdC0+cmVu
ZGVyZXIoKTsgZWx0ID0gZWx0LT5kb2N1bWVudCgpLT5vd25lckVsZW1lbnQoKSkgewogICAgICAg
ICBSZW5kZXJMYXllciogbGF5ZXIgPSBlbHQtPnJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCk7
Ci0gICAgICAgIGlmIChsYXllci0+cmVxdWlyZXNTbG93UmVwYWludHMoKSkgewotICAgICAgICAg
ICAgZnJhbWVWaWV3KCktPnNldFVzZVNsb3dSZXBhaW50cygpOworICAgICAgICBpZiAobGF5ZXIt
PmNhbm5vdEJsaXRUb1dpbmRvdygpKSB7CisgICAgICAgICAgICBmcmFtZVZpZXcoKS0+c2V0Q2Fu
bm90QmxpdFRvV2luZG93KCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCiAjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICAgICBpZiAoUmVuZGVyTGF5ZXIqIGNv
bXBvc2l0aW5nTGF5ZXIgPSBsYXllci0+ZW5jbG9zaW5nQ29tcG9zaXRpbmdMYXllcigpKSB7CiAg
ICAgICAgICAgICBpZiAoIWNvbXBvc2l0aW5nTGF5ZXItPmJhY2tpbmcoKS0+cGFpbnRpbmdHb2Vz
VG9XaW5kb3coKSkgewotICAgICAgICAgICAgICAgIGZyYW1lVmlldygpLT5zZXRVc2VTbG93UmVw
YWludHMoKTsKKyAgICAgICAgICAgICAgICBmcmFtZVZpZXcoKS0+c2V0Q2Fubm90QmxpdFRvV2lu
ZG93KCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
QEAgLTIzNCw3ICsyMzQsNyBAQCB2b2lkIFJlbmRlclZpZXc6OnBhaW50Qm94RGVjb3JhdGlvbnMo
UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JikKICAgICAvLyBPbmx5IGZp
bGwgd2l0aCB0aGUgYmFzZSBiYWNrZ3JvdW5kIGNvbG9yICh0eXBpY2FsbHkgd2hpdGUpIGlmIHdl
J3JlIHRoZSByb290IGRvY3VtZW50LCAKICAgICAvLyBzaW5jZSBpZnJhbWVzL2ZyYW1lcyB3aXRo
IG5vIGJhY2tncm91bmQgaW4gdGhlIGNoaWxkIGRvY3VtZW50IHNob3VsZCBzaG93IHRoZSBwYXJl
bnQncyBiYWNrZ3JvdW5kLgogICAgIGlmIChmcmFtZVZpZXcoKS0+aXNUcmFuc3BhcmVudCgpKSAv
LyBGSVhNRTogVGhpcyBuZWVkcyB0byBiZSBkeW5hbWljLiAgV2Ugc2hvdWxkIGJlIGFibGUgdG8g
Z28gYmFjayB0byBibGl0dGluZyBpZiB3ZSBldmVyIHN0b3AgYmVpbmcgdHJhbnNwYXJlbnQuCi0g
ICAgICAgIGZyYW1lVmlldygpLT5zZXRVc2VTbG93UmVwYWludHMoKTsgLy8gVGhlIHBhcmVudCBt
dXN0IHNob3cgYmVoaW5kIHRoZSBjaGlsZC4KKyAgICAgICAgZnJhbWVWaWV3KCktPnNldENhbm5v
dEJsaXRUb1dpbmRvdygpOyAvLyBUaGUgcGFyZW50IG11c3Qgc2hvdyBiZWhpbmQgdGhlIGNoaWxk
LgogICAgIGVsc2UgewogICAgICAgICBDb2xvciBiYXNlQ29sb3IgPSBmcmFtZVZpZXcoKS0+YmFz
ZUJhY2tncm91bmRDb2xvcigpOwogICAgICAgICBpZiAoYmFzZUNvbG9yLmFscGhhKCkgPiAwKSB7
Cg==
</data>
<flag name="review"
          id="97975"
          type_id="1"
          status="+"
          setter="jamesr"
    />
          </attachment>
      

    </bug>

</bugzilla>