<?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>78049</bug_id>
          
          <creation_ts>2012-02-07 15:10:38 -0800</creation_ts>
          <short_desc>[BlackBerry] Upstream BlackBerry WebCoreSupport FrameNetworkingContextBlackBerry and IconDatabaseClientBlackBerry classes</short_desc>
          <delta_ts>2012-02-09 12:38:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>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>73144</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Jacky Jiang">jkjiang</reporter>
          <assigned_to name="Jacky Jiang">jkjiang</assigned_to>
          <cc>dbates</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>551443</commentid>
    <comment_count>0</comment_count>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-02-07 15:10:38 -0800</bug_when>
    <thetext>Upstream BlackBerry WebCoreSupport FrameNetworkingContextBlackBerry and IconDatabaseClientBlackBerry classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551490</commentid>
    <comment_count>1</comment_count>
      <attachid>125946</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-02-07 15:47:03 -0800</bug_when>
    <thetext>Created attachment 125946
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551498</commentid>
    <comment_count>2</comment_count>
      <attachid>125946</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-02-07 15:52:40 -0800</bug_when>
    <thetext>Comment on attachment 125946
Patch

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

Some small nits.

&gt; Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp:32
&gt; +        instance = new IconDatabaseClientBlackBerry();

Can you use DEFINE_STATIC_LOCAL?

&gt; Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp:60
&gt; +    return (m_initState == InitializeSucceeded);

No need for parentheses.

&gt; Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.h:40
&gt; +public:

Better move the public section up above the private, this is the standard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552588</commentid>
    <comment_count>3</comment_count>
      <attachid>126178</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-02-08 16:09:13 -0800</bug_when>
    <thetext>Created attachment 126178
Patch

Update the patch except the DEFINE_STATIC_LOCAL which doesn&apos;t seem to work well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552593</commentid>
    <comment_count>4</comment_count>
      <attachid>126178</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-02-08 16:11:55 -0800</bug_when>
    <thetext>Comment on attachment 126178
Patch

Typo in commit log, will update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552599</commentid>
    <comment_count>5</comment_count>
      <attachid>126180</attachid>
    <who name="Jacky Jiang">jkjiang</who>
    <bug_when>2012-02-08 16:17:29 -0800</bug_when>
    <thetext>Created attachment 126180
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552717</commentid>
    <comment_count>6</comment_count>
      <attachid>126180</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-02-08 18:05:37 -0800</bug_when>
    <thetext>Comment on attachment 126180
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552881</commentid>
    <comment_count>7</comment_count>
      <attachid>126180</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-08 23:02:20 -0800</bug_when>
    <thetext>Comment on attachment 126180
Patch

Clearing flags on attachment: 126180

Committed r107183: &lt;http://trac.webkit.org/changeset/107183&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552882</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-08 23:02:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125946</attachid>
            <date>2012-02-07 15:47:03 -0800</date>
            <delta_ts>2012-02-08 16:09:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78049-20120207184641.patch</filename>
            <type>text/plain</type>
            <size>9412</size>
            <attacher name="Jacky Jiang">jkjiang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2OTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4MjViNTYxZmZlM2YwZDY0
MmNhZWE0ZTA4NGY3YjIzNDY3ZjZlYTIuLmYxNmQzODliY2U2MDgzNjBlOTNhZTRkNzI2OWQxZDJj
ODViMzA5NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDItMDcgIEphY2t5IEpp
YW5nICA8emhhamlhbmdAcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gVXBzdHJlYW0g
QmxhY2tCZXJyeSBXZWJDb3JlU3VwcG9ydCBGcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJy
eSBhbmQgSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeSBjbGFzc2VzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA0OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluaXRpYWwgdXBzdHJlYW0sIG5vIG5l
dyB0ZXN0LgorCisgICAgICAgICogYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdv
cmtpbmdDb250ZXh0QmxhY2tCZXJyeS5jcHA6IEFkZGVkLgorICAgICAgICAqIGJsYWNrYmVycnkv
V2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnkuaDogQWRkZWQu
CisgICAgICAgICogYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9JY29uRGF0YWJhc2VDbGllbnRC
bGFja0JlcnJ5LmNwcDogQWRkZWQuCisgICAgICAgICogYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9y
dC9JY29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5Lmg6IEFkZGVkLgorCiAyMDEyLTAyLTA3ICBS
b2IgQnVpcyAgPHJidWlzQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIFVwc3RyZWFt
IER1bXBSZW5kZXJUcmVlU3VwcG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRCbGFja0JlcnJ5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdD
b250ZXh0QmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjZjZGJjZWI3MTIyMzgyMWJjODIwNzkz
MWNiNWFjZDkyNjZmYTM0OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJyeS5jcHAK
QEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwgMjAxMiBS
ZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAx
ICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRnJhbWVOZXR3b3Jr
aW5nQ29udGV4dEJsYWNrQmVycnkuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitGcmFtZU5l
dHdvcmtpbmdDb250ZXh0QmxhY2tCZXJyeTo6RnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVy
cnkoRnJhbWUqIGZyYW1lKQorICAgIDogRnJhbWVOZXR3b3JraW5nQ29udGV4dChmcmFtZSkKK3sK
K30KKworUGFzc1JlZlB0cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJyeT4gRnJhbWVO
ZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnk6OmNyZWF0ZShGcmFtZSogZnJhbWUpCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBGcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJyeShmcmFt
ZSkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnkuaCBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tC
ZXJyeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQwOGIxZWUwZDJlZmI2NjFmZTExOGQ1NzU5YTY5NTM3OWM5OTY4
YzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1
cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnkuaApAQCAtMCwwICsxLDM3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1p
dGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhl
IEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpZm5kZWYg
RnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnlfaAorI2RlZmluZSBGcmFtZU5ldHdvcmtp
bmdDb250ZXh0QmxhY2tCZXJyeV9oCisKKyNpbmNsdWRlICJGcmFtZU5ldHdvcmtpbmdDb250ZXh0
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnJhbWVOZXR3b3JraW5nQ29udGV4
dEJsYWNrQmVycnkgOiBwdWJsaWMgRnJhbWVOZXR3b3JraW5nQ29udGV4dCB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnk+IGNy
ZWF0ZShGcmFtZSopOworICAgIHVzaW5nIEZyYW1lTmV0d29ya2luZ0NvbnRleHQ6OmZyYW1lOwor
Citwcml2YXRlOgorICAgIEZyYW1lTmV0d29ya2luZ0NvbnRleHRCbGFja0JlcnJ5KEZyYW1lKik7
Cit9OworCit9CisKKyNlbmRpZiAvLyBGcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJyeV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvSWNv
bkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
V2ViQ29yZVN1cHBvcnQvSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmMxMWVlZjYyYmUxZDYzMzIyM2VkMmVjYjJjYTcwOGJhNGQ1ZDgwMgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9JY29uRGF0YWJh
c2VDbGllbnRCbGFja0JlcnJ5LmNwcApAQCAtMCwwICsxLDg4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDExLCAyMDEyIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAq
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rv
biwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJJY29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5LmgiCisKKyNpbmNsdWRlICJJY29uRGF0
YWJhc2UuaCIKKyNpbmNsdWRlICJXZWJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIldlYlN0cmluZy5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ljb25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnkq
IEljb25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnk6OmdldEluc3RhbmNlKCkKK3sKKyAgICBzdGF0
aWMgSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeSogaW5zdGFuY2UgPSAwOworICAgIGlmICgh
aW5zdGFuY2UpCisgICAgICAgIGluc3RhbmNlID0gbmV3IEljb25EYXRhYmFzZUNsaWVudEJsYWNr
QmVycnkoKTsKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKK2Jvb2wgSWNvbkRhdGFiYXNlQ2xp
ZW50QmxhY2tCZXJyeTo6aW5pdEljb25EYXRhYmFzZShjb25zdCBCbGFja0JlcnJ5OjpXZWJLaXQ6
OldlYlNldHRpbmdzKiBzZXR0aW5ncykKK3sKKyAgICBib29sIGVuYWJsZSA9ICFzZXR0aW5ncy0+
aXNQcml2YXRlQnJvd3NpbmdFbmFibGVkKCkgJiYgc2V0dGluZ3MtPmlzRGF0YWJhc2VzRW5hYmxl
ZCgpOworICAgIGljb25EYXRhYmFzZSgpLnNldEVuYWJsZWQoZW5hYmxlKTsKKyAgICBpZiAoIWVu
YWJsZSkgeworICAgICAgICBtX2luaXRTdGF0ZSA9IE5vdEluaXRpYWxpemVkOworICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYgKG1faW5pdFN0YXRlID09IEluaXRpYWxpemVG
YWlsZWQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChtX2luaXRTdGF0ZSA9PSBJ
bml0aWFsaXplU3VjY2VlZGVkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGljb25EYXRh
YmFzZSgpLnNldENsaWVudCh0aGlzKTsKKworICAgIEJsYWNrQmVycnk6OldlYktpdDo6V2ViU3Ry
aW5nIHBhdGggPSBzZXR0aW5ncy0+ZGF0YWJhc2VQYXRoKCk7CisKKyAgICBpZiAocGF0aC5pc0Vt
cHR5KCkpCisgICAgICAgIHBhdGggPSBzZXR0aW5ncy0+bG9jYWxTdG9yYWdlUGF0aCgpOworCisg
ICAgbV9pbml0U3RhdGUgPSBpY29uRGF0YWJhc2UoKS5vcGVuKHBhdGgsIEljb25EYXRhYmFzZTo6
ZGVmYXVsdERhdGFiYXNlRmlsZW5hbWUoKSkgPyBJbml0aWFsaXplU3VjY2VlZGVkIDogSW5pdGlh
bGl6ZUZhaWxlZDsKKworICAgIHJldHVybiAobV9pbml0U3RhdGUgPT0gSW5pdGlhbGl6ZVN1Y2Nl
ZWRlZCk7Cit9CisKK2Jvb2wgSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeTo6cGVyZm9ybUlt
cG9ydCgpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgSWNvbkRhdGFiYXNlQ2xpZW50
QmxhY2tCZXJyeTo6ZGlkUmVtb3ZlQWxsSWNvbnMoKQoreworfQorCit2b2lkIEljb25EYXRhYmFz
ZUNsaWVudEJsYWNrQmVycnk6OmRpZEltcG9ydEljb25VUkxGb3JQYWdlVVJMKGNvbnN0IFN0cmlu
ZyYpCit7Cit9CisKK3ZvaWQgSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeTo6ZGlkSW1wb3J0
SWNvbkRhdGFGb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYpCit7Cit9CisKK3ZvaWQgSWNvbkRhdGFi
YXNlQ2xpZW50QmxhY2tCZXJyeTo6ZGlkQ2hhbmdlSWNvbkZvclBhZ2VVUkwoY29uc3QgU3RyaW5n
JikKK3sKK30KKwordm9pZCBJY29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5OjpkaWRGaW5pc2hV
UkxJbXBvcnQoKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvSWNvbkRhdGFiYXNlQ2xpZW50
QmxhY2tCZXJyeS5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0lj
b25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZWUyN2Q2N2MyNzdiZWNm
ZjNlMDgyNjBmNDJlYTYwMDk2MGYyZGRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ljb25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnku
aApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIFJlc2Vh
cmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNz
ZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlm
IG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVT
QQorICovCisKKyNpZm5kZWYgSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeV9oCisjZGVmaW5l
IEljb25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnlfaAorCisjaW5jbHVkZSAiSWNvbkRhdGFiYXNl
Q2xpZW50LmgiCisKK25hbWVzcGFjZSBCbGFja0JlcnJ5IHsKK25hbWVzcGFjZSBXZWJLaXQgewor
Y2xhc3MgV2ViU2V0dGluZ3M7Cit9Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
SWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeSA6IHB1YmxpYyBJY29uRGF0YWJhc2VDbGllbnQg
eworcHJpdmF0ZToKKyAgICBJY29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5KCkKKyAgICAgICAg
OiBtX2luaXRTdGF0ZShOb3RJbml0aWFsaXplZCkKKyAgICB7CisgICAgfQorICAgIGVudW0geyBO
b3RJbml0aWFsaXplZCwgSW5pdGlhbGl6ZVN1Y2NlZWRlZCwgSW5pdGlhbGl6ZUZhaWxlZCB9IG1f
aW5pdFN0YXRlOworCitwdWJsaWM6CisgICAgc3RhdGljIEljb25EYXRhYmFzZUNsaWVudEJsYWNr
QmVycnkqIGdldEluc3RhbmNlKCk7CisgICAgYm9vbCBpbml0SWNvbkRhdGFiYXNlKGNvbnN0IEJs
YWNrQmVycnk6OldlYktpdDo6V2ViU2V0dGluZ3MqKTsKKworICAgIHZpcnR1YWwgYm9vbCBwZXJm
b3JtSW1wb3J0KCk7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZUFsbEljb25zKCk7CisgICAg
dmlydHVhbCB2b2lkIGRpZEltcG9ydEljb25VUkxGb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYpOwor
ICAgIHZpcnR1YWwgdm9pZCBkaWRJbXBvcnRJY29uRGF0YUZvclBhZ2VVUkwoY29uc3QgU3RyaW5n
Jik7CisgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmlu
ZyYpOworICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hVUkxJbXBvcnQoKTsKK307CisKK30KKwor
I2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126178</attachid>
            <date>2012-02-08 16:09:13 -0800</date>
            <delta_ts>2012-02-08 16:11:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78049-20120208190851.patch</filename>
            <type>text/plain</type>
            <size>9410</size>
            <attacher name="Jacky Jiang">jkjiang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2OTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4MjViNTYxZmZlM2YwZDY0
MmNhZWE0ZTA4NGY3YjIzNDY3ZjZlYTIuLmYxNmQzODliY2U2MDgzNjBlOTNhZTRkNzI2OWQxZDJj
ODViMzA5NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDItMDcgIEphY2t5IEpp
YW5nICA8emhhamlhbmdAcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gVXBzdHJlYW0g
QmxhY2tCZXJyeSBXZWJDb3JlU3VwcG9ydCBGcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJy
eSBhbmQgSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeSBjbGFzc2VzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA0OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluaXRpYWwgdXBzdHJlYW0sIG5vIG5l
dyB0ZXN0LgorCisgICAgICAgICogYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdv
cmtpbmdDb250ZXh0QmxhY2tCZXJyeS5jcHA6IEFkZGVkLgorICAgICAgICAqIGJsYWNrYmVycnkv
V2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnkuaDogQWRkZWQu
CisgICAgICAgICogYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9JY29uRGF0YWJhc2VDbGllbnRC
bGFja0JlcnJ5LmNwcDogQWRkZWQuCisgICAgICAgICogYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9y
dC9JY29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5Lmg6IEFkZGVkLgorCiAyMDEyLTAyLTA3ICBS
b2IgQnVpcyAgPHJidWlzQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIFVwc3RyZWFt
IER1bXBSZW5kZXJUcmVlU3VwcG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRCbGFja0JlcnJ5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdD
b250ZXh0QmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjZjZGJjZWI3MTIyMzgyMWJjODIwNzkz
MWNiNWFjZDkyNjZmYTM0OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJyeS5jcHAK
QEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwgMjAxMiBS
ZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAx
ICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRnJhbWVOZXR3b3Jr
aW5nQ29udGV4dEJsYWNrQmVycnkuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitGcmFtZU5l
dHdvcmtpbmdDb250ZXh0QmxhY2tCZXJyeTo6RnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVy
cnkoRnJhbWUqIGZyYW1lKQorICAgIDogRnJhbWVOZXR3b3JraW5nQ29udGV4dChmcmFtZSkKK3sK
K30KKworUGFzc1JlZlB0cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJyeT4gRnJhbWVO
ZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnk6OmNyZWF0ZShGcmFtZSogZnJhbWUpCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBGcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJyeShmcmFt
ZSkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnkuaCBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tC
ZXJyeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQwOGIxZWUwZDJlZmI2NjFmZTExOGQ1NzU5YTY5NTM3OWM5OTY4
YzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1
cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnkuaApAQCAtMCwwICsxLDM3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1p
dGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhl
IEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpZm5kZWYg
RnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnlfaAorI2RlZmluZSBGcmFtZU5ldHdvcmtp
bmdDb250ZXh0QmxhY2tCZXJyeV9oCisKKyNpbmNsdWRlICJGcmFtZU5ldHdvcmtpbmdDb250ZXh0
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnJhbWVOZXR3b3JraW5nQ29udGV4
dEJsYWNrQmVycnkgOiBwdWJsaWMgRnJhbWVOZXR3b3JraW5nQ29udGV4dCB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnk+IGNy
ZWF0ZShGcmFtZSopOworICAgIHVzaW5nIEZyYW1lTmV0d29ya2luZ0NvbnRleHQ6OmZyYW1lOwor
Citwcml2YXRlOgorICAgIEZyYW1lTmV0d29ya2luZ0NvbnRleHRCbGFja0JlcnJ5KEZyYW1lKik7
Cit9OworCit9CisKKyNlbmRpZiAvLyBGcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJyeV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvSWNv
bkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
V2ViQ29yZVN1cHBvcnQvSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTc0ZGUxNWI3YzczMWY4ZWYwN2I5ZTgzMWE0ZTM3MjhkN2Y4N2FhZgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9JY29uRGF0YWJh
c2VDbGllbnRCbGFja0JlcnJ5LmNwcApAQCAtMCwwICsxLDg4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDExLCAyMDEyIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAq
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rv
biwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJJY29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5LmgiCisKKyNpbmNsdWRlICJJY29uRGF0
YWJhc2UuaCIKKyNpbmNsdWRlICJXZWJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIldlYlN0cmluZy5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ljb25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnkq
IEljb25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnk6OmdldEluc3RhbmNlKCkKK3sKKyAgICBzdGF0
aWMgSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeSogaW5zdGFuY2UgPSAwOworICAgIGlmICgh
aW5zdGFuY2UpCisgICAgICAgIGluc3RhbmNlID0gbmV3IEljb25EYXRhYmFzZUNsaWVudEJsYWNr
QmVycnkoKTsKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKK2Jvb2wgSWNvbkRhdGFiYXNlQ2xp
ZW50QmxhY2tCZXJyeTo6aW5pdEljb25EYXRhYmFzZShjb25zdCBCbGFja0JlcnJ5OjpXZWJLaXQ6
OldlYlNldHRpbmdzKiBzZXR0aW5ncykKK3sKKyAgICBib29sIGVuYWJsZSA9ICFzZXR0aW5ncy0+
aXNQcml2YXRlQnJvd3NpbmdFbmFibGVkKCkgJiYgc2V0dGluZ3MtPmlzRGF0YWJhc2VzRW5hYmxl
ZCgpOworICAgIGljb25EYXRhYmFzZSgpLnNldEVuYWJsZWQoZW5hYmxlKTsKKyAgICBpZiAoIWVu
YWJsZSkgeworICAgICAgICBtX2luaXRTdGF0ZSA9IE5vdEluaXRpYWxpemVkOworICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgaWYgKG1faW5pdFN0YXRlID09IEluaXRpYWxpemVG
YWlsZWQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChtX2luaXRTdGF0ZSA9PSBJ
bml0aWFsaXplU3VjY2VlZGVkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGljb25EYXRh
YmFzZSgpLnNldENsaWVudCh0aGlzKTsKKworICAgIEJsYWNrQmVycnk6OldlYktpdDo6V2ViU3Ry
aW5nIHBhdGggPSBzZXR0aW5ncy0+ZGF0YWJhc2VQYXRoKCk7CisKKyAgICBpZiAocGF0aC5pc0Vt
cHR5KCkpCisgICAgICAgIHBhdGggPSBzZXR0aW5ncy0+bG9jYWxTdG9yYWdlUGF0aCgpOworCisg
ICAgbV9pbml0U3RhdGUgPSBpY29uRGF0YWJhc2UoKS5vcGVuKHBhdGgsIEljb25EYXRhYmFzZTo6
ZGVmYXVsdERhdGFiYXNlRmlsZW5hbWUoKSkgPyBJbml0aWFsaXplU3VjY2VlZGVkIDogSW5pdGlh
bGl6ZUZhaWxlZDsKKworICAgIHJldHVybiBtX2luaXRTdGF0ZSA9PSBJbml0aWFsaXplU3VjY2Vl
ZGVkOworfQorCitib29sIEljb25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnk6OnBlcmZvcm1JbXBv
cnQoKQoreworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIEljb25EYXRhYmFzZUNsaWVudEJs
YWNrQmVycnk6OmRpZFJlbW92ZUFsbEljb25zKCkKK3sKK30KKwordm9pZCBJY29uRGF0YWJhc2VD
bGllbnRCbGFja0JlcnJ5OjpkaWRJbXBvcnRJY29uVVJMRm9yUGFnZVVSTChjb25zdCBTdHJpbmcm
KQoreworfQorCit2b2lkIEljb25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnk6OmRpZEltcG9ydElj
b25EYXRhRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmKQoreworfQorCit2b2lkIEljb25EYXRhYmFz
ZUNsaWVudEJsYWNrQmVycnk6OmRpZENoYW5nZUljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYp
Cit7Cit9CisKK3ZvaWQgSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeTo6ZGlkRmluaXNoVVJM
SW1wb3J0KCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ljb25EYXRhYmFzZUNsaWVudEJs
YWNrQmVycnkuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9JY29u
RGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzcyYTQ1MGJjODNmODhlZjFm
MmQxOGYzZmE0MjRmNTdjOTBmYTg5NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9JY29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5LmgK
QEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBSZXNlYXJj
aCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBu
b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EK
KyAqLworCisjaWZuZGVmIEljb25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnlfaAorI2RlZmluZSBJ
Y29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5X2gKKworI2luY2x1ZGUgIkljb25EYXRhYmFzZUNs
aWVudC5oIgorCituYW1lc3BhY2UgQmxhY2tCZXJyeSB7CituYW1lc3BhY2UgV2ViS2l0IHsKK2Ns
YXNzIFdlYlNldHRpbmdzOworfQorfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIElj
b25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnkgOiBwdWJsaWMgSWNvbkRhdGFiYXNlQ2xpZW50IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeSogZ2V0SW5z
dGFuY2UoKTsKKyAgICBib29sIGluaXRJY29uRGF0YWJhc2UoY29uc3QgQmxhY2tCZXJyeTo6V2Vi
S2l0OjpXZWJTZXR0aW5ncyopOworCisgICAgdmlydHVhbCBib29sIHBlcmZvcm1JbXBvcnQoKTsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlQWxsSWNvbnMoKTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZGlkSW1wb3J0SWNvblVSTEZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJik7CisgICAgdmlydHVhbCB2
b2lkIGRpZEltcG9ydEljb25EYXRhRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmKTsKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkQ2hhbmdlSWNvbkZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJik7CisgICAgdmly
dHVhbCB2b2lkIGRpZEZpbmlzaFVSTEltcG9ydCgpOworCitwcml2YXRlOgorICAgIEljb25EYXRh
YmFzZUNsaWVudEJsYWNrQmVycnkoKQorICAgICAgICA6IG1faW5pdFN0YXRlKE5vdEluaXRpYWxp
emVkKQorICAgIHsKKyAgICB9CisgICAgZW51bSB7IE5vdEluaXRpYWxpemVkLCBJbml0aWFsaXpl
U3VjY2VlZGVkLCBJbml0aWFsaXplRmFpbGVkIH0gbV9pbml0U3RhdGU7Cit9OworCit9CisKKyNl
bmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126180</attachid>
            <date>2012-02-08 16:17:29 -0800</date>
            <delta_ts>2012-02-08 23:02:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78049-20120208191707.patch</filename>
            <type>text/plain</type>
            <size>9411</size>
            <attacher name="Jacky Jiang">jkjiang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2OTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4MjViNTYxZmZlM2YwZDY0
MmNhZWE0ZTA4NGY3YjIzNDY3ZjZlYTIuLjMyM2MwOGZiZTZhMThkZmE3MGRhMmYyZTQxZThiMGU4
YjU2YTg5NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDItMDcgIEphY2t5IEpp
YW5nICA8emhhamlhbmdAcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gVXBzdHJlYW0g
QmxhY2tCZXJyeSBXZWJDb3JlU3VwcG9ydCBGcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJy
eSBhbmQgSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeSBjbGFzc2VzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA0OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluaXRpYWwgdXBzdHJlYW0sIG5vIG5l
dyB0ZXN0cy4KKworICAgICAgICAqIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3
b3JraW5nQ29udGV4dEJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBibGFja2JlcnJ5
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRCbGFja0JlcnJ5Lmg6IEFkZGVk
LgorICAgICAgICAqIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvSWNvbkRhdGFiYXNlQ2xpZW50
QmxhY2tCZXJyeS5jcHA6IEFkZGVkLgorICAgICAgICAqIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBv
cnQvSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeS5oOiBBZGRlZC4KKwogMjAxMi0wMi0wNyAg
Um9iIEJ1aXMgIDxyYnVpc0ByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBVcHN0cmVh
bSBEdW1wUmVuZGVyVHJlZVN1cHBvcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJyeS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5n
Q29udGV4dEJsYWNrQmVycnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2Y2RiY2ViNzEyMjM4MjFiYzgyMDc5
MzFjYjVhY2Q5MjY2ZmEzNDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnkuY3Bw
CkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEsIDIwMTIg
UmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMw
MSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZyYW1lTmV0d29y
a2luZ0NvbnRleHRCbGFja0JlcnJ5LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRnJhbWVO
ZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnk6OkZyYW1lTmV0d29ya2luZ0NvbnRleHRCbGFja0Jl
cnJ5KEZyYW1lKiBmcmFtZSkKKyAgICA6IEZyYW1lTmV0d29ya2luZ0NvbnRleHQoZnJhbWUpCit7
Cit9CisKK1Bhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnk+IEZyYW1l
TmV0d29ya2luZ0NvbnRleHRCbGFja0JlcnJ5OjpjcmVhdGUoRnJhbWUqIGZyYW1lKQoreworICAg
IHJldHVybiBhZG9wdFJlZihuZXcgRnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnkoZnJh
bWUpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNv
cmVTdXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRCbGFja0JlcnJ5LmggYi9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNr
QmVycnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40MDhiMWVlMGQyZWZiNjYxZmUxMThkNTc1OWE2OTUzNzljOTk2
OGM1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTmV0d29ya2luZ0NvbnRleHRCbGFja0JlcnJ5LmgKQEAgLTAsMCArMSwzNyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24gTGlt
aXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2Vy
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRo
ZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaWZuZGVm
IEZyYW1lTmV0d29ya2luZ0NvbnRleHRCbGFja0JlcnJ5X2gKKyNkZWZpbmUgRnJhbWVOZXR3b3Jr
aW5nQ29udGV4dEJsYWNrQmVycnlfaAorCisjaW5jbHVkZSAiRnJhbWVOZXR3b3JraW5nQ29udGV4
dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEZyYW1lTmV0d29ya2luZ0NvbnRl
eHRCbGFja0JlcnJ5IDogcHVibGljIEZyYW1lTmV0d29ya2luZ0NvbnRleHQgeworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHRCbGFja0JlcnJ5PiBj
cmVhdGUoRnJhbWUqKTsKKyAgICB1c2luZyBGcmFtZU5ldHdvcmtpbmdDb250ZXh0OjpmcmFtZTsK
KworcHJpdmF0ZToKKyAgICBGcmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJyeShGcmFtZSop
OworfTsKKworfQorCisjZW5kaWYgLy8gRnJhbWVOZXR3b3JraW5nQ29udGV4dEJsYWNrQmVycnlf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0lj
b25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L1dlYkNvcmVTdXBwb3J0L0ljb25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnkuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjE3NGRlMTViN2M3MzFmOGVmMDdiOWU4MzFhNGUzNzI4ZDdmODdhYWYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvSWNvbkRhdGFi
YXNlQ2xpZW50QmxhY2tCZXJyeS5jcHAKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSwgMjAxMiBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisg
KiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0
b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeS5oIgorCisjaW5jbHVkZSAiSWNvbkRh
dGFiYXNlLmgiCisjaW5jbHVkZSAiV2ViU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJXZWJTdHJpbmcu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitJY29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5
KiBJY29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5OjpnZXRJbnN0YW5jZSgpCit7CisgICAgc3Rh
dGljIEljb25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnkqIGluc3RhbmNlID0gMDsKKyAgICBpZiAo
IWluc3RhbmNlKQorICAgICAgICBpbnN0YW5jZSA9IG5ldyBJY29uRGF0YWJhc2VDbGllbnRCbGFj
a0JlcnJ5KCk7CisgICAgcmV0dXJuIGluc3RhbmNlOworfQorCitib29sIEljb25EYXRhYmFzZUNs
aWVudEJsYWNrQmVycnk6OmluaXRJY29uRGF0YWJhc2UoY29uc3QgQmxhY2tCZXJyeTo6V2ViS2l0
OjpXZWJTZXR0aW5ncyogc2V0dGluZ3MpCit7CisgICAgYm9vbCBlbmFibGUgPSAhc2V0dGluZ3Mt
PmlzUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpICYmIHNldHRpbmdzLT5pc0RhdGFiYXNlc0VuYWJs
ZWQoKTsKKyAgICBpY29uRGF0YWJhc2UoKS5zZXRFbmFibGVkKGVuYWJsZSk7CisgICAgaWYgKCFl
bmFibGUpIHsKKyAgICAgICAgbV9pbml0U3RhdGUgPSBOb3RJbml0aWFsaXplZDsKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGlmIChtX2luaXRTdGF0ZSA9PSBJbml0aWFsaXpl
RmFpbGVkKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAobV9pbml0U3RhdGUgPT0g
SW5pdGlhbGl6ZVN1Y2NlZWRlZCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpY29uRGF0
YWJhc2UoKS5zZXRDbGllbnQodGhpcyk7CisKKyAgICBCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlN0
cmluZyBwYXRoID0gc2V0dGluZ3MtPmRhdGFiYXNlUGF0aCgpOworCisgICAgaWYgKHBhdGguaXNF
bXB0eSgpKQorICAgICAgICBwYXRoID0gc2V0dGluZ3MtPmxvY2FsU3RvcmFnZVBhdGgoKTsKKwor
ICAgIG1faW5pdFN0YXRlID0gaWNvbkRhdGFiYXNlKCkub3BlbihwYXRoLCBJY29uRGF0YWJhc2U6
OmRlZmF1bHREYXRhYmFzZUZpbGVuYW1lKCkpID8gSW5pdGlhbGl6ZVN1Y2NlZWRlZCA6IEluaXRp
YWxpemVGYWlsZWQ7CisKKyAgICByZXR1cm4gbV9pbml0U3RhdGUgPT0gSW5pdGlhbGl6ZVN1Y2Nl
ZWRlZDsKK30KKworYm9vbCBJY29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5OjpwZXJmb3JtSW1w
b3J0KCkKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBJY29uRGF0YWJhc2VDbGllbnRC
bGFja0JlcnJ5OjpkaWRSZW1vdmVBbGxJY29ucygpCit7Cit9CisKK3ZvaWQgSWNvbkRhdGFiYXNl
Q2xpZW50QmxhY2tCZXJyeTo6ZGlkSW1wb3J0SWNvblVSTEZvclBhZ2VVUkwoY29uc3QgU3RyaW5n
JikKK3sKK30KKwordm9pZCBJY29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5OjpkaWRJbXBvcnRJ
Y29uRGF0YUZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJikKK3sKK30KKwordm9pZCBJY29uRGF0YWJh
c2VDbGllbnRCbGFja0JlcnJ5OjpkaWRDaGFuZ2VJY29uRm9yUGFnZVVSTChjb25zdCBTdHJpbmcm
KQoreworfQorCit2b2lkIEljb25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnk6OmRpZEZpbmlzaFVS
TEltcG9ydCgpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9JY29uRGF0YWJhc2VDbGllbnRC
bGFja0JlcnJ5LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvSWNv
bkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3MmE0NTBiYzgzZjg4ZWYx
ZjJkMThmM2ZhNDI0ZjU3YzkwZmE4OTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvSWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeS5o
CkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgUmVzZWFy
Y2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYg
bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNB
CisgKi8KKworI2lmbmRlZiBJY29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5X2gKKyNkZWZpbmUg
SWNvbkRhdGFiYXNlQ2xpZW50QmxhY2tCZXJyeV9oCisKKyNpbmNsdWRlICJJY29uRGF0YWJhc2VD
bGllbnQuaCIKKworbmFtZXNwYWNlIEJsYWNrQmVycnkgeworbmFtZXNwYWNlIFdlYktpdCB7Citj
bGFzcyBXZWJTZXR0aW5nczsKK30KK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJ
Y29uRGF0YWJhc2VDbGllbnRCbGFja0JlcnJ5IDogcHVibGljIEljb25EYXRhYmFzZUNsaWVudCB7
CitwdWJsaWM6CisgICAgc3RhdGljIEljb25EYXRhYmFzZUNsaWVudEJsYWNrQmVycnkqIGdldElu
c3RhbmNlKCk7CisgICAgYm9vbCBpbml0SWNvbkRhdGFiYXNlKGNvbnN0IEJsYWNrQmVycnk6Oldl
YktpdDo6V2ViU2V0dGluZ3MqKTsKKworICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtSW1wb3J0KCk7
CisgICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZUFsbEljb25zKCk7CisgICAgdmlydHVhbCB2b2lk
IGRpZEltcG9ydEljb25VUkxGb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYpOworICAgIHZpcnR1YWwg
dm9pZCBkaWRJbXBvcnRJY29uRGF0YUZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJik7CisgICAgdmly
dHVhbCB2b2lkIGRpZENoYW5nZUljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYpOworICAgIHZp
cnR1YWwgdm9pZCBkaWRGaW5pc2hVUkxJbXBvcnQoKTsKKworcHJpdmF0ZToKKyAgICBJY29uRGF0
YWJhc2VDbGllbnRCbGFja0JlcnJ5KCkKKyAgICAgICAgOiBtX2luaXRTdGF0ZShOb3RJbml0aWFs
aXplZCkKKyAgICB7CisgICAgfQorICAgIGVudW0geyBOb3RJbml0aWFsaXplZCwgSW5pdGlhbGl6
ZVN1Y2NlZWRlZCwgSW5pdGlhbGl6ZUZhaWxlZCB9IG1faW5pdFN0YXRlOworfTsKKworfQorCisj
ZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>