<?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>80461</bug_id>
          
          <creation_ts>2012-03-06 17:26:54 -0800</creation_ts>
          <short_desc>Base the access to CSSStyleDeclaration on the CSSPropertyID instead of the PropertyName</short_desc>
          <delta_ts>2012-03-08 23:34:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>
          
          <blocked>77271</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>abarth</cc>
    
    <cc>ggaren</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan</cc>
    
    <cc>psolanki</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>572326</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-03-06 17:26:54 -0800</bug_when>
    <thetext>This is the second part of https://bugs.webkit.org/show_bug.cgi?id=77271

Despite the recent improvement, cssPropertyIDForJSCSSPropertyName() remains the bottleneck in accessing CSS Properties.

We should cut that further by basing the PropertySlot on the CSSPropertyID instead of the PropertyName.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572348</commentid>
    <comment_count>1</comment_count>
      <attachid>130495</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-03-06 17:41:42 -0800</bug_when>
    <thetext>Created attachment 130495
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572368</commentid>
    <comment_count>2</comment_count>
      <attachid>130495</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-06 17:55:48 -0800</bug_when>
    <thetext>Comment on attachment 130495
Patch

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        CSSPropertyID as the customIndex, and the value can be accessed direclty when the slot is

typo: directly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572374</commentid>
    <comment_count>3</comment_count>
      <attachid>130495</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-06 17:59:20 -0800</bug_when>
    <thetext>Comment on attachment 130495
Patch

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

&gt; Source/WebCore/css/CSSStyleDeclaration.idl:27
&gt; +        JSCustomGetOwnPropertySlotAndDescriptor,

Where this comes from?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572378</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-03-06 18:02:10 -0800</bug_when>
    <thetext>&gt; &gt; Source/WebCore/css/CSSStyleDeclaration.idl:27
&gt; &gt; +        JSCustomGetOwnPropertySlotAndDescriptor,
&gt; 
&gt; Where this comes from?

http://trac.webkit.org/wiki/WebKitIDL#JSCustomToNativeObject

This is how you can write your own getters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572388</commentid>
    <comment_count>5</comment_count>
      <attachid>130495</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-06 18:06:59 -0800</bug_when>
    <thetext>Comment on attachment 130495
Patch

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

&gt; Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp:333
&gt; +        value = cssPropertyGetterPixelOrPosPrefix(exec, this, propertyInfo.propertyID);

why two slots? Could you just pass propertyInfo.hadPixelOrPosPrefix as parameter?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572389</commentid>
    <comment_count>6</comment_count>
      <attachid>130495</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-06 18:07:34 -0800</bug_when>
    <thetext>Comment on attachment 130495
Patch

Attachment 130495 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11836652</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572390</commentid>
    <comment_count>7</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-06 18:09:14 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; &gt; Source/WebCore/css/CSSStyleDeclaration.idl:27
&gt; &gt; &gt; +        JSCustomGetOwnPropertySlotAndDescriptor,
&gt; &gt; 
&gt; &gt; Where this comes from?
&gt; 
&gt; http://trac.webkit.org/wiki/WebKitIDL#JSCustomToNativeObject
&gt; 
&gt; This is how you can write your own getters.

Tricky thanks for pointing it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572407</commentid>
    <comment_count>8</comment_count>
      <attachid>130495</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-06 18:22:15 -0800</bug_when>
    <thetext>Comment on attachment 130495
Patch

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

&gt;&gt; Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp:333
&gt;&gt; +        value = cssPropertyGetterPixelOrPosPrefix(exec, this, propertyInfo.propertyID);
&gt; 
&gt; why two slots? Could you just pass propertyInfo.hadPixelOrPosPrefix as parameter?

In fact you can&apos;t modify the signature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574226</commentid>
    <comment_count>9</comment_count>
      <attachid>130495</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-03-08 14:39:35 -0800</bug_when>
    <thetext>Comment on attachment 130495
Patch

r=me, fix the build please</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574486</commentid>
    <comment_count>10</comment_count>
      <attachid>130950</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-03-08 18:58:44 -0800</bug_when>
    <thetext>Created attachment 130950
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574668</commentid>
    <comment_count>11</comment_count>
      <attachid>130950</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-08 23:34:15 -0800</bug_when>
    <thetext>Comment on attachment 130950
Patch for landing

Clearing flags on attachment: 130950

Committed r110271: &lt;http://trac.webkit.org/changeset/110271&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574670</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-08 23:34:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130495</attachid>
            <date>2012-03-06 17:41:42 -0800</date>
            <delta_ts>2012-03-08 18:04:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80461-20120306174141.patch</filename>
            <type>text/plain</type>
            <size>7682</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5OTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDRmNGFjYzQ3ZGYxY2M1
OGMyOTYxZDAxMWJlZmYzM2Y5NDUzZTdiZC4uZjQxNTRlNzEzYTEzOGU0NmI3MTY1MWM0NGU5MTE0
MDdlM2E4Yjg2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM3IEBACiAyMDEyLTAzLTA2ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCisgICAgICAgIEJhc2UgdGhlIGFj
Y2VzcyB0byBDU1NTdHlsZURlY2xhcmF0aW9uIG9uIHRoZSBDU1NQcm9wZXJ0eUlEIGluc3RlYWQg
b2YgdGhlIFByb3BlcnR5TmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODA0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBQcmV2aW91c2x5LCB0aGUgYWNjZXMgdG8gQ1NTIFN0eWxlIHByb3BlcnRpZXMg
d2FzIGRvbmUgdGhyb3VnaCBhIE5hbWVkR2V0dGVyLiBUaGlzIGNhdXNlZAorICAgICAgICB0aGUg
KHNsb3cpIG1hcHBpbmcgYmV0d2VlbiBDU1NQcm9wZXJ0eU5hbWUgYW5kIENTU1Byb3BlcnR5SUQg
dG8gYmUgZG9uZSB0d2ljZSBmb3IgZXZlcnkgYWNlc3M6CisgICAgICAgIDEpIGNhbkdldEl0ZW1z
Rm9yTmFtZSgpIHByaW9yIHRvIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBzbG90LgorICAgICAgICAy
KSBuYW1lR2V0dGVyKCkgY2FsbGVkIGZyb20gdGhlIHNsb3Qgd2l0aCBDU1NQcm9wZXJ0eU5hbWUg
dG8gZ2V0IHRoZSBhY3R1YWwgdmFsdWUuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjaGFuZ2VzIHRo
ZSBhY2Nlc3MgdG8gYmUgYmFzZWQgb24gQ1NTUHJvcGVydHlJRC4gVGhlIHNsb3QgaXMgZGVmaW5l
ZCB3aXRoIHRoZQorICAgICAgICBDU1NQcm9wZXJ0eUlEIGFzIHRoZSBjdXN0b21JbmRleCwgYW5k
IHRoZSB2YWx1ZSBjYW4gYmUgYWNjZXNzZWQgZGlyZWNsdHkgd2hlbiB0aGUgc2xvdCBpcworICAg
ICAgICBjYWxsZWQuCisKKyAgICAgICAgVG8gaGFuZGxlIHRoZSBkaWZmZXJlbmNlcyBjcmVhdGUg
YnkgaGFkUGl4ZWxPclBvc1ByZWZpeCwgdHdvIG5lYXJseSBpZGVudGljYWwgY2FsbGJhY2sgYXJl
IGRlZmluZWQsCisgICAgICAgIG9uZSBmb3IgaGFkUGl4ZWxPclBvc1ByZWZpeCwgdGhlIG90aGVy
IGZvciAhaGFkUGl4ZWxPclBvc1ByZWZpeC4KKworICAgICAgICBUaGUgcGVyZm9ybWFuY2UgZ2Fp
biBpcyBhYm91dCAxOSUgd2hlbiBhY2Nlc3NpbmcgQ1NTIHByb3BlcnRpZXMuCisKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Z2V0UHJvcGVydHlWYWx1ZUZhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OmNz
c1Byb3BlcnR5R2V0dGVyUGl4ZWxPclBvc1ByZWZpeCk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OmNzc1Byb3BlcnR5R2V0dGVyUGl4ZWxPclBvc1ByZWZpeENhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6OmNzc1Byb3BlcnR5R2V0dGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OmNzc1Byb3BlcnR5R2V0dGVyQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6SlNDU1NT
dHlsZURlY2xhcmF0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3REZWxlZ2F0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpKU0NTU1N0eWxlRGVjbGFyYXRpb246OmdldE93blByb3BlcnR5RGVzY3JpcHRvckRl
bGVnYXRlKToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGw6CisKKzIwMTIt
MDMtMDYgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKICAgICAgICAg
W01hY10gVXBkYXRlIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIGZvciBpT1MKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDM1CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0
b20uY3BwCmluZGV4IDQ3ZTQ0OTA1YjIyNzA3MjkxY2NkNjI4YTVmMDA4Zjc3YTA3NzRjMTYuLmFh
YTExNzE3MGQ4ZmZkMzRiNTAxNGI1NWMxZTljNDIxYjBkZDM4NTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9t
LmNwcApAQCAtMjY2LDM3ICsyNjYsNzUgQEAgc3RhdGljIENTU1Byb3BlcnR5SW5mbyBjc3NQcm9w
ZXJ0eUlERm9ySlNDU1NQcm9wZXJ0eU5hbWUoY29uc3QgSWRlbnRpZmllciYgcHJvcGUKICAgICBy
ZXR1cm4gcHJvcGVydHlJbmZvOwogfQogCi1zdGF0aWMgYm9vbCBpc0NTU1Byb3BlcnR5TmFtZShj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eUlkZW50aWZpZXIpCitzdGF0aWMgaW5saW5lIEpTVmFs
dWUgZ2V0UHJvcGVydHlWYWx1ZUZhbGxiYWNrKEV4ZWNTdGF0ZSogZXhlYywgSlNDU1NTdHlsZURl
Y2xhcmF0aW9uKiB0aGlzT2JqLCB1bnNpZ25lZCBpbmRleCkKIHsKLSAgICBDU1NQcm9wZXJ0eUlu
Zm8gcHJvcGVydHlJbmZvID0gY3NzUHJvcGVydHlJREZvckpTQ1NTUHJvcGVydHlOYW1lKHByb3Bl
cnR5SWRlbnRpZmllcik7Ci0gICAgcmV0dXJuIHByb3BlcnR5SW5mby5wcm9wZXJ0eUlEOwotfQot
Ci1ib29sIEpTQ1NTU3R5bGVEZWNsYXJhdGlvbjo6Y2FuR2V0SXRlbXNGb3JOYW1lKEV4ZWNTdGF0
ZSosIENTU1N0eWxlRGVjbGFyYXRpb24qLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUp
Ci17Ci0gICAgcmV0dXJuIGlzQ1NTUHJvcGVydHlOYW1lKHByb3BlcnR5TmFtZSk7CisgICAgLy8g
SWYgdGhlIHByb3BlcnR5IGlzIGEgc2hvcnRoYW5kIHByb3BlcnR5IChzdWNoIGFzICJwYWRkaW5n
IiksCisgICAgLy8gaXQgY2FuIG9ubHkgYmUgYWNjZXNzZWQgdXNpbmcgZ2V0UHJvcGVydHlWYWx1
ZS4KKyAgICByZXR1cm4ganNTdHJpbmcoZXhlYywgdGhpc09iai0+aW1wbCgpLT5nZXRQcm9wZXJ0
eVZhbHVlSW50ZXJuYWwoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4oaW5kZXgpKSk7CiB9CiAK
LUpTVmFsdWUgSlNDU1NTdHlsZURlY2xhcmF0aW9uOjpuYW1lR2V0dGVyKEV4ZWNTdGF0ZSogZXhl
YywgSlNWYWx1ZSBzbG90QmFzZSwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQorc3Rh
dGljIGlubGluZSBKU1ZhbHVlIGNzc1Byb3BlcnR5R2V0dGVyUGl4ZWxPclBvc1ByZWZpeChFeGVj
U3RhdGUqIGV4ZWMsIEpTQ1NTU3R5bGVEZWNsYXJhdGlvbiogdGhpc09iaiwgdW5zaWduZWQgcHJv
cGVydHlJRCkKIHsKLSAgICBKU0NTU1N0eWxlRGVjbGFyYXRpb24qIHRoaXNPYmogPSBzdGF0aWNf
Y2FzdDxKU0NTU1N0eWxlRGVjbGFyYXRpb24qPihhc09iamVjdChzbG90QmFzZSkpOwotCiAgICAg
Ly8gU2V0IHVwIHBpeGVsT3JQb3MgYm9vbGVhbiB0byBoYW5kbGUgdGhlIGZhY3QgdGhhdAogICAg
IC8vIHBpeGVsVG9wIHJldHVybnMgIkNTUyBUb3AiIGFzIG51bWJlciB2YWx1ZSBpbiB1bml0IHBp
eGVscwogICAgIC8vIHBvc1RvcCByZXR1cm5zICJDU1MgdG9wIiBhcyBudW1iZXIgdmFsdWUgaW4g
dW5pdCBwaXhlbHMgX2lmXyBpdHMgYQogICAgIC8vIHBvc2l0aW9uZWQgZWxlbWVudC4gaWYgaXQg
aXMgbm90IGEgcG9zaXRpb25lZCBlbGVtZW50LCByZXR1cm4gMAogICAgIC8vIGZyb20gTVNJRSBk
b2N1bWVudGF0aW9uIEZJWE1FOiBJTVBMRU1FTlQgVEhBVCAoRGlyaykKLSAgICBDU1NQcm9wZXJ0
eUluZm8gcHJvcGVydHlJbmZvID0gY3NzUHJvcGVydHlJREZvckpTQ1NTUHJvcGVydHlOYW1lKHBy
b3BlcnR5TmFtZSk7Ci0gICAgUmVmUHRyPENTU1ZhbHVlPiB2ID0gdGhpc09iai0+aW1wbCgpLT5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlSW50ZXJuYWwoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJv
cGVydHlJbmZvLnByb3BlcnR5SUQpKTsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHYgPSB0aGlzT2Jq
LT5pbXBsKCktPmdldFByb3BlcnR5Q1NTVmFsdWVJbnRlcm5hbChzdGF0aWNfY2FzdDxDU1NQcm9w
ZXJ0eUlEPihwcm9wZXJ0eUlEKSk7CiAgICAgaWYgKHYpIHsKLSAgICAgICAgaWYgKHByb3BlcnR5
SW5mby5oYWRQaXhlbE9yUG9zUHJlZml4ICYmIHYtPmlzUHJpbWl0aXZlVmFsdWUoKSkKKyAgICAg
ICAgaWYgKHYtPmlzUHJpbWl0aXZlVmFsdWUoKSkKICAgICAgICAgICAgIHJldHVybiBqc051bWJl
cihzdGF0aWNfcG9pbnRlcl9jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2KS0+Z2V0RmxvYXRWYWx1
ZShDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYKSk7CiAgICAgICAgIHJldHVybiBqc1N0cmluZ09y
TnVsbChleGVjLCB2LT5jc3NUZXh0KCkpOwogICAgIH0KIAotICAgIC8vIElmIHRoZSBwcm9wZXJ0
eSBpcyBhIHNob3J0aGFuZCBwcm9wZXJ0eSAoc3VjaCBhcyAicGFkZGluZyIpLCAKLSAgICAvLyBp
dCBjYW4gb25seSBiZSBhY2Nlc3NlZCB1c2luZyBnZXRQcm9wZXJ0eVZhbHVlLgotICAgIHJldHVy
biBqc1N0cmluZyhleGVjLCB0aGlzT2JqLT5pbXBsKCktPmdldFByb3BlcnR5VmFsdWVJbnRlcm5h
bChzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihwcm9wZXJ0eUluZm8ucHJvcGVydHlJRCkpKTsK
KyAgICByZXR1cm4gZ2V0UHJvcGVydHlWYWx1ZUZhbGxiYWNrKGV4ZWMsIHRoaXNPYmosIHByb3Bl
cnR5SUQpOworfQorCitzdGF0aWMgSlNWYWx1ZSBjc3NQcm9wZXJ0eUdldHRlclBpeGVsT3JQb3NQ
cmVmaXhDYWxsYmFjayhFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgc2xvdEJhc2UsIHVuc2lnbmVk
IHByb3BlcnR5SUQpCit7CisgICAgcmV0dXJuIGNzc1Byb3BlcnR5R2V0dGVyUGl4ZWxPclBvc1By
ZWZpeChleGVjLCBzdGF0aWNfY2FzdDxKU0NTU1N0eWxlRGVjbGFyYXRpb24qPihhc09iamVjdChz
bG90QmFzZSkpLCBwcm9wZXJ0eUlEKTsKK30KKworc3RhdGljIGlubGluZSBKU1ZhbHVlIGNzc1By
b3BlcnR5R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNDU1NTdHlsZURlY2xhcmF0aW9uKiB0aGlz
T2JqLCB1bnNpZ25lZCBwcm9wZXJ0eUlEKQoreworICAgIFJlZlB0cjxDU1NWYWx1ZT4gdiA9IHRo
aXNPYmotPmltcGwoKS0+Z2V0UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKHN0YXRpY19jYXN0PENT
U1Byb3BlcnR5SUQ+KHByb3BlcnR5SUQpKTsKKyAgICBpZiAodikKKyAgICAgICAgcmV0dXJuIGpz
U3RyaW5nT3JOdWxsKGV4ZWMsIHYtPmNzc1RleHQoKSk7CisKKyAgICByZXR1cm4gZ2V0UHJvcGVy
dHlWYWx1ZUZhbGxiYWNrKGV4ZWMsIHRoaXNPYmosIHByb3BlcnR5SUQpOworfQorCitzdGF0aWMg
SlNWYWx1ZSBjc3NQcm9wZXJ0eUdldHRlckNhbGxiYWNrKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1
ZSBzbG90QmFzZSwgdW5zaWduZWQgcHJvcGVydHlJRCkKK3sKKyAgICByZXR1cm4gY3NzUHJvcGVy
dHlHZXR0ZXIoZXhlYywgc3RhdGljX2Nhc3Q8SlNDU1NTdHlsZURlY2xhcmF0aW9uKj4oYXNPYmpl
Y3Qoc2xvdEJhc2UpKSwgcHJvcGVydHlJRCk7Cit9CisKK2Jvb2wgSlNDU1NTdHlsZURlY2xhcmF0
aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3REZWxlZ2F0ZShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eUlkZW50aWZpZXIsIFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyAgICBDU1NQ
cm9wZXJ0eUluZm8gcHJvcGVydHlJbmZvID0gY3NzUHJvcGVydHlJREZvckpTQ1NTUHJvcGVydHlO
YW1lKHByb3BlcnR5SWRlbnRpZmllcik7CisgICAgaWYgKCFwcm9wZXJ0eUluZm8ucHJvcGVydHlJ
RCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKHByb3BlcnR5SW5mby5oYWRQaXhl
bE9yUG9zUHJlZml4KQorICAgICAgICBzbG90LnNldEN1c3RvbUluZGV4KHRoaXMsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihwcm9wZXJ0eUluZm8ucHJvcGVydHlJRCksIGNzc1Byb3BlcnR5R2V0dGVy
UGl4ZWxPclBvc1ByZWZpeENhbGxiYWNrKTsKKyAgICBlbHNlCisgICAgICAgIHNsb3Quc2V0Q3Vz
dG9tSW5kZXgodGhpcywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHByb3BlcnR5SW5mby5wcm9wZXJ0
eUlEKSwgY3NzUHJvcGVydHlHZXR0ZXJDYWxsYmFjayk7CisgICAgcmV0dXJuIHRydWU7Cit9CisK
K2Jvb2wgSlNDU1NTdHlsZURlY2xhcmF0aW9uOjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JEZWxl
Z2F0ZShKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0
eUlkZW50aWZpZXIsIEpTQzo6UHJvcGVydHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQoreworICAg
IENTU1Byb3BlcnR5SW5mbyBwcm9wZXJ0eUluZm8gPSBjc3NQcm9wZXJ0eUlERm9ySlNDU1NQcm9w
ZXJ0eU5hbWUocHJvcGVydHlJZGVudGlmaWVyKTsKKyAgICBpZiAoIXByb3BlcnR5SW5mby5wcm9w
ZXJ0eUlEKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBKU1ZhbHVlIHZhbHVlOworICAg
IGlmIChwcm9wZXJ0eUluZm8uaGFkUGl4ZWxPclBvc1ByZWZpeCkKKyAgICAgICAgdmFsdWUgPSBj
c3NQcm9wZXJ0eUdldHRlclBpeGVsT3JQb3NQcmVmaXgoZXhlYywgdGhpcywgcHJvcGVydHlJbmZv
LnByb3BlcnR5SUQpOworICAgIGVsc2UKKyAgICAgICAgdmFsdWUgPSBjc3NQcm9wZXJ0eUdldHRl
cihleGVjLCB0aGlzLCBwcm9wZXJ0eUluZm8ucHJvcGVydHlJRCk7CisgICAgZGVzY3JpcHRvci5z
ZXREZXNjcmlwdG9yKHZhbHVlLCBSZWFkT25seSB8IERvbnREZWxldGUgfCBEb250RW51bSk7Cisg
ICAgcmV0dXJuIHRydWU7CiB9CiAKIGJvb2wgSlNDU1NTdHlsZURlY2xhcmF0aW9uOjpwdXREZWxl
Z2F0ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNW
YWx1ZSB2YWx1ZSwgUHV0UHJvcGVydHlTbG90JikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHls
ZURlY2xhcmF0aW9uLmlkbAppbmRleCA4YmU2N2U0YTZmOWZkNjkwNzk3MDA2MzhlN2YzYzlhMDNm
NzY1YWI0Li45ODQ2YzU0NTg1YTkzNTAwZjc1NDdmZjgxYTg0OTgzNzk2NjI0M2MyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaWRsCkBAIC0yNCw4ICsyNCwxMSBA
QCBtb2R1bGUgY3NzIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBKU0N1c3RvbU1hcmtGdW5j
dGlvbiwKICAgICAgICAgSlNHZW5lcmF0ZUlzUmVhY2hhYmxlLAorICAgICAgICBKU0N1c3RvbUdl
dE93blByb3BlcnR5U2xvdEFuZERlc2NyaXB0b3IsCiAgICAgICAgIEN1c3RvbU5hbWVkU2V0dGVy
LAorI2lmIGRlZmluZWQoVjhfQklORElORykgJiYgVjhfQklORElORwogICAgICAgICBOYW1lZEdl
dHRlciwKKyNlbmRpZgogICAgICAgICBJbmRleGVkR2V0dGVyLAogICAgICAgICBDdXN0b21FbnVt
ZXJhdGVQcm9wZXJ0eSwKICAgICAgICAgVjhEZXBlbmRlbnRMaWZldGltZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130950</attachid>
            <date>2012-03-08 18:58:44 -0800</date>
            <delta_ts>2012-03-08 23:34:15 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-80461-20120308185843.patch</filename>
            <type>text/plain</type>
            <size>7483</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDI0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEyLTAzLTA4ICBCZW5qYW1p
biBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIEJhc2UgdGhlIGFjY2Vz
cyB0byBDU1NTdHlsZURlY2xhcmF0aW9uIG9uIHRoZSBDU1NQcm9wZXJ0eUlEIGluc3RlYWQgb2Yg
dGhlIFByb3BlcnR5TmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODA0NjEKKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KKwor
ICAgICAgICBQcmV2aW91c2x5LCB0aGUgYWNjZXMgdG8gQ1NTIFN0eWxlIHByb3BlcnRpZXMgd2Fz
IGRvbmUgdGhyb3VnaCBhIE5hbWVkR2V0dGVyLiBUaGlzIGNhdXNlZAorICAgICAgICB0aGUgKHNs
b3cpIG1hcHBpbmcgYmV0d2VlbiBDU1NQcm9wZXJ0eU5hbWUgYW5kIENTU1Byb3BlcnR5SUQgdG8g
YmUgZG9uZSB0d2ljZSBmb3IgZXZlcnkgYWNlc3M6CisgICAgICAgIDEpIGNhbkdldEl0ZW1zRm9y
TmFtZSgpIHByaW9yIHRvIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBzbG90LgorICAgICAgICAyKSBu
YW1lR2V0dGVyKCkgY2FsbGVkIGZyb20gdGhlIHNsb3Qgd2l0aCBDU1NQcm9wZXJ0eU5hbWUgdG8g
Z2V0IHRoZSBhY3R1YWwgdmFsdWUuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBh
Y2Nlc3MgdG8gYmUgYmFzZWQgb24gQ1NTUHJvcGVydHlJRC4gVGhlIHNsb3QgaXMgZGVmaW5lZCB3
aXRoIHRoZQorICAgICAgICBDU1NQcm9wZXJ0eUlEIGFzIHRoZSBjdXN0b21JbmRleCwgYW5kIHRo
ZSB2YWx1ZSBjYW4gYmUgYWNjZXNzZWQgZGlyZWN0bHkgd2hlbiB0aGUgc2xvdCBpcworICAgICAg
ICBjYWxsZWQuCisKKyAgICAgICAgVG8gaGFuZGxlIHRoZSBkaWZmZXJlbmNlcyBjcmVhdGUgYnkg
aGFkUGl4ZWxPclBvc1ByZWZpeCwgdHdvIG5lYXJseSBpZGVudGljYWwgY2FsbGJhY2sgYXJlIGRl
ZmluZWQsCisgICAgICAgIG9uZSBmb3IgaGFkUGl4ZWxPclBvc1ByZWZpeCwgdGhlIG90aGVyIGZv
ciAhaGFkUGl4ZWxPclBvc1ByZWZpeC4KKworICAgICAgICBUaGUgcGVyZm9ybWFuY2UgZ2FpbiBp
cyBhYm91dCAxOSUgd2hlbiBhY2Nlc3NpbmcgQ1NTIHByb3BlcnRpZXMuCisKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Z2V0UHJvcGVydHlWYWx1ZUZhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OmNzc1By
b3BlcnR5R2V0dGVyUGl4ZWxPclBvc1ByZWZpeCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OmNzc1Byb3BlcnR5R2V0dGVyUGl4ZWxPclBvc1ByZWZpeENhbGxiYWNrKToK
KyAgICAgICAgKFdlYkNvcmU6OmNzc1Byb3BlcnR5R2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OmNzc1Byb3BlcnR5R2V0dGVyQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6SlNDU1NTdHls
ZURlY2xhcmF0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3REZWxlZ2F0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpKU0NTU1N0eWxlRGVjbGFyYXRpb246OmdldE93blByb3BlcnR5RGVzY3JpcHRvckRlbGVn
YXRlKToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGw6CisKIDIwMTItMDMt
MDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIxMDUzOTYpOiBEcmFnZ2luZyBhbiBpV29yayBkb2N1bWVudCBpbnRvIGljbG91ZC5jb20gb3Bl
bnMgaXQgaW4gdGhlIE1hYyBhcHAgaW5zdGVhZCBvZiB1cGxvYWRpbmcgaXQgdG8gaWNsb3VkLmNv
bQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NTdHlsZURlY2xhcmF0aW9u
Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NT
U1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwCShyZXZpc2lvbiAxMTAyNDQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNjYsMzcgKzI2Niw3NSBAQCBzdGF0aWMgQ1NTUHJvcGVydHlJbmZvIGNz
c1Byb3BlcnR5SURGb3JKCiAgICAgcmV0dXJuIHByb3BlcnR5SW5mbzsKIH0KIAotc3RhdGljIGJv
b2wgaXNDU1NQcm9wZXJ0eU5hbWUoY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlJZGVudGlmaWVy
KQorc3RhdGljIGlubGluZSBKU1ZhbHVlIGdldFByb3BlcnR5VmFsdWVGYWxsYmFjayhFeGVjU3Rh
dGUqIGV4ZWMsIEpTQ1NTU3R5bGVEZWNsYXJhdGlvbiogdGhpc09iaiwgdW5zaWduZWQgaW5kZXgp
CiB7Ci0gICAgQ1NTUHJvcGVydHlJbmZvIHByb3BlcnR5SW5mbyA9IGNzc1Byb3BlcnR5SURGb3JK
U0NTU1Byb3BlcnR5TmFtZShwcm9wZXJ0eUlkZW50aWZpZXIpOwotICAgIHJldHVybiBwcm9wZXJ0
eUluZm8ucHJvcGVydHlJRDsKLX0KLQotYm9vbCBKU0NTU1N0eWxlRGVjbGFyYXRpb246OmNhbkdl
dEl0ZW1zRm9yTmFtZShFeGVjU3RhdGUqLCBDU1NTdHlsZURlY2xhcmF0aW9uKiwgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHlOYW1lKQotewotICAgIHJldHVybiBpc0NTU1Byb3BlcnR5TmFtZShw
cm9wZXJ0eU5hbWUpOworICAgIC8vIElmIHRoZSBwcm9wZXJ0eSBpcyBhIHNob3J0aGFuZCBwcm9w
ZXJ0eSAoc3VjaCBhcyAicGFkZGluZyIpLAorICAgIC8vIGl0IGNhbiBvbmx5IGJlIGFjY2Vzc2Vk
IHVzaW5nIGdldFByb3BlcnR5VmFsdWUuCisgICAgcmV0dXJuIGpzU3RyaW5nKGV4ZWMsIHRoaXNP
YmotPmltcGwoKS0+Z2V0UHJvcGVydHlWYWx1ZUludGVybmFsKHN0YXRpY19jYXN0PENTU1Byb3Bl
cnR5SUQ+KGluZGV4KSkpOwogfQogCi1KU1ZhbHVlIEpTQ1NTU3R5bGVEZWNsYXJhdGlvbjo6bmFt
ZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgc2xvdEJhc2UsIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5TmFtZSkKK3N0YXRpYyBpbmxpbmUgSlNWYWx1ZSBjc3NQcm9wZXJ0eUdldHRl
clBpeGVsT3JQb3NQcmVmaXgoRXhlY1N0YXRlKiBleGVjLCBKU0NTU1N0eWxlRGVjbGFyYXRpb24q
IHRoaXNPYmosIHVuc2lnbmVkIHByb3BlcnR5SUQpCiB7Ci0gICAgSlNDU1NTdHlsZURlY2xhcmF0
aW9uKiB0aGlzT2JqID0gc3RhdGljX2Nhc3Q8SlNDU1NTdHlsZURlY2xhcmF0aW9uKj4oYXNPYmpl
Y3Qoc2xvdEJhc2UpKTsKLQogICAgIC8vIFNldCB1cCBwaXhlbE9yUG9zIGJvb2xlYW4gdG8gaGFu
ZGxlIHRoZSBmYWN0IHRoYXQKICAgICAvLyBwaXhlbFRvcCByZXR1cm5zICJDU1MgVG9wIiBhcyBu
dW1iZXIgdmFsdWUgaW4gdW5pdCBwaXhlbHMKICAgICAvLyBwb3NUb3AgcmV0dXJucyAiQ1NTIHRv
cCIgYXMgbnVtYmVyIHZhbHVlIGluIHVuaXQgcGl4ZWxzIF9pZl8gaXRzIGEKICAgICAvLyBwb3Np
dGlvbmVkIGVsZW1lbnQuIGlmIGl0IGlzIG5vdCBhIHBvc2l0aW9uZWQgZWxlbWVudCwgcmV0dXJu
IDAKICAgICAvLyBmcm9tIE1TSUUgZG9jdW1lbnRhdGlvbiBGSVhNRTogSU1QTEVNRU5UIFRIQVQg
KERpcmspCi0gICAgQ1NTUHJvcGVydHlJbmZvIHByb3BlcnR5SW5mbyA9IGNzc1Byb3BlcnR5SURG
b3JKU0NTU1Byb3BlcnR5TmFtZShwcm9wZXJ0eU5hbWUpOwotICAgIFJlZlB0cjxDU1NWYWx1ZT4g
diA9IHRoaXNPYmotPmltcGwoKS0+Z2V0UHJvcGVydHlDU1NWYWx1ZUludGVybmFsKHN0YXRpY19j
YXN0PENTU1Byb3BlcnR5SUQ+KHByb3BlcnR5SW5mby5wcm9wZXJ0eUlEKSk7CisgICAgUmVmUHRy
PENTU1ZhbHVlPiB2ID0gdGhpc09iai0+aW1wbCgpLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlSW50ZXJu
YWwoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJvcGVydHlJRCkpOwogICAgIGlmICh2KSB7
Ci0gICAgICAgIGlmIChwcm9wZXJ0eUluZm8uaGFkUGl4ZWxPclBvc1ByZWZpeCAmJiB2LT5pc1By
aW1pdGl2ZVZhbHVlKCkpCisgICAgICAgIGlmICh2LT5pc1ByaW1pdGl2ZVZhbHVlKCkpCiAgICAg
ICAgICAgICByZXR1cm4ganNOdW1iZXIoc3RhdGljX3BvaW50ZXJfY2FzdDxDU1NQcmltaXRpdmVW
YWx1ZT4odiktPmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWCkpOwogICAg
ICAgICByZXR1cm4ganNTdHJpbmdPck51bGwoZXhlYywgdi0+Y3NzVGV4dCgpKTsKICAgICB9CiAK
LSAgICAvLyBJZiB0aGUgcHJvcGVydHkgaXMgYSBzaG9ydGhhbmQgcHJvcGVydHkgKHN1Y2ggYXMg
InBhZGRpbmciKSwgCi0gICAgLy8gaXQgY2FuIG9ubHkgYmUgYWNjZXNzZWQgdXNpbmcgZ2V0UHJv
cGVydHlWYWx1ZS4KLSAgICByZXR1cm4ganNTdHJpbmcoZXhlYywgdGhpc09iai0+aW1wbCgpLT5n
ZXRQcm9wZXJ0eVZhbHVlSW50ZXJuYWwoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJvcGVy
dHlJbmZvLnByb3BlcnR5SUQpKSk7CisgICAgcmV0dXJuIGdldFByb3BlcnR5VmFsdWVGYWxsYmFj
ayhleGVjLCB0aGlzT2JqLCBwcm9wZXJ0eUlEKTsKK30KKworc3RhdGljIEpTVmFsdWUgY3NzUHJv
cGVydHlHZXR0ZXJQaXhlbE9yUG9zUHJlZml4Q2FsbGJhY2soRXhlY1N0YXRlKiBleGVjLCBKU1Zh
bHVlIHNsb3RCYXNlLCB1bnNpZ25lZCBwcm9wZXJ0eUlEKQoreworICAgIHJldHVybiBjc3NQcm9w
ZXJ0eUdldHRlclBpeGVsT3JQb3NQcmVmaXgoZXhlYywgc3RhdGljX2Nhc3Q8SlNDU1NTdHlsZURl
Y2xhcmF0aW9uKj4oYXNPYmplY3Qoc2xvdEJhc2UpKSwgcHJvcGVydHlJRCk7Cit9CisKK3N0YXRp
YyBpbmxpbmUgSlNWYWx1ZSBjc3NQcm9wZXJ0eUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEpTQ1NT
U3R5bGVEZWNsYXJhdGlvbiogdGhpc09iaiwgdW5zaWduZWQgcHJvcGVydHlJRCkKK3sKKyAgICBS
ZWZQdHI8Q1NTVmFsdWU+IHYgPSB0aGlzT2JqLT5pbXBsKCktPmdldFByb3BlcnR5Q1NTVmFsdWVJ
bnRlcm5hbChzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihwcm9wZXJ0eUlEKSk7CisgICAgaWYg
KHYpCisgICAgICAgIHJldHVybiBqc1N0cmluZ09yTnVsbChleGVjLCB2LT5jc3NUZXh0KCkpOwor
CisgICAgcmV0dXJuIGdldFByb3BlcnR5VmFsdWVGYWxsYmFjayhleGVjLCB0aGlzT2JqLCBwcm9w
ZXJ0eUlEKTsKK30KKworc3RhdGljIEpTVmFsdWUgY3NzUHJvcGVydHlHZXR0ZXJDYWxsYmFjayhF
eGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgc2xvdEJhc2UsIHVuc2lnbmVkIHByb3BlcnR5SUQpCit7
CisgICAgcmV0dXJuIGNzc1Byb3BlcnR5R2V0dGVyKGV4ZWMsIHN0YXRpY19jYXN0PEpTQ1NTU3R5
bGVEZWNsYXJhdGlvbio+KGFzT2JqZWN0KHNsb3RCYXNlKSksIHByb3BlcnR5SUQpOworfQorCiti
b29sIEpTQ1NTU3R5bGVEZWNsYXJhdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90RGVsZWdhdGUoRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlJZGVudGlmaWVyLCBQcm9wZXJ0eVNs
b3QmIHNsb3QpCit7CisgICAgQ1NTUHJvcGVydHlJbmZvIHByb3BlcnR5SW5mbyA9IGNzc1Byb3Bl
cnR5SURGb3JKU0NTU1Byb3BlcnR5TmFtZShwcm9wZXJ0eUlkZW50aWZpZXIpOworICAgIGlmICgh
cHJvcGVydHlJbmZvLnByb3BlcnR5SUQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlm
IChwcm9wZXJ0eUluZm8uaGFkUGl4ZWxPclBvc1ByZWZpeCkKKyAgICAgICAgc2xvdC5zZXRDdXN0
b21JbmRleCh0aGlzLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocHJvcGVydHlJbmZvLnByb3BlcnR5
SUQpLCBjc3NQcm9wZXJ0eUdldHRlclBpeGVsT3JQb3NQcmVmaXhDYWxsYmFjayk7CisgICAgZWxz
ZQorICAgICAgICBzbG90LnNldEN1c3RvbUluZGV4KHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVk
Pihwcm9wZXJ0eUluZm8ucHJvcGVydHlJRCksIGNzc1Byb3BlcnR5R2V0dGVyQ2FsbGJhY2spOwor
ICAgIHJldHVybiB0cnVlOworfQorCitib29sIEpTQ1NTU3R5bGVEZWNsYXJhdGlvbjo6Z2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yRGVsZWdhdGUoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYgcHJvcGVydHlJZGVudGlmaWVyLCBKU0M6OlByb3BlcnR5RGVzY3JpcHRv
ciYgZGVzY3JpcHRvcikKK3sKKyAgICBDU1NQcm9wZXJ0eUluZm8gcHJvcGVydHlJbmZvID0gY3Nz
UHJvcGVydHlJREZvckpTQ1NTUHJvcGVydHlOYW1lKHByb3BlcnR5SWRlbnRpZmllcik7CisgICAg
aWYgKCFwcm9wZXJ0eUluZm8ucHJvcGVydHlJRCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgSlNWYWx1ZSB2YWx1ZTsKKyAgICBpZiAocHJvcGVydHlJbmZvLmhhZFBpeGVsT3JQb3NQcmVm
aXgpCisgICAgICAgIHZhbHVlID0gY3NzUHJvcGVydHlHZXR0ZXJQaXhlbE9yUG9zUHJlZml4KGV4
ZWMsIHRoaXMsIHByb3BlcnR5SW5mby5wcm9wZXJ0eUlEKTsKKyAgICBlbHNlCisgICAgICAgIHZh
bHVlID0gY3NzUHJvcGVydHlHZXR0ZXIoZXhlYywgdGhpcywgcHJvcGVydHlJbmZvLnByb3BlcnR5
SUQpOworICAgIGRlc2NyaXB0b3Iuc2V0RGVzY3JpcHRvcih2YWx1ZSwgUmVhZE9ubHkgfCBEb250
RGVsZXRlIHwgRG9udEVudW0pOworICAgIHJldHVybiB0cnVlOwogfQogCiBib29sIEpTQ1NTU3R5
bGVEZWNsYXJhdGlvbjo6cHV0RGVsZWdhdGUoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaWRsCShyZXZpc2lvbiAx
MTAyNDQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI0LDggKzI0LDExIEBAIG1vZHVsZSBjc3MgewogICAgIGludGVyZmFj
ZSBbCiAgICAgICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgICAgICBKU0dlbmVyYXRlSXNS
ZWFjaGFibGUsCisgICAgICAgIEpTQ3VzdG9tR2V0T3duUHJvcGVydHlTbG90QW5kRGVzY3JpcHRv
ciwKICAgICAgICAgQ3VzdG9tTmFtZWRTZXR0ZXIsCisjaWYgZGVmaW5lZChWOF9CSU5ESU5HKSAm
JiBWOF9CSU5ESU5HCiAgICAgICAgIE5hbWVkR2V0dGVyLAorI2VuZGlmCiAgICAgICAgIEluZGV4
ZWRHZXR0ZXIsCiAgICAgICAgIEN1c3RvbUVudW1lcmF0ZVByb3BlcnR5LAogICAgICAgICBWOERl
cGVuZGVudExpZmV0aW1lCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>