<?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>84822</bug_id>
          
          <creation_ts>2012-04-24 20:09:09 -0700</creation_ts>
          <short_desc>[chromium] REGRESSION(112286) Compositor initialization blocks for program compilation / linking</short_desc>
          <delta_ts>2012-04-25 21:49:47 -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="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>609412</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-24 20:09:09 -0700</bug_when>
    <thetext>[chromium] REGRESSION(112286) Compositor initialization blocks for program compilation / linking</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609425</commentid>
    <comment_count>1</comment_count>
      <attachid>138727</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-24 20:25:49 -0700</bug_when>
    <thetext>Created attachment 138727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609494</commentid>
    <comment_count>2</comment_count>
      <attachid>138744</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-24 23:48:46 -0700</bug_when>
    <thetext>Created attachment 138744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609834</commentid>
    <comment_count>3</comment_count>
      <attachid>138744</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-04-25 09:34:04 -0700</bug_when>
    <thetext>Comment on attachment 138744
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/TextureCopier.cpp:82
&gt; +    if (m_blitProgram-&gt;initialized())

is that supposed to be if (!initialized) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609898</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-25 10:52:18 -0700</bug_when>
    <thetext>Oh, yes (interesting that no layout tests break)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610248</commentid>
    <comment_count>5</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-04-25 18:03:52 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Oh, yes (interesting that no layout tests break)

It&apos;d just re-get the uniforms on ever ycopy, so it&apos;s inefficient but still correct.  Can I trouble you to add an assert to ProgramBinding::initialize() to make sure we don&apos;t do this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610250</commentid>
    <comment_count>6</comment_count>
      <attachid>138744</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-04-25 18:05:31 -0700</bug_when>
    <thetext>Comment on attachment 138744
Patch

Other than than the initialized() check, looks great.  Thanks for writing a test.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610326</commentid>
    <comment_count>7</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-25 21:10:24 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Oh, yes (interesting that no layout tests break)
&gt; 
&gt; It&apos;d just re-get the uniforms on ever ycopy, so it&apos;s inefficient but still correct.  Can I trouble you to add an assert to ProgramBinding::initialize() to make sure we don&apos;t do this?

No, since i&apos;m not calling initialize() unless initialized() is true, I think it will never get the uniforms at all.  The only uniform on the program is the s_texture on the fragment shader.  So I have no idea WTF it was doing.

Anyway, added ASSERT()s for both ways - calling initialize() too much or calling program() before initialize() and it seems good now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610327</commentid>
    <comment_count>8</comment_count>
      <attachid>138928</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-25 21:11:40 -0700</bug_when>
    <thetext>Created attachment 138928
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610338</commentid>
    <comment_count>9</comment_count>
      <attachid>138928</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-25 21:49:42 -0700</bug_when>
    <thetext>Comment on attachment 138928
Patch for landing

Clearing flags on attachment: 138928

Committed r115285: &lt;http://trac.webkit.org/changeset/115285&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610339</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-25 21:49:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138727</attachid>
            <date>2012-04-24 20:25:49 -0700</date>
            <delta_ts>2012-04-24 23:48:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84822-20120424202548.patch</filename>
            <type>text/plain</type>
            <size>8684</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzZiYjExNGNhM2IxNTQ5
ZDFmYjZhY2VkNGNhZjlmMDU1ZWRkODczZS4uZWJhOTZjZDY5ZWM4ZjI4YzVlYTMxNTY4YjExN2Rl
M2JmYTgwMDE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA0LTI0ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBS
RUdSRVNTSU9OKDExMjI4NikgQ29tcG9zaXRvciBpbml0aWFsaXphdGlvbiBibG9ja3MgZm9yIHBy
b2dyYW0gY29tcGlsYXRpb24gLyBsaW5raW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NDgyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIHIxMTIyODYgaW50cm9kdWNlZCBhIHN1YnRsZSByZWdyZXNzaW9u
IGluIHRoZSBjaHJvbWl1bSBjb21wb3NpdG9yIHN0YXJ0dXAgc2VxdWVuY2UgLSBieSBxdWVyeWlu
ZyB0aGUgdGV4dHVyZQorICAgICAgICBjb3B5IHByb2dyYW0ncyB1bmlmb3JtIGxvY2F0aW9uIGF0
IHRoZSBlbmQgb2YgTGF5ZXJSZW5kZXJlckNocm9taXVtOjppbml0aWFsaXplKCksIHRoZSBjb21w
b3NpdG9yJ3MgdGhyZWFkIHdhcworICAgICAgICBibG9ja2VkIHVudGlsIHRoZSBzZXJ2aWNlIHNp
ZGUgY29tcGlsZWQgX2FsbF8gZWFnZXJseSBpbml0aWFsaXplZCBzaGFkZXJzLiBUaGUgaW50ZW50
IG9mIHRoZSB3YXkgdGhlIGNvbXBvc2l0b3IKKyAgICAgICAgcHJvZ3JhbXMgYXJlIGNyZWF0ZWQg
aXMgdGhhdCBhIHNldCBvZiBjb21tb25seS11c2VkIHByb2dyYW1zIGFyZSBzZW50IHRvIHRoZSBz
ZXJ2aWNlIHNpZGUsIGJ1dCBubyBibG9ja2luZyBjYWxscworICAgICAgICBhcmUgbWFkZSB1bnRp
bCBhZnRlciB3ZSBnbyB0aHJvdWdoIHRoZSBmaXJzdCBwYWludCAod2l0aCB0aGUgaG9wZSB0aGF0
IHRoZSBzZXJ2aWNlIHNpZGUgd2lsbCBjb21wbGV0ZSB0aGUKKyAgICAgICAgY29tcGlsYXRpb24g
YnkgdGhlbikuCisKKyAgICAgICAgRml4ZWQgYnkgbW92aW5nIHByb2dyYW0gaW5pdGlhbGl6YXRp
b24gKHdoaWNoIGFsc28gZ3JhYnMgdW5pZm9ybSBsb2NhdGlvbnMpIHVudGlsIHRoZSBmaXJzdCBh
Y3R1YWwgdXNlIG9mIHRoZQorICAgICAgICBjb3BpZXIuIEl0IG1heSBiZSB3b3J0aCBkZWZlcnJp
bmcgdGhlIHByb2dyYW0gaW5pdGlhbGl6YXRpb24gY29tcGxldGVseSBpZiBpdCdzIG5vdCB1c2Vk
IHZlcnkgb2Z0ZW4uCisKKyAgICAgICAgQWRkZWQgdW5pdCB0ZXN0IGluIExheWVyUmVuZGVyZXJD
aHJvbWl1bVRlc3RzIHRvIG1ha2Ugc3VyZSBMUkMgaW5pdGlhbGl6YXRpb24gZG9lcyBub3QgbWFr
ZSBhbnkKKyAgICAgICAgc3luY2hyb25vdXMgY2FsbHMgKGxpa2UgZ2V0VW5pZm9ybUxvY2F0aW9u
KCkpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZUNvcGll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2NlbGVyYXRlZFRleHR1cmVDb3BpZXI6OkFjY2Vs
ZXJhdGVkVGV4dHVyZUNvcGllcik6CisgICAgICAgIChXZWJDb3JlOjpBY2NlbGVyYXRlZFRleHR1
cmVDb3BpZXI6OmNvcHlUZXh0dXJlKToKKwogMjAxMi0wNC0yNCAgQWxleGlzIE1lbmFyZCAgPGFs
ZXhpcy5tZW5hcmRAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgY3JlYXRlVEJv
ZHkgZm9yIHRhYmxlIGVsZW1lbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDE5NTNk
NWEyYmRmM2I0NmFjODk5NjM2MTI3ZjFjODRmY2YwNDExZTUuLjJlYzNhOTU4NGI2MTYyNzc0OGQ0
OGVjZGQyZTI2YmIyZTdlNmZjOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjggQEAKKzIwMTItMDQtMjQgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBbY2hyb21pdW1dIFJFR1JFU1NJT04oMTEyMjg2KSBDb21wb3NpdG9yIGlu
aXRpYWxpemF0aW9uIGJsb2NrcyBmb3IgcHJvZ3JhbSBjb21waWxhdGlvbiAvIGxpbmtpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0ODIyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0
aGF0IG1ha2VzIHN1cmUgd2UgZG9uJ3QgbWFrZSBibG9ja2luZyBjYWxscyBkdXJpbmcgTGF5ZXJS
ZW5kZXJlckNocm9taXVtIGluaXRpYWxpemF0aW9uLgorCisgICAgICAgICogdGVzdHMvTGF5ZXJS
ZW5kZXJlckNocm9taXVtVGVzdC5jcHA6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0NhbGxD
b250ZXh0KToKKyAgICAgICAgKEZvcmJpZFN5bmNocm9ub3VzQ2FsbENvbnRleHQ6OkZvcmJpZFN5
bmNocm9ub3VzQ2FsbENvbnRleHQpOgorICAgICAgICAoRm9yYmlkU3luY2hyb25vdXNDYWxsQ29u
dGV4dDo6ZmluaXNoKToKKyAgICAgICAgKEZvcmJpZFN5bmNocm9ub3VzQ2FsbENvbnRleHQ6Omdl
dEFjdGl2ZUF0dHJpYik6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0NhbGxDb250ZXh0Ojpn
ZXRBY3RpdmVVbmlmb3JtKToKKyAgICAgICAgKEZvcmJpZFN5bmNocm9ub3VzQ2FsbENvbnRleHQ6
OmdldEF0dGFjaGVkU2hhZGVycyk6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0NhbGxDb250
ZXh0OjpnZXRBdHRyaWJMb2NhdGlvbik6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0NhbGxD
b250ZXh0OjpnZXRCb29sZWFudik6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0NhbGxDb250
ZXh0OjpnZXRCdWZmZXJQYXJhbWV0ZXJpdik6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0Nh
bGxDb250ZXh0OjpnZXRDb250ZXh0QXR0cmlidXRlcyk6CisgICAgICAgIChGb3JiaWRTeW5jaHJv
bm91c0NhbGxDb250ZXh0OjpnZXRFcnJvcik6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0Nh
bGxDb250ZXh0OjpnZXRGbG9hdHYpOgorICAgICAgICAoRm9yYmlkU3luY2hyb25vdXNDYWxsQ29u
dGV4dDo6Z2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyaXYpOgorICAgICAgICAoVEVT
VCk6CisKIDIwMTItMDQtMjQgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgW2Nocm9taXVtXSBJbWFnZSBtYXNrcyBhcmUgY29uc2lkZXJlZCBvcGFxdWUgaW5j
b3JyZWN0bHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL1RleHR1cmVDb3BpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vVGV4dHVyZUNvcGllci5jcHAKaW5kZXggYmQ2ODdjNjEwNzZlNDUyYWU3ZTk3
MTIyOWJjOGMxYmE1Nzc1MzNhZC4uMjM3MWIyMmU3MWIzMDgxMjE1NjRlMDZjZDY0NWZiNGIzZDJh
NjA0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVGV4dHVyZUNvcGllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vVGV4dHVyZUNvcGllci5jcHAKQEAgLTQ5LDcgKzQ5LDYgQEAgQWNjZWxlcmF0
ZWRUZXh0dXJlQ29waWVyOjpBY2NlbGVyYXRlZFRleHR1cmVDb3BpZXIoUGFzc1JlZlB0cjxHcmFw
aGljc0NvbnRleHQzRD4KICAgICBHTEMobV9jb250ZXh0LmdldCgpLCBtX2NvbnRleHQtPmJpbmRC
dWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZX0JVRkZFUiwgMCkpOwogCiAgICAgbV9ibGl0
UHJvZ3JhbSA9IGFkb3B0UHRyKG5ldyBCbGl0UHJvZ3JhbShtX2NvbnRleHQuZ2V0KCkpKTsKLSAg
ICBtX2JsaXRQcm9ncmFtLT5pbml0aWFsaXplKG1fY29udGV4dC5nZXQoKSk7CiB9CiAKIEFjY2Vs
ZXJhdGVkVGV4dHVyZUNvcGllcjo6fkFjY2VsZXJhdGVkVGV4dHVyZUNvcGllcigpCkBAIC04MCw2
ICs3OSw5IEBAIHZvaWQgQWNjZWxlcmF0ZWRUZXh0dXJlQ29waWVyOjpjb3B5VGV4dHVyZShHcmFw
aGljc0NvbnRleHQzRCogY29udGV4dCwgdW5zaWduZWQKICAgICBHTEMoY29udGV4dCwgY29udGV4
dC0+dGV4UGFyYW1ldGVyaShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgR3JhcGhpY3ND
b250ZXh0M0Q6OlRFWFRVUkVfTUlOX0ZJTFRFUiwgR3JhcGhpY3NDb250ZXh0M0Q6Ok5FQVJFU1Qp
KTsKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dGV4UGFyYW1ldGVyaShHcmFwaGljc0NvbnRl
eHQzRDo6VEVYVFVSRV8yRCwgR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfTUFHX0ZJTFRFUiwg
R3JhcGhpY3NDb250ZXh0M0Q6Ok5FQVJFU1QpKTsKIAorICAgIGlmIChtX2JsaXRQcm9ncmFtLT5p
bml0aWFsaXplZCgpKQorICAgICAgICBtX2JsaXRQcm9ncmFtLT5pbml0aWFsaXplKGNvbnRleHQp
OworCiAgICAgLy8gVE9ETzogVXNlIEVYVF9mcmFtZWJ1ZmZlcl9ibGl0IGlmIGF2YWlsYWJsZS4K
ICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dXNlUHJvZ3JhbShtX2JsaXRQcm9ncmFtLT5wcm9n
cmFtKCkpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9MYXll
clJlbmRlcmVyQ2hyb21pdW1UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
TGF5ZXJSZW5kZXJlckNocm9taXVtVGVzdC5jcHAKaW5kZXggZDJmYTA5MWMwMjJkNDk1OWU4MmJi
ZDBjOTdjNjJmYzg5ZTFkYzU1MS4uODIwMTM5NjdiY2UzYjg2MjBiODJjNjY0Mzk5MmY5ZGZjYWNh
YjQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9MYXllclJlbmRl
cmVyQ2hyb21pdW1UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bVRlc3QuY3BwCkBAIC0xOTksMyArMTk5LDYwIEBAIFRFU1RfRihM
YXllclJlbmRlcmVyQ2hyb21pdW1UZXN0LCBEaXNjYXJkZWRCYWNrYnVmZmVySXNSZWNyZWF0cmVk
Rm9yU2NvcGVEdXJhdGlvCiAgICAgc3dhcEJ1ZmZlcnMoKTsKICAgICBFWFBFQ1RfRVEoMSwgbV9t
b2NrQ29udGV4dC5mcmFtZUNvdW50KCkpOwogfQorCitjbGFzcyBGb3JiaWRTeW5jaHJvbm91c0Nh
bGxDb250ZXh0IDogcHVibGljIEZha2VXZWJHcmFwaGljc0NvbnRleHQzRCB7CitwdWJsaWM6Cisg
ICAgRm9yYmlkU3luY2hyb25vdXNDYWxsQ29udGV4dCgpIHsgfQorCisgICAgdmlydHVhbCBib29s
IGdldEFjdGl2ZUF0dHJpYihXZWJHTElkIHByb2dyYW0sIFdHQzNEdWludCBpbmRleCwgQWN0aXZl
SW5mbyYpIHsgRkFJTCgpOyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgZ2V0QWN0
aXZlVW5pZm9ybShXZWJHTElkIHByb2dyYW0sIFdHQzNEdWludCBpbmRleCwgQWN0aXZlSW5mbyYp
IHsgRkFJTCgpOyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0QXR0YWNoZWRT
aGFkZXJzKFdlYkdMSWQgcHJvZ3JhbSwgV0dDM0RzaXplaSBtYXhDb3VudCwgV0dDM0RzaXplaSog
Y291bnQsIFdlYkdMSWQqIHNoYWRlcnMpIHsgRkFJTCgpOyB9CisgICAgdmlydHVhbCBXR0MzRGlu
dCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTElkIHByb2dyYW0sIGNvbnN0IFdHQzNEY2hhciogbmFt
ZSkgeyBGQUlMKCk7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCB2b2lkIGdldEJvb2xlYW52KFdH
QzNEZW51bSBwbmFtZSwgV0dDM0Rib29sZWFuKiB2YWx1ZSkgeyBGQUlMKCk7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgZ2V0QnVmZmVyUGFyYW1ldGVyaXYoV0dDM0RlbnVtIHRhcmdldCwgV0dDM0RlbnVt
IHBuYW1lLCBXR0MzRGludCogdmFsdWUpIHsgRkFJTCgpOyB9CisgICAgdmlydHVhbCBBdHRyaWJ1
dGVzIGdldENvbnRleHRBdHRyaWJ1dGVzKCkgeyBGQUlMKCk7IHJldHVybiBtX2F0dHJzOyB9Cisg
ICAgdmlydHVhbCBXR0MzRGVudW0gZ2V0RXJyb3IoKSB7IEZBSUwoKTsgcmV0dXJuIDA7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgZ2V0RmxvYXR2KFdHQzNEZW51bSBwbmFtZSwgV0dDM0RmbG9hdCogdmFs
dWUpIHsgRkFJTCgpOyB9CisgICAgdmlydHVhbCB2b2lkIGdldEZyYW1lYnVmZmVyQXR0YWNobWVu
dFBhcmFtZXRlcml2KFdHQzNEZW51bSB0YXJnZXQsIFdHQzNEZW51bSBhdHRhY2htZW50LCBXR0Mz
RGVudW0gcG5hbWUsIFdHQzNEaW50KiB2YWx1ZSkgeyBGQUlMKCk7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgZ2V0SW50ZWdlcnYoV0dDM0RlbnVtIHBuYW1lLCBXR0MzRGludCogdmFsdWUpCisgICAgewor
ICAgICAgICBpZiAocG5hbWUgPT0gV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9URVhU
VVJFX1NJWkUpCisgICAgICAgICAgICAqdmFsdWUgPSAxMDI0OyAvLyBNQVhfVEVYVFVSRV9TSVpF
IGlzIGNhY2hlZCBjbGllbnQgc2lkZSwgc28gaXQncyBPSyB0byBxdWVyeS4KKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgRkFJTCgpOworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBnZXRQcm9n
cmFtaXYoV2ViR0xJZCBwcm9ncmFtLCBXR0MzRGVudW0gcG5hbWUsIFdHQzNEaW50KiB2YWx1ZSkK
KyAgICB7CisgICAgICAgIEZBSUwoKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFdlYlN0cmluZyBn
ZXRQcm9ncmFtSW5mb0xvZyhXZWJHTElkIHByb2dyYW0pIHsgRkFJTCgpOyByZXR1cm4gV2ViU3Ry
aW5nKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0UmVuZGVyYnVmZmVyUGFyYW1ldGVyaXYoV0dD
M0RlbnVtIHRhcmdldCwgV0dDM0RlbnVtIHBuYW1lLCBXR0MzRGludCogdmFsdWUpIHsgRkFJTCgp
OyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0U2hhZGVyaXYoV2ViR0xJZCBzaGFkZXIsIFdHQzNE
ZW51bSBwbmFtZSwgV0dDM0RpbnQqIHZhbHVlKQorICAgIHsKKyAgICAgICAgRkFJTCgpOworICAg
IH0KKworICAgIHZpcnR1YWwgV2ViU3RyaW5nIGdldFNoYWRlckluZm9Mb2coV2ViR0xJZCBzaGFk
ZXIpIHsgRkFJTCgpOyByZXR1cm4gV2ViU3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0
U2hhZGVyUHJlY2lzaW9uRm9ybWF0KFdHQzNEZW51bSBzaGFkZXJ0eXBlLCBXR0MzRGVudW0gcHJl
Y2lzaW9udHlwZSwgV0dDM0RpbnQqIHJhbmdlLCBXR0MzRGludCogcHJlY2lzaW9uKSB7IEZBSUwo
KTsgfQorICAgIHZpcnR1YWwgV2ViU3RyaW5nIGdldFNoYWRlclNvdXJjZShXZWJHTElkIHNoYWRl
cikgeyBGQUlMKCk7IHJldHVybiBXZWJTdHJpbmcoKTsgfQorICAgIHZpcnR1YWwgV2ViU3RyaW5n
IGdldFN0cmluZyhXR0MzRGVudW0gbmFtZSkgeyBGQUlMKCk7IHJldHVybiBXZWJTdHJpbmcoKTsg
fQorICAgIHZpcnR1YWwgdm9pZCBnZXRUZXhQYXJhbWV0ZXJmdihXR0MzRGVudW0gdGFyZ2V0LCBX
R0MzRGVudW0gcG5hbWUsIFdHQzNEZmxvYXQqIHZhbHVlKSB7IEZBSUwoKTsgfQorICAgIHZpcnR1
YWwgdm9pZCBnZXRUZXhQYXJhbWV0ZXJpdihXR0MzRGVudW0gdGFyZ2V0LCBXR0MzRGVudW0gcG5h
bWUsIFdHQzNEaW50KiB2YWx1ZSkgeyBGQUlMKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0VW5p
Zm9ybWZ2KFdlYkdMSWQgcHJvZ3JhbSwgV0dDM0RpbnQgbG9jYXRpb24sIFdHQzNEZmxvYXQqIHZh
bHVlKSB7IEZBSUwoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBnZXRVbmlmb3JtaXYoV2ViR0xJZCBw
cm9ncmFtLCBXR0MzRGludCBsb2NhdGlvbiwgV0dDM0RpbnQqIHZhbHVlKSB7IEZBSUwoKTsgfQor
ICAgIHZpcnR1YWwgV0dDM0RpbnQgZ2V0VW5pZm9ybUxvY2F0aW9uKFdlYkdMSWQgcHJvZ3JhbSwg
Y29uc3QgV0dDM0RjaGFyKiBuYW1lKSB7IEZBSUwoKTsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgZ2V0VmVydGV4QXR0cmliZnYoV0dDM0R1aW50IGluZGV4LCBXR0MzRGVudW0gcG5hbWUs
IFdHQzNEZmxvYXQqIHZhbHVlKSB7IEZBSUwoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBnZXRWZXJ0
ZXhBdHRyaWJpdihXR0MzRHVpbnQgaW5kZXgsIFdHQzNEZW51bSBwbmFtZSwgV0dDM0RpbnQqIHZh
bHVlKSB7IEZBSUwoKTsgfQorICAgIHZpcnR1YWwgV0dDM0RzaXplaXB0ciBnZXRWZXJ0ZXhBdHRy
aWJPZmZzZXQoV0dDM0R1aW50IGluZGV4LCBXR0MzRGVudW0gcG5hbWUpIHsgRkFJTCgpOyByZXR1
cm4gMDsgfQorfTsKKworVEVTVChMYXllclJlbmRlcmVyQ2hyb21pdW1UZXN0LCBpbml0aWFsaXph
dGlvbkRvZXNNYWtlU3luY2hyb25vdXNDYWxscykKK3sKKyAgICBGYWtlTGF5ZXJSZW5kZXJlckNo
cm9taXVtQ2xpZW50IG1vY2tDbGllbnQ7CisgICAgRmFrZUxheWVyUmVuZGVyZXJDaHJvbWl1bSBs
YXllclJlbmRlcmVyQ2hyb21pdW0oJm1vY2tDbGllbnQsIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0
ZTo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0RnJvbVdlYkNvbnRleHQoYWRvcHRQdHIobmV3IEZvcmJp
ZFN5bmNocm9ub3VzQ2FsbENvbnRleHQpLCBHcmFwaGljc0NvbnRleHQzRDo6UmVuZGVyRGlyZWN0
bHlUb0hvc3RXaW5kb3cpKTsKKworICAgIEVYUEVDVF9UUlVFKGxheWVyUmVuZGVyZXJDaHJvbWl1
bS5pbml0aWFsaXplKCkpOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138744</attachid>
            <date>2012-04-24 23:48:46 -0700</date>
            <delta_ts>2012-04-25 21:11:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84822-20120424234845.patch</filename>
            <type>text/plain</type>
            <size>9508</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzZiYjExNGNhM2IxNTQ5
ZDFmYjZhY2VkNGNhZjlmMDU1ZWRkODczZS4uZWJhOTZjZDY5ZWM4ZjI4YzVlYTMxNTY4YjExN2Rl
M2JmYTgwMDE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA0LTI0ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBS
RUdSRVNTSU9OKDExMjI4NikgQ29tcG9zaXRvciBpbml0aWFsaXphdGlvbiBibG9ja3MgZm9yIHBy
b2dyYW0gY29tcGlsYXRpb24gLyBsaW5raW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NDgyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIHIxMTIyODYgaW50cm9kdWNlZCBhIHN1YnRsZSByZWdyZXNzaW9u
IGluIHRoZSBjaHJvbWl1bSBjb21wb3NpdG9yIHN0YXJ0dXAgc2VxdWVuY2UgLSBieSBxdWVyeWlu
ZyB0aGUgdGV4dHVyZQorICAgICAgICBjb3B5IHByb2dyYW0ncyB1bmlmb3JtIGxvY2F0aW9uIGF0
IHRoZSBlbmQgb2YgTGF5ZXJSZW5kZXJlckNocm9taXVtOjppbml0aWFsaXplKCksIHRoZSBjb21w
b3NpdG9yJ3MgdGhyZWFkIHdhcworICAgICAgICBibG9ja2VkIHVudGlsIHRoZSBzZXJ2aWNlIHNp
ZGUgY29tcGlsZWQgX2FsbF8gZWFnZXJseSBpbml0aWFsaXplZCBzaGFkZXJzLiBUaGUgaW50ZW50
IG9mIHRoZSB3YXkgdGhlIGNvbXBvc2l0b3IKKyAgICAgICAgcHJvZ3JhbXMgYXJlIGNyZWF0ZWQg
aXMgdGhhdCBhIHNldCBvZiBjb21tb25seS11c2VkIHByb2dyYW1zIGFyZSBzZW50IHRvIHRoZSBz
ZXJ2aWNlIHNpZGUsIGJ1dCBubyBibG9ja2luZyBjYWxscworICAgICAgICBhcmUgbWFkZSB1bnRp
bCBhZnRlciB3ZSBnbyB0aHJvdWdoIHRoZSBmaXJzdCBwYWludCAod2l0aCB0aGUgaG9wZSB0aGF0
IHRoZSBzZXJ2aWNlIHNpZGUgd2lsbCBjb21wbGV0ZSB0aGUKKyAgICAgICAgY29tcGlsYXRpb24g
YnkgdGhlbikuCisKKyAgICAgICAgRml4ZWQgYnkgbW92aW5nIHByb2dyYW0gaW5pdGlhbGl6YXRp
b24gKHdoaWNoIGFsc28gZ3JhYnMgdW5pZm9ybSBsb2NhdGlvbnMpIHVudGlsIHRoZSBmaXJzdCBh
Y3R1YWwgdXNlIG9mIHRoZQorICAgICAgICBjb3BpZXIuIEl0IG1heSBiZSB3b3J0aCBkZWZlcnJp
bmcgdGhlIHByb2dyYW0gaW5pdGlhbGl6YXRpb24gY29tcGxldGVseSBpZiBpdCdzIG5vdCB1c2Vk
IHZlcnkgb2Z0ZW4uCisKKyAgICAgICAgQWRkZWQgdW5pdCB0ZXN0IGluIExheWVyUmVuZGVyZXJD
aHJvbWl1bVRlc3RzIHRvIG1ha2Ugc3VyZSBMUkMgaW5pdGlhbGl6YXRpb24gZG9lcyBub3QgbWFr
ZSBhbnkKKyAgICAgICAgc3luY2hyb25vdXMgY2FsbHMgKGxpa2UgZ2V0VW5pZm9ybUxvY2F0aW9u
KCkpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZUNvcGll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2NlbGVyYXRlZFRleHR1cmVDb3BpZXI6OkFjY2Vs
ZXJhdGVkVGV4dHVyZUNvcGllcik6CisgICAgICAgIChXZWJDb3JlOjpBY2NlbGVyYXRlZFRleHR1
cmVDb3BpZXI6OmNvcHlUZXh0dXJlKToKKwogMjAxMi0wNC0yNCAgQWxleGlzIE1lbmFyZCAgPGFs
ZXhpcy5tZW5hcmRAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgY3JlYXRlVEJv
ZHkgZm9yIHRhYmxlIGVsZW1lbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDE5NTNk
NWEyYmRmM2I0NmFjODk5NjM2MTI3ZjFjODRmY2YwNDExZTUuLjJlYzNhOTU4NGI2MTYyNzc0OGQ0
OGVjZGQyZTI2YmIyZTdlNmZjOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjggQEAKKzIwMTItMDQtMjQgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBbY2hyb21pdW1dIFJFR1JFU1NJT04oMTEyMjg2KSBDb21wb3NpdG9yIGlu
aXRpYWxpemF0aW9uIGJsb2NrcyBmb3IgcHJvZ3JhbSBjb21waWxhdGlvbiAvIGxpbmtpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0ODIyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0
aGF0IG1ha2VzIHN1cmUgd2UgZG9uJ3QgbWFrZSBibG9ja2luZyBjYWxscyBkdXJpbmcgTGF5ZXJS
ZW5kZXJlckNocm9taXVtIGluaXRpYWxpemF0aW9uLgorCisgICAgICAgICogdGVzdHMvTGF5ZXJS
ZW5kZXJlckNocm9taXVtVGVzdC5jcHA6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0NhbGxD
b250ZXh0KToKKyAgICAgICAgKEZvcmJpZFN5bmNocm9ub3VzQ2FsbENvbnRleHQ6OkZvcmJpZFN5
bmNocm9ub3VzQ2FsbENvbnRleHQpOgorICAgICAgICAoRm9yYmlkU3luY2hyb25vdXNDYWxsQ29u
dGV4dDo6ZmluaXNoKToKKyAgICAgICAgKEZvcmJpZFN5bmNocm9ub3VzQ2FsbENvbnRleHQ6Omdl
dEFjdGl2ZUF0dHJpYik6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0NhbGxDb250ZXh0Ojpn
ZXRBY3RpdmVVbmlmb3JtKToKKyAgICAgICAgKEZvcmJpZFN5bmNocm9ub3VzQ2FsbENvbnRleHQ6
OmdldEF0dGFjaGVkU2hhZGVycyk6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0NhbGxDb250
ZXh0OjpnZXRBdHRyaWJMb2NhdGlvbik6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0NhbGxD
b250ZXh0OjpnZXRCb29sZWFudik6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0NhbGxDb250
ZXh0OjpnZXRCdWZmZXJQYXJhbWV0ZXJpdik6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0Nh
bGxDb250ZXh0OjpnZXRDb250ZXh0QXR0cmlidXRlcyk6CisgICAgICAgIChGb3JiaWRTeW5jaHJv
bm91c0NhbGxDb250ZXh0OjpnZXRFcnJvcik6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0Nh
bGxDb250ZXh0OjpnZXRGbG9hdHYpOgorICAgICAgICAoRm9yYmlkU3luY2hyb25vdXNDYWxsQ29u
dGV4dDo6Z2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyaXYpOgorICAgICAgICAoVEVT
VCk6CisKIDIwMTItMDQtMjQgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgW2Nocm9taXVtXSBJbWFnZSBtYXNrcyBhcmUgY29uc2lkZXJlZCBvcGFxdWUgaW5j
b3JyZWN0bHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL1RleHR1cmVDb3BpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vVGV4dHVyZUNvcGllci5jcHAKaW5kZXggYmQ2ODdjNjEwNzZlNDUyYWU3ZTk3
MTIyOWJjOGMxYmE1Nzc1MzNhZC4uMjM3MWIyMmU3MWIzMDgxMjE1NjRlMDZjZDY0NWZiNGIzZDJh
NjA0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVGV4dHVyZUNvcGllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vVGV4dHVyZUNvcGllci5jcHAKQEAgLTQ5LDcgKzQ5LDYgQEAgQWNjZWxlcmF0
ZWRUZXh0dXJlQ29waWVyOjpBY2NlbGVyYXRlZFRleHR1cmVDb3BpZXIoUGFzc1JlZlB0cjxHcmFw
aGljc0NvbnRleHQzRD4KICAgICBHTEMobV9jb250ZXh0LmdldCgpLCBtX2NvbnRleHQtPmJpbmRC
dWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZX0JVRkZFUiwgMCkpOwogCiAgICAgbV9ibGl0
UHJvZ3JhbSA9IGFkb3B0UHRyKG5ldyBCbGl0UHJvZ3JhbShtX2NvbnRleHQuZ2V0KCkpKTsKLSAg
ICBtX2JsaXRQcm9ncmFtLT5pbml0aWFsaXplKG1fY29udGV4dC5nZXQoKSk7CiB9CiAKIEFjY2Vs
ZXJhdGVkVGV4dHVyZUNvcGllcjo6fkFjY2VsZXJhdGVkVGV4dHVyZUNvcGllcigpCkBAIC04MCw2
ICs3OSw5IEBAIHZvaWQgQWNjZWxlcmF0ZWRUZXh0dXJlQ29waWVyOjpjb3B5VGV4dHVyZShHcmFw
aGljc0NvbnRleHQzRCogY29udGV4dCwgdW5zaWduZWQKICAgICBHTEMoY29udGV4dCwgY29udGV4
dC0+dGV4UGFyYW1ldGVyaShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgR3JhcGhpY3ND
b250ZXh0M0Q6OlRFWFRVUkVfTUlOX0ZJTFRFUiwgR3JhcGhpY3NDb250ZXh0M0Q6Ok5FQVJFU1Qp
KTsKICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dGV4UGFyYW1ldGVyaShHcmFwaGljc0NvbnRl
eHQzRDo6VEVYVFVSRV8yRCwgR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfTUFHX0ZJTFRFUiwg
R3JhcGhpY3NDb250ZXh0M0Q6Ok5FQVJFU1QpKTsKIAorICAgIGlmIChtX2JsaXRQcm9ncmFtLT5p
bml0aWFsaXplZCgpKQorICAgICAgICBtX2JsaXRQcm9ncmFtLT5pbml0aWFsaXplKGNvbnRleHQp
OworCiAgICAgLy8gVE9ETzogVXNlIEVYVF9mcmFtZWJ1ZmZlcl9ibGl0IGlmIGF2YWlsYWJsZS4K
ICAgICBHTEMoY29udGV4dCwgY29udGV4dC0+dXNlUHJvZ3JhbShtX2JsaXRQcm9ncmFtLT5wcm9n
cmFtKCkpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9MYXll
clJlbmRlcmVyQ2hyb21pdW1UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
TGF5ZXJSZW5kZXJlckNocm9taXVtVGVzdC5jcHAKaW5kZXggZDJmYTA5MWMwMjJkNDk1OWU4MmJi
ZDBjOTdjNjJmYzg5ZTFkYzU1MS4uZWEwNTU5ZDkyYjU2NmZhNDY4MWU3NmNjZTlkMDU0MTRhM2Qz
MDM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9MYXllclJlbmRl
cmVyQ2hyb21pdW1UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bVRlc3QuY3BwCkBAIC0xOTksMyArMTk5LDc4IEBAIFRFU1RfRihM
YXllclJlbmRlcmVyQ2hyb21pdW1UZXN0LCBEaXNjYXJkZWRCYWNrYnVmZmVySXNSZWNyZWF0cmVk
Rm9yU2NvcGVEdXJhdGlvCiAgICAgc3dhcEJ1ZmZlcnMoKTsKICAgICBFWFBFQ1RfRVEoMSwgbV9t
b2NrQ29udGV4dC5mcmFtZUNvdW50KCkpOwogfQorCitjbGFzcyBGb3JiaWRTeW5jaHJvbm91c0Nh
bGxDb250ZXh0IDogcHVibGljIEZha2VXZWJHcmFwaGljc0NvbnRleHQzRCB7CitwdWJsaWM6Cisg
ICAgRm9yYmlkU3luY2hyb25vdXNDYWxsQ29udGV4dCgpIHsgfQorCisgICAgdmlydHVhbCBib29s
IGdldEFjdGl2ZUF0dHJpYihXZWJHTElkIHByb2dyYW0sIFdHQzNEdWludCBpbmRleCwgQWN0aXZl
SW5mbyYpIHsgQUREX0ZBSUxVUkUoKTsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29s
IGdldEFjdGl2ZVVuaWZvcm0oV2ViR0xJZCBwcm9ncmFtLCBXR0MzRHVpbnQgaW5kZXgsIEFjdGl2
ZUluZm8mKSB7IEFERF9GQUlMVVJFKCk7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgdm9p
ZCBnZXRBdHRhY2hlZFNoYWRlcnMoV2ViR0xJZCBwcm9ncmFtLCBXR0MzRHNpemVpIG1heENvdW50
LCBXR0MzRHNpemVpKiBjb3VudCwgV2ViR0xJZCogc2hhZGVycykgeyBBRERfRkFJTFVSRSgpOyB9
CisgICAgdmlydHVhbCBXR0MzRGludCBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTElkIHByb2dyYW0s
IGNvbnN0IFdHQzNEY2hhciogbmFtZSkgeyBBRERfRkFJTFVSRSgpOyByZXR1cm4gMDsgfQorICAg
IHZpcnR1YWwgdm9pZCBnZXRCb29sZWFudihXR0MzRGVudW0gcG5hbWUsIFdHQzNEYm9vbGVhbiog
dmFsdWUpIHsgQUREX0ZBSUxVUkUoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBnZXRCdWZmZXJQYXJh
bWV0ZXJpdihXR0MzRGVudW0gdGFyZ2V0LCBXR0MzRGVudW0gcG5hbWUsIFdHQzNEaW50KiB2YWx1
ZSkgeyBBRERfRkFJTFVSRSgpOyB9CisgICAgdmlydHVhbCBBdHRyaWJ1dGVzIGdldENvbnRleHRB
dHRyaWJ1dGVzKCkgeyBBRERfRkFJTFVSRSgpOyByZXR1cm4gbV9hdHRyczsgfQorICAgIHZpcnR1
YWwgV0dDM0RlbnVtIGdldEVycm9yKCkgeyBBRERfRkFJTFVSRSgpOyByZXR1cm4gMDsgfQorICAg
IHZpcnR1YWwgdm9pZCBnZXRGbG9hdHYoV0dDM0RlbnVtIHBuYW1lLCBXR0MzRGZsb2F0KiB2YWx1
ZSkgeyBBRERfRkFJTFVSRSgpOyB9CisgICAgdmlydHVhbCB2b2lkIGdldEZyYW1lYnVmZmVyQXR0
YWNobWVudFBhcmFtZXRlcml2KFdHQzNEZW51bSB0YXJnZXQsIFdHQzNEZW51bSBhdHRhY2htZW50
LCBXR0MzRGVudW0gcG5hbWUsIFdHQzNEaW50KiB2YWx1ZSkgeyBBRERfRkFJTFVSRSgpOyB9Cisg
ICAgdmlydHVhbCB2b2lkIGdldEludGVnZXJ2KFdHQzNEZW51bSBwbmFtZSwgV0dDM0RpbnQqIHZh
bHVlKQorICAgIHsKKyAgICAgICAgaWYgKHBuYW1lID09IFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjpNQVhfVEVYVFVSRV9TSVpFKQorICAgICAgICAgICAgKnZhbHVlID0gMTAyNDsgLy8gTUFY
X1RFWFRVUkVfU0laRSBpcyBjYWNoZWQgY2xpZW50IHNpZGUsIHNvIGl0J3MgT0sgdG8gcXVlcnku
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIEFERF9GQUlMVVJFKCk7CisgICAgfQorCisgICAg
Ly8gV2UgYWxsb3cgcXVlcnlpbmcgdGhlIHNoYWRlciBjb21waWxhdGlvbiBhbmQgcHJvZ3JhbSBs
aW5rIHN0YXR1cyBpbiBkZWJ1ZyBtb2RlLCBidXQgbm90IHJlbGVhc2UuCisgICAgdmlydHVhbCB2
b2lkIGdldFByb2dyYW1pdihXZWJHTElkIHByb2dyYW0sIFdHQzNEZW51bSBwbmFtZSwgV0dDM0Rp
bnQqIHZhbHVlKQorICAgIHsKKyNpZm5kZWYgTkRFQlVHCisgICAgICAgICp2YWx1ZSA9IDE7Cisj
ZWxzZQorICAgICAgICBBRERfRkFJTFVSRSgpOworI2VuZGlmCisgICAgfQorCisgICAgdmlydHVh
bCB2b2lkIGdldFNoYWRlcml2KFdlYkdMSWQgc2hhZGVyLCBXR0MzRGVudW0gcG5hbWUsIFdHQzNE
aW50KiB2YWx1ZSkKKyAgICB7CisjaWZuZGVmIE5ERUJVRworICAgICAgICAqdmFsdWUgPSAxOwor
I2Vsc2UKKyAgICAgICAgQUREX0ZBSUxVUkUoKTsKKyNlbmRpZgorICAgIH0KKworICAgIHZpcnR1
YWwgV2ViU3RyaW5nIGdldFN0cmluZyhXR0MzRGVudW0gbmFtZSkKKyAgICB7CisgICAgICAgIC8v
IFdlIGFsbG93IHF1ZXJ5aW5nIHRoZSBleHRlbnNpb24gc3RyaW5nLgorICAgICAgICAvLyBGSVhN
RTogSXQnZCBiZSBiZXR0ZXIgdG8gY2hlY2sgdGhhdCB3ZSBvbmx5IGRvIHRoaXMgYmVmb3JlIHN0
YXJ0aW5nIGFueSBvdGhlciBleHBlbnNpdmUgd29yayAobGlrZSBzdGFydGluZyBhIGNvbXBpbGF0
aW9uKQorICAgICAgICBpZiAobmFtZSAhPSBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6RVhU
RU5TSU9OUykKKyAgICAgICAgICAgIEFERF9GQUlMVVJFKCk7CisgICAgICAgIHJldHVybiBXZWJT
dHJpbmcoKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFdlYlN0cmluZyBnZXRQcm9ncmFtSW5mb0xv
ZyhXZWJHTElkIHByb2dyYW0pIHsgQUREX0ZBSUxVUkUoKTsgcmV0dXJuIFdlYlN0cmluZygpOyB9
CisgICAgdmlydHVhbCB2b2lkIGdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcml2KFdHQzNEZW51bSB0
YXJnZXQsIFdHQzNEZW51bSBwbmFtZSwgV0dDM0RpbnQqIHZhbHVlKSB7IEFERF9GQUlMVVJFKCk7
IH0KKworICAgIHZpcnR1YWwgV2ViU3RyaW5nIGdldFNoYWRlckluZm9Mb2coV2ViR0xJZCBzaGFk
ZXIpIHsgQUREX0ZBSUxVUkUoKTsgcmV0dXJuIFdlYlN0cmluZygpOyB9CisgICAgdmlydHVhbCB2
b2lkIGdldFNoYWRlclByZWNpc2lvbkZvcm1hdChXR0MzRGVudW0gc2hhZGVydHlwZSwgV0dDM0Rl
bnVtIHByZWNpc2lvbnR5cGUsIFdHQzNEaW50KiByYW5nZSwgV0dDM0RpbnQqIHByZWNpc2lvbikg
eyBBRERfRkFJTFVSRSgpOyB9CisgICAgdmlydHVhbCBXZWJTdHJpbmcgZ2V0U2hhZGVyU291cmNl
KFdlYkdMSWQgc2hhZGVyKSB7IEFERF9GQUlMVVJFKCk7IHJldHVybiBXZWJTdHJpbmcoKTsgfQor
ICAgIHZpcnR1YWwgdm9pZCBnZXRUZXhQYXJhbWV0ZXJmdihXR0MzRGVudW0gdGFyZ2V0LCBXR0Mz
RGVudW0gcG5hbWUsIFdHQzNEZmxvYXQqIHZhbHVlKSB7IEFERF9GQUlMVVJFKCk7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgZ2V0VGV4UGFyYW1ldGVyaXYoV0dDM0RlbnVtIHRhcmdldCwgV0dDM0RlbnVt
IHBuYW1lLCBXR0MzRGludCogdmFsdWUpIHsgQUREX0ZBSUxVUkUoKTsgfQorICAgIHZpcnR1YWwg
dm9pZCBnZXRVbmlmb3JtZnYoV2ViR0xJZCBwcm9ncmFtLCBXR0MzRGludCBsb2NhdGlvbiwgV0dD
M0RmbG9hdCogdmFsdWUpIHsgQUREX0ZBSUxVUkUoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBnZXRV
bmlmb3JtaXYoV2ViR0xJZCBwcm9ncmFtLCBXR0MzRGludCBsb2NhdGlvbiwgV0dDM0RpbnQqIHZh
bHVlKSB7IEFERF9GQUlMVVJFKCk7IH0KKyAgICB2aXJ0dWFsIFdHQzNEaW50IGdldFVuaWZvcm1M
b2NhdGlvbihXZWJHTElkIHByb2dyYW0sIGNvbnN0IFdHQzNEY2hhciogbmFtZSkgeyBBRERfRkFJ
TFVSRSgpOyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgdm9pZCBnZXRWZXJ0ZXhBdHRyaWJmdihX
R0MzRHVpbnQgaW5kZXgsIFdHQzNEZW51bSBwbmFtZSwgV0dDM0RmbG9hdCogdmFsdWUpIHsgQURE
X0ZBSUxVUkUoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBnZXRWZXJ0ZXhBdHRyaWJpdihXR0MzRHVp
bnQgaW5kZXgsIFdHQzNEZW51bSBwbmFtZSwgV0dDM0RpbnQqIHZhbHVlKSB7IEFERF9GQUlMVVJF
KCk7IH0KKyAgICB2aXJ0dWFsIFdHQzNEc2l6ZWlwdHIgZ2V0VmVydGV4QXR0cmliT2Zmc2V0KFdH
QzNEdWludCBpbmRleCwgV0dDM0RlbnVtIHBuYW1lKSB7IEFERF9GQUlMVVJFKCk7IHJldHVybiAw
OyB9Cit9OworCisvLyBUaGlzIHRlc3QgaXNuJ3QgdXNpbmcgdGhlIHNhbWUgZml4dHVyZSBhcyBM
YXllclJlbmRlcmVyQ2hyb21pdW1UZXN0LCBhbmQgeW91IGNhbid0IG1peCBURVNUKCkgYW5kIFRF
U1RfRigpIHdpdGggdGhlIHNhbWUgbmFtZSwgaGVuY2UgTFJDMi4KK1RFU1QoTGF5ZXJSZW5kZXJl
ckNocm9taXVtVGVzdDIsIGluaXRpYWxpemF0aW9uRG9lc01ha2VTeW5jaHJvbm91c0NhbGxzKQor
eworICAgIEZha2VMYXllclJlbmRlcmVyQ2hyb21pdW1DbGllbnQgbW9ja0NsaWVudDsKKyAgICBG
YWtlTGF5ZXJSZW5kZXJlckNocm9taXVtIGxheWVyUmVuZGVyZXJDaHJvbWl1bSgmbW9ja0NsaWVu
dCwgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpjcmVhdGVHcmFwaGljc0NvbnRleHRGcm9tV2Vi
Q29udGV4dChhZG9wdFB0cihuZXcgRm9yYmlkU3luY2hyb25vdXNDYWxsQ29udGV4dCksIEdyYXBo
aWNzQ29udGV4dDNEOjpSZW5kZXJEaXJlY3RseVRvSG9zdFdpbmRvdykpOworCisgICAgRVhQRUNU
X1RSVUUobGF5ZXJSZW5kZXJlckNocm9taXVtLmluaXRpYWxpemUoKSk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138928</attachid>
            <date>2012-04-25 21:11:40 -0700</date>
            <delta_ts>2012-04-25 21:49:42 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-84822-20120425211139.patch</filename>
            <type>text/plain</type>
            <size>10455</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzZiYjExNGNhM2IxNTQ5
ZDFmYjZhY2VkNGNhZjlmMDU1ZWRkODczZS4uZDQ5NmVkZGEzZGZjMGU1MmFhNTc5ZDc1N2FjNTEx
NjkwNWVhZGNkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA0LTI0ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBS
RUdSRVNTSU9OKDExMjI4NikgQ29tcG9zaXRvciBpbml0aWFsaXphdGlvbiBibG9ja3MgZm9yIHBy
b2dyYW0gY29tcGlsYXRpb24gLyBsaW5raW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NDgyMgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkcmllbm5l
IFdhbGtlci4KKworICAgICAgICByMTEyMjg2IGludHJvZHVjZWQgYSBzdWJ0bGUgcmVncmVzc2lv
biBpbiB0aGUgY2hyb21pdW0gY29tcG9zaXRvciBzdGFydHVwIHNlcXVlbmNlIC0gYnkgcXVlcnlp
bmcgdGhlIHRleHR1cmUKKyAgICAgICAgY29weSBwcm9ncmFtJ3MgdW5pZm9ybSBsb2NhdGlvbiBh
dCB0aGUgZW5kIG9mIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6aW5pdGlhbGl6ZSgpLCB0aGUgY29t
cG9zaXRvcidzIHRocmVhZCB3YXMKKyAgICAgICAgYmxvY2tlZCB1bnRpbCB0aGUgc2VydmljZSBz
aWRlIGNvbXBpbGVkIF9hbGxfIGVhZ2VybHkgaW5pdGlhbGl6ZWQgc2hhZGVycy4gVGhlIGludGVu
dCBvZiB0aGUgd2F5IHRoZSBjb21wb3NpdG9yCisgICAgICAgIHByb2dyYW1zIGFyZSBjcmVhdGVk
IGlzIHRoYXQgYSBzZXQgb2YgY29tbW9ubHktdXNlZCBwcm9ncmFtcyBhcmUgc2VudCB0byB0aGUg
c2VydmljZSBzaWRlLCBidXQgbm8gYmxvY2tpbmcgY2FsbHMKKyAgICAgICAgYXJlIG1hZGUgdW50
aWwgYWZ0ZXIgd2UgZ28gdGhyb3VnaCB0aGUgZmlyc3QgcGFpbnQgKHdpdGggdGhlIGhvcGUgdGhh
dCB0aGUgc2VydmljZSBzaWRlIHdpbGwgY29tcGxldGUgdGhlCisgICAgICAgIGNvbXBpbGF0aW9u
IGJ5IHRoZW4pLgorCisgICAgICAgIEZpeGVkIGJ5IG1vdmluZyBwcm9ncmFtIGluaXRpYWxpemF0
aW9uICh3aGljaCBhbHNvIGdyYWJzIHVuaWZvcm0gbG9jYXRpb25zKSB1bnRpbCB0aGUgZmlyc3Qg
YWN0dWFsIHVzZSBvZiB0aGUKKyAgICAgICAgY29waWVyLiBJdCBtYXkgYmUgd29ydGggZGVmZXJy
aW5nIHRoZSBwcm9ncmFtIGluaXRpYWxpemF0aW9uIGNvbXBsZXRlbHkgaWYgaXQncyBub3QgdXNl
ZCB2ZXJ5IG9mdGVuLgorCisgICAgICAgIEFkZGVkIHVuaXQgdGVzdCBpbiBMYXllclJlbmRlcmVy
Q2hyb21pdW1UZXN0cyB0byBtYWtlIHN1cmUgTFJDIGluaXRpYWxpemF0aW9uIGRvZXMgbm90IG1h
a2UgYW55CisgICAgICAgIHN5bmNocm9ub3VzIGNhbGxzIChsaWtlIGdldFVuaWZvcm1Mb2NhdGlv
bigpKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVDb3Bp
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZWxlcmF0ZWRUZXh0dXJlQ29waWVyOjpBY2Nl
bGVyYXRlZFRleHR1cmVDb3BpZXIpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZWxlcmF0ZWRUZXh0
dXJlQ29waWVyOjpjb3B5VGV4dHVyZSk6CisKIDIwMTItMDQtMjQgIEFsZXhpcyBNZW5hcmQgIDxh
bGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IGNyZWF0ZVRC
b2R5IGZvciB0YWJsZSBlbGVtZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAxOTUz
ZDVhMmJkZjNiNDZhYzg5OTYzNjEyN2YxYzg0ZmNmMDQxMWU1Li4yNjJkNThmOTljYzUyYmExNGYx
YzI5ODE4YWJlNzhhZDJkNzYzZWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI4IEBACisyMDEyLTA0LTI0ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBSRUdSRVNTSU9OKDExMjI4NikgQ29tcG9zaXRvciBp
bml0aWFsaXphdGlvbiBibG9ja3MgZm9yIHByb2dyYW0gY29tcGlsYXRpb24gLyBsaW5raW5nCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDgyMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFkcmllbm5lIFdhbGtlci4KKworICAgICAgICBBZGQgYSB0ZXN0
IHRoYXQgbWFrZXMgc3VyZSB3ZSBkb24ndCBtYWtlIGJsb2NraW5nIGNhbGxzIGR1cmluZyBMYXll
clJlbmRlcmVyQ2hyb21pdW0gaW5pdGlhbGl6YXRpb24uCisKKyAgICAgICAgKiB0ZXN0cy9MYXll
clJlbmRlcmVyQ2hyb21pdW1UZXN0LmNwcDoKKyAgICAgICAgKEZvcmJpZFN5bmNocm9ub3VzQ2Fs
bENvbnRleHQpOgorICAgICAgICAoRm9yYmlkU3luY2hyb25vdXNDYWxsQ29udGV4dDo6Rm9yYmlk
U3luY2hyb25vdXNDYWxsQ29udGV4dCk6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0NhbGxD
b250ZXh0OjpmaW5pc2gpOgorICAgICAgICAoRm9yYmlkU3luY2hyb25vdXNDYWxsQ29udGV4dDo6
Z2V0QWN0aXZlQXR0cmliKToKKyAgICAgICAgKEZvcmJpZFN5bmNocm9ub3VzQ2FsbENvbnRleHQ6
OmdldEFjdGl2ZVVuaWZvcm0pOgorICAgICAgICAoRm9yYmlkU3luY2hyb25vdXNDYWxsQ29udGV4
dDo6Z2V0QXR0YWNoZWRTaGFkZXJzKToKKyAgICAgICAgKEZvcmJpZFN5bmNocm9ub3VzQ2FsbENv
bnRleHQ6OmdldEF0dHJpYkxvY2F0aW9uKToKKyAgICAgICAgKEZvcmJpZFN5bmNocm9ub3VzQ2Fs
bENvbnRleHQ6OmdldEJvb2xlYW52KToKKyAgICAgICAgKEZvcmJpZFN5bmNocm9ub3VzQ2FsbENv
bnRleHQ6OmdldEJ1ZmZlclBhcmFtZXRlcml2KToKKyAgICAgICAgKEZvcmJpZFN5bmNocm9ub3Vz
Q2FsbENvbnRleHQ6OmdldENvbnRleHRBdHRyaWJ1dGVzKToKKyAgICAgICAgKEZvcmJpZFN5bmNo
cm9ub3VzQ2FsbENvbnRleHQ6OmdldEVycm9yKToKKyAgICAgICAgKEZvcmJpZFN5bmNocm9ub3Vz
Q2FsbENvbnRleHQ6OmdldEZsb2F0dik6CisgICAgICAgIChGb3JiaWRTeW5jaHJvbm91c0NhbGxD
b250ZXh0OjpnZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXJpdik6CisgICAgICAgIChU
RVNUKToKKwogMjAxMi0wNC0yNCAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIEltYWdlIG1hc2tzIGFyZSBjb25zaWRlcmVkIG9wYXF1ZSBp
bmNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vUHJvZ3JhbUJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1Byb2dyYW1CaW5kaW5nLmgKaW5kZXggYmI2ZmM4ZGRkOTBmOGQ1NWYzNWE1
OGQyMTMzZmRhNDk4MmJkMjBiNy4uYzBlZjczNmIzYzkzZGNiYzZmZmI1ZjViNWJhMDg3MjJkNDc3
MzEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vUHJvZ3JhbUJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9Qcm9ncmFtQmluZGluZy5oCkBAIC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGluaXQoR3JhcGhpY3NDb250ZXh0M0QqLCBjb25zdCBTdHJpbmcmIHZlcnRleFNoYWRl
ciwgY29uc3QgU3RyaW5nJiBmcmFnbWVudFNoYWRlcik7CiAgICAgdm9pZCBjbGVhbnVwKEdyYXBo
aWNzQ29udGV4dDNEKik7CiAKLSAgICB1bnNpZ25lZCBwcm9ncmFtKCkgY29uc3QgeyByZXR1cm4g
bV9wcm9ncmFtOyB9CisgICAgdW5zaWduZWQgcHJvZ3JhbSgpIGNvbnN0IHsgQVNTRVJUKG1faW5p
dGlhbGl6ZWQpOyByZXR1cm4gbV9wcm9ncmFtOyB9CiAgICAgYm9vbCBpbml0aWFsaXplZCgpIGNv
bnN0IHsgcmV0dXJuIG1faW5pdGlhbGl6ZWQ7IH0KIAogcHJvdGVjdGVkOgpAQCAtNjcsNiArNjcs
NyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBBU1NFUlQoY29udGV4dCk7CiAgICAgICAgIEFT
U0VSVChtX3Byb2dyYW0pOworICAgICAgICBBU1NFUlQoIW1faW5pdGlhbGl6ZWQpOwogCiAgICAg
ICAgIG1fdmVydGV4U2hhZGVyLmluaXQoY29udGV4dCwgbV9wcm9ncmFtKTsKICAgICAgICAgbV9m
cmFnbWVudFNoYWRlci5pbml0KGNvbnRleHQsIG1fcHJvZ3JhbSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlQ29waWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVDb3BpZXIu
Y3BwCmluZGV4IGJkNjg3YzYxMDc2ZTQ1MmFlN2U5NzEyMjliYzhjMWJhNTc3NTMzYWQuLmE1OTFh
MzJhMTEzNjgxODgzN2UzODRmNGY1NDJhZjIzNmJjYmIxYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVDb3BpZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVDb3BpZXIu
Y3BwCkBAIC00OSw3ICs0OSw2IEBAIEFjY2VsZXJhdGVkVGV4dHVyZUNvcGllcjo6QWNjZWxlcmF0
ZWRUZXh0dXJlQ29waWVyKFBhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+CiAgICAgR0xDKG1f
Y29udGV4dC5nZXQoKSwgbV9jb250ZXh0LT5iaW5kQnVmZmVyKEdyYXBoaWNzQ29udGV4dDNEOjpB
UlJBWV9CVUZGRVIsIDApKTsKIAogICAgIG1fYmxpdFByb2dyYW0gPSBhZG9wdFB0cihuZXcgQmxp
dFByb2dyYW0obV9jb250ZXh0LmdldCgpKSk7Ci0gICAgbV9ibGl0UHJvZ3JhbS0+aW5pdGlhbGl6
ZShtX2NvbnRleHQuZ2V0KCkpOwogfQogCiBBY2NlbGVyYXRlZFRleHR1cmVDb3BpZXI6On5BY2Nl
bGVyYXRlZFRleHR1cmVDb3BpZXIoKQpAQCAtODAsNiArNzksOSBAQCB2b2lkIEFjY2VsZXJhdGVk
VGV4dHVyZUNvcGllcjo6Y29weVRleHR1cmUoR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQsIHVu
c2lnbmVkCiAgICAgR0xDKGNvbnRleHQsIGNvbnRleHQtPnRleFBhcmFtZXRlcmkoR3JhcGhpY3ND
b250ZXh0M0Q6OlRFWFRVUkVfMkQsIEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFX01JTl9GSUxU
RVIsIEdyYXBoaWNzQ29udGV4dDNEOjpORUFSRVNUKSk7CiAgICAgR0xDKGNvbnRleHQsIGNvbnRl
eHQtPnRleFBhcmFtZXRlcmkoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIEdyYXBoaWNz
Q29udGV4dDNEOjpURVhUVVJFX01BR19GSUxURVIsIEdyYXBoaWNzQ29udGV4dDNEOjpORUFSRVNU
KSk7CiAKKyAgICBpZiAoIW1fYmxpdFByb2dyYW0tPmluaXRpYWxpemVkKCkpCisgICAgICAgIG1f
YmxpdFByb2dyYW0tPmluaXRpYWxpemUoY29udGV4dCk7CisKICAgICAvLyBUT0RPOiBVc2UgRVhU
X2ZyYW1lYnVmZmVyX2JsaXQgaWYgYXZhaWxhYmxlLgogICAgIEdMQyhjb250ZXh0LCBjb250ZXh0
LT51c2VQcm9ncmFtKG1fYmxpdFByb2dyYW0tPnByb2dyYW0oKSkpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xheWVyUmVuZGVyZXJDaHJvbWl1bVRlc3QuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9MYXllclJlbmRlcmVyQ2hyb21pdW1UZXN0
LmNwcAppbmRleCBkMmZhMDkxYzAyMmQ0OTU5ZTgyYmJkMGM5N2M2MmZjODllMWRjNTUxLi45OTNi
YTk1MzA4YjVhMzdkZmEzMzk0ZTZmYTM4MGJiOTk4OGU4MjBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xheWVyUmVuZGVyZXJDaHJvbWl1bVRlc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTGF5ZXJSZW5kZXJlckNocm9taXVtVGVzdC5j
cHAKQEAgLTE5OSwzICsxOTksNzggQEAgVEVTVF9GKExheWVyUmVuZGVyZXJDaHJvbWl1bVRlc3Qs
IERpc2NhcmRlZEJhY2tidWZmZXJJc1JlY3JlYXRyZWRGb3JTY29wZUR1cmF0aW8KICAgICBzd2Fw
QnVmZmVycygpOwogICAgIEVYUEVDVF9FUSgxLCBtX21vY2tDb250ZXh0LmZyYW1lQ291bnQoKSk7
CiB9CisKK2NsYXNzIEZvcmJpZFN5bmNocm9ub3VzQ2FsbENvbnRleHQgOiBwdWJsaWMgRmFrZVdl
YkdyYXBoaWNzQ29udGV4dDNEIHsKK3B1YmxpYzoKKyAgICBGb3JiaWRTeW5jaHJvbm91c0NhbGxD
b250ZXh0KCkgeyB9CisKKyAgICB2aXJ0dWFsIGJvb2wgZ2V0QWN0aXZlQXR0cmliKFdlYkdMSWQg
cHJvZ3JhbSwgV0dDM0R1aW50IGluZGV4LCBBY3RpdmVJbmZvJikgeyBBRERfRkFJTFVSRSgpOyBy
ZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgZ2V0QWN0aXZlVW5pZm9ybShXZWJHTElk
IHByb2dyYW0sIFdHQzNEdWludCBpbmRleCwgQWN0aXZlSW5mbyYpIHsgQUREX0ZBSUxVUkUoKTsg
cmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCB2b2lkIGdldEF0dGFjaGVkU2hhZGVycyhXZWJH
TElkIHByb2dyYW0sIFdHQzNEc2l6ZWkgbWF4Q291bnQsIFdHQzNEc2l6ZWkqIGNvdW50LCBXZWJH
TElkKiBzaGFkZXJzKSB7IEFERF9GQUlMVVJFKCk7IH0KKyAgICB2aXJ0dWFsIFdHQzNEaW50IGdl
dEF0dHJpYkxvY2F0aW9uKFdlYkdMSWQgcHJvZ3JhbSwgY29uc3QgV0dDM0RjaGFyKiBuYW1lKSB7
IEFERF9GQUlMVVJFKCk7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCB2b2lkIGdldEJvb2xlYW52
KFdHQzNEZW51bSBwbmFtZSwgV0dDM0Rib29sZWFuKiB2YWx1ZSkgeyBBRERfRkFJTFVSRSgpOyB9
CisgICAgdmlydHVhbCB2b2lkIGdldEJ1ZmZlclBhcmFtZXRlcml2KFdHQzNEZW51bSB0YXJnZXQs
IFdHQzNEZW51bSBwbmFtZSwgV0dDM0RpbnQqIHZhbHVlKSB7IEFERF9GQUlMVVJFKCk7IH0KKyAg
ICB2aXJ0dWFsIEF0dHJpYnV0ZXMgZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKSB7IEFERF9GQUlMVVJF
KCk7IHJldHVybiBtX2F0dHJzOyB9CisgICAgdmlydHVhbCBXR0MzRGVudW0gZ2V0RXJyb3IoKSB7
IEFERF9GQUlMVVJFKCk7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCB2b2lkIGdldEZsb2F0dihX
R0MzRGVudW0gcG5hbWUsIFdHQzNEZmxvYXQqIHZhbHVlKSB7IEFERF9GQUlMVVJFKCk7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyaXYoV0dDM0Rl
bnVtIHRhcmdldCwgV0dDM0RlbnVtIGF0dGFjaG1lbnQsIFdHQzNEZW51bSBwbmFtZSwgV0dDM0Rp
bnQqIHZhbHVlKSB7IEFERF9GQUlMVVJFKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0SW50ZWdl
cnYoV0dDM0RlbnVtIHBuYW1lLCBXR0MzRGludCogdmFsdWUpCisgICAgeworICAgICAgICBpZiAo
cG5hbWUgPT0gV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6Ok1BWF9URVhUVVJFX1NJWkUpCisg
ICAgICAgICAgICAqdmFsdWUgPSAxMDI0OyAvLyBNQVhfVEVYVFVSRV9TSVpFIGlzIGNhY2hlZCBj
bGllbnQgc2lkZSwgc28gaXQncyBPSyB0byBxdWVyeS4KKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgQUREX0ZBSUxVUkUoKTsKKyAgICB9CisKKyAgICAvLyBXZSBhbGxvdyBxdWVyeWluZyB0aGUg
c2hhZGVyIGNvbXBpbGF0aW9uIGFuZCBwcm9ncmFtIGxpbmsgc3RhdHVzIGluIGRlYnVnIG1vZGUs
IGJ1dCBub3QgcmVsZWFzZS4KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0UHJvZ3JhbWl2KFdlYkdMSWQg
cHJvZ3JhbSwgV0dDM0RlbnVtIHBuYW1lLCBXR0MzRGludCogdmFsdWUpCisgICAgeworI2lmbmRl
ZiBOREVCVUcKKyAgICAgICAgKnZhbHVlID0gMTsKKyNlbHNlCisgICAgICAgIEFERF9GQUlMVVJF
KCk7CisjZW5kaWYKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0U2hhZGVyaXYoV2ViR0xJ
ZCBzaGFkZXIsIFdHQzNEZW51bSBwbmFtZSwgV0dDM0RpbnQqIHZhbHVlKQorICAgIHsKKyNpZm5k
ZWYgTkRFQlVHCisgICAgICAgICp2YWx1ZSA9IDE7CisjZWxzZQorICAgICAgICBBRERfRkFJTFVS
RSgpOworI2VuZGlmCisgICAgfQorCisgICAgdmlydHVhbCBXZWJTdHJpbmcgZ2V0U3RyaW5nKFdH
QzNEZW51bSBuYW1lKQorICAgIHsKKyAgICAgICAgLy8gV2UgYWxsb3cgcXVlcnlpbmcgdGhlIGV4
dGVuc2lvbiBzdHJpbmcuCisgICAgICAgIC8vIEZJWE1FOiBJdCdkIGJlIGJldHRlciB0byBjaGVj
ayB0aGF0IHdlIG9ubHkgZG8gdGhpcyBiZWZvcmUgc3RhcnRpbmcgYW55IG90aGVyIGV4cGVuc2l2
ZSB3b3JrIChsaWtlIHN0YXJ0aW5nIGEgY29tcGlsYXRpb24pCisgICAgICAgIGlmIChuYW1lICE9
IFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpFWFRFTlNJT05TKQorICAgICAgICAgICAgQURE
X0ZBSUxVUkUoKTsKKyAgICAgICAgcmV0dXJuIFdlYlN0cmluZygpOworICAgIH0KKworICAgIHZp
cnR1YWwgV2ViU3RyaW5nIGdldFByb2dyYW1JbmZvTG9nKFdlYkdMSWQgcHJvZ3JhbSkgeyBBRERf
RkFJTFVSRSgpOyByZXR1cm4gV2ViU3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0UmVu
ZGVyYnVmZmVyUGFyYW1ldGVyaXYoV0dDM0RlbnVtIHRhcmdldCwgV0dDM0RlbnVtIHBuYW1lLCBX
R0MzRGludCogdmFsdWUpIHsgQUREX0ZBSUxVUkUoKTsgfQorCisgICAgdmlydHVhbCBXZWJTdHJp
bmcgZ2V0U2hhZGVySW5mb0xvZyhXZWJHTElkIHNoYWRlcikgeyBBRERfRkFJTFVSRSgpOyByZXR1
cm4gV2ViU3RyaW5nKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0U2hhZGVyUHJlY2lzaW9uRm9y
bWF0KFdHQzNEZW51bSBzaGFkZXJ0eXBlLCBXR0MzRGVudW0gcHJlY2lzaW9udHlwZSwgV0dDM0Rp
bnQqIHJhbmdlLCBXR0MzRGludCogcHJlY2lzaW9uKSB7IEFERF9GQUlMVVJFKCk7IH0KKyAgICB2
aXJ0dWFsIFdlYlN0cmluZyBnZXRTaGFkZXJTb3VyY2UoV2ViR0xJZCBzaGFkZXIpIHsgQUREX0ZB
SUxVUkUoKTsgcmV0dXJuIFdlYlN0cmluZygpOyB9CisgICAgdmlydHVhbCB2b2lkIGdldFRleFBh
cmFtZXRlcmZ2KFdHQzNEZW51bSB0YXJnZXQsIFdHQzNEZW51bSBwbmFtZSwgV0dDM0RmbG9hdCog
dmFsdWUpIHsgQUREX0ZBSUxVUkUoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBnZXRUZXhQYXJhbWV0
ZXJpdihXR0MzRGVudW0gdGFyZ2V0LCBXR0MzRGVudW0gcG5hbWUsIFdHQzNEaW50KiB2YWx1ZSkg
eyBBRERfRkFJTFVSRSgpOyB9CisgICAgdmlydHVhbCB2b2lkIGdldFVuaWZvcm1mdihXZWJHTElk
IHByb2dyYW0sIFdHQzNEaW50IGxvY2F0aW9uLCBXR0MzRGZsb2F0KiB2YWx1ZSkgeyBBRERfRkFJ
TFVSRSgpOyB9CisgICAgdmlydHVhbCB2b2lkIGdldFVuaWZvcm1pdihXZWJHTElkIHByb2dyYW0s
IFdHQzNEaW50IGxvY2F0aW9uLCBXR0MzRGludCogdmFsdWUpIHsgQUREX0ZBSUxVUkUoKTsgfQor
ICAgIHZpcnR1YWwgV0dDM0RpbnQgZ2V0VW5pZm9ybUxvY2F0aW9uKFdlYkdMSWQgcHJvZ3JhbSwg
Y29uc3QgV0dDM0RjaGFyKiBuYW1lKSB7IEFERF9GQUlMVVJFKCk7IHJldHVybiAwOyB9CisgICAg
dmlydHVhbCB2b2lkIGdldFZlcnRleEF0dHJpYmZ2KFdHQzNEdWludCBpbmRleCwgV0dDM0RlbnVt
IHBuYW1lLCBXR0MzRGZsb2F0KiB2YWx1ZSkgeyBBRERfRkFJTFVSRSgpOyB9CisgICAgdmlydHVh
bCB2b2lkIGdldFZlcnRleEF0dHJpYml2KFdHQzNEdWludCBpbmRleCwgV0dDM0RlbnVtIHBuYW1l
LCBXR0MzRGludCogdmFsdWUpIHsgQUREX0ZBSUxVUkUoKTsgfQorICAgIHZpcnR1YWwgV0dDM0Rz
aXplaXB0ciBnZXRWZXJ0ZXhBdHRyaWJPZmZzZXQoV0dDM0R1aW50IGluZGV4LCBXR0MzRGVudW0g
cG5hbWUpIHsgQUREX0ZBSUxVUkUoKTsgcmV0dXJuIDA7IH0KK307CisKKy8vIFRoaXMgdGVzdCBp
c24ndCB1c2luZyB0aGUgc2FtZSBmaXh0dXJlIGFzIExheWVyUmVuZGVyZXJDaHJvbWl1bVRlc3Qs
IGFuZCB5b3UgY2FuJ3QgbWl4IFRFU1QoKSBhbmQgVEVTVF9GKCkgd2l0aCB0aGUgc2FtZSBuYW1l
LCBoZW5jZSBMUkMyLgorVEVTVChMYXllclJlbmRlcmVyQ2hyb21pdW1UZXN0MiwgaW5pdGlhbGl6
YXRpb25Eb2VzTm90TWFrZVN5bmNocm9ub3VzQ2FsbHMpCit7CisgICAgRmFrZUxheWVyUmVuZGVy
ZXJDaHJvbWl1bUNsaWVudCBtb2NrQ2xpZW50OworICAgIEZha2VMYXllclJlbmRlcmVyQ2hyb21p
dW0gbGF5ZXJSZW5kZXJlckNocm9taXVtKCZtb2NrQ2xpZW50LCBHcmFwaGljc0NvbnRleHQzRFBy
aXZhdGU6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dEZyb21XZWJDb250ZXh0KGFkb3B0UHRyKG5ldyBG
b3JiaWRTeW5jaHJvbm91c0NhbGxDb250ZXh0KSwgR3JhcGhpY3NDb250ZXh0M0Q6OlJlbmRlckRp
cmVjdGx5VG9Ib3N0V2luZG93KSk7CisKKyAgICBFWFBFQ1RfVFJVRShsYXllclJlbmRlcmVyQ2hy
b21pdW0uaW5pdGlhbGl6ZSgpKTsKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>