<?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>79196</bug_id>
          
          <creation_ts>2012-02-21 22:17:12 -0800</creation_ts>
          <short_desc>[BlackBerry] Upstream GLES2Context.{h, cpp}</short_desc>
          <delta_ts>2012-04-24 11:12:35 -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>
          
          <blocked>73144</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Leo Yang">leo.yang</reporter>
          <assigned_to name="Leo Yang">leo.yang</assigned_to>
          <cc>charles.wei</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>staikos</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>yong.li.webkit</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>561615</commentid>
    <comment_count>0</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2012-02-21 22:17:12 -0800</bug_when>
    <thetext>OpenGL ES 2.0 context for the blackberry porting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561740</commentid>
    <comment_count>1</comment_count>
      <attachid>128155</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2012-02-22 01:32:12 -0800</bug_when>
    <thetext>Created attachment 128155
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561837</commentid>
    <comment_count>2</comment_count>
      <attachid>128155</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-02-22 04:14:44 -0800</bug_when>
    <thetext>Comment on attachment 128155
Patch

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

Still some things to improve.

&gt; Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp:42
&gt; +#include &quot;WebPage_p.h&quot;

All needed?

&gt; Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp:44
&gt; +#include &lt;BlackBerryPlatformWindow.h&gt;

Already included in header.

&gt; Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp:113
&gt; +    // Sniff, this is so sad.

Seems a strange comment, maybe explain why it is sad

&gt; Source/WebKit/blackberry/WebKitSupport/GLES2Context.h:39
&gt; +#include &lt;wtf/OwnPtr.h&gt;

Is this one needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562960</commentid>
    <comment_count>3</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2012-02-23 01:49:46 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 128155 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=128155&amp;action=review
&gt; 
&gt; Still some things to improve.
&gt; 
&gt; &gt; Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp:42
&gt; &gt; +#include &quot;WebPage_p.h&quot;
&gt; 
&gt; All needed?
&gt; 
Yes. WebPagePrivate is being used in the constructor.

&gt; &gt; Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp:44
&gt; &gt; +#include &lt;BlackBerryPlatformWindow.h&gt;
&gt; 
&gt; Already included in header.
I&apos;ll remove it.

&gt; 
&gt; &gt; Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp:113
&gt; &gt; +    // Sniff, this is so sad.
&gt; 
&gt; Seems a strange comment, maybe explain why it is sad
&gt; 
I&apos;ll make a clear comment.

&gt; &gt; Source/WebKit/blackberry/WebKitSupport/GLES2Context.h:39
&gt; &gt; +#include &lt;wtf/OwnPtr.h&gt;
&gt; 
&gt; Is this one needed?
I&apos;ll remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562962</commentid>
    <comment_count>4</comment_count>
      <attachid>128435</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2012-02-23 01:50:35 -0800</bug_when>
    <thetext>Created attachment 128435
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562966</commentid>
    <comment_count>5</comment_count>
      <attachid>128436</attachid>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2012-02-23 01:54:22 -0800</bug_when>
    <thetext>Created attachment 128436
Patch v3

Removing some unnecessary blank lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563032</commentid>
    <comment_count>6</comment_count>
      <attachid>128436</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-02-23 04:30:29 -0800</bug_when>
    <thetext>Comment on attachment 128436
Patch v3

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

LGTM.

&gt; Source/WebKit/blackberry/ChangeLog:1
&gt; +2012-02-22  Leo Yang  &lt;leo.yang@torchmobile.com.cn&gt;

It is 23 feb now.

&gt; Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp:60
&gt; +    if (surface)

Can just do if (BackingStoreCompositingSurface* surface = compositingSurface())

&gt; Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp:91
&gt; +    if (surface)

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563787</commentid>
    <comment_count>7</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2012-02-23 18:15:51 -0800</bug_when>
    <thetext>Committed r108711: &lt;http://trac.webkit.org/changeset/108711&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608863</commentid>
    <comment_count>8</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-04-24 11:12:35 -0700</bug_when>
    <thetext>Do we know why the 2 files are put in WebKitSupport rather than WebCoreSupport?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128155</attachid>
            <date>2012-02-22 01:32:12 -0800</date>
            <delta_ts>2012-02-23 01:50:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-BlackBerry-Upstream-GLES2Context.-h-cpp.patch</filename>
            <type>text/plain</type>
            <size>8430</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSBlZmMwMGEzMzViNzg0NzYyNDA1YTAwMzYzNzA0MjAwOGE2NDRmZDE5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBXZWQsIDIyIEZlYiAyMDEyIDE3OjMxOjIxICswODAwClN1YmplY3Q6IFtQQVRDSF0g
W0JsYWNrQmVycnldIFVwc3RyZWFtIEdMRVMyQ29udGV4dC57aCwgY3BwfQogaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTk2CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KCkluaXRpYWwgdXBzdHJlYW0sIG5vIG5ldyB0ZXN0cy4KCiogV2ViS2l0U3VwcG9ydC9H
TEVTMkNvbnRleHQuY3BwOiBBZGRlZC4KKiBXZWJLaXRTdXBwb3J0L0dMRVMyQ29udGV4dC5oOiBB
ZGRlZC4KLS0tCiBTb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICB8ICAgMTIgKysKIC4uLi9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJDb250ZXh0
LmNwcCAgICAgIHwgIDEyNSArKysrKysrKysrKysrKysrKysrKwogLi4uL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJDb250ZXh0LmggfCAgIDcwICsrKysrKysrKysrCiAzIGZp
bGVzIGNoYW5nZWQsIDIwNyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0dMRVMyQ29u
dGV4dC5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
S2l0U3VwcG9ydC9HTEVTMkNvbnRleHQuaAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmlu
ZGV4IDlkNmI2M2YuLjFlNGY3OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEyLTAyLTIyICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9iaWxl
LmNvbS5jbj4KKworICAgICAgICBbQmxhY2tCZXJyeV0gVXBzdHJlYW0gR0xFUzJDb250ZXh0Lnto
LCBjcHB9CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
OTE5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
aXRpYWwgdXBzdHJlYW0sIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQv
R0xFUzJDb250ZXh0LmNwcDogQWRkZWQuCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9HTEVTMkNv
bnRleHQuaDogQWRkZWQuCisKIDIwMTItMDItMTggIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmlt
LmNvbT4KIAogICAgICAgICBGYXQgZmluZ2VycyAtIGNhY2hlIHRoZSBmaXJzdCByZWN0LWJhc2Vk
IGhpdCB0ZXN0IHNvIHdlIGRvIG5vdCBuZWVkIHRvIGRvIGl0IGFnYWluCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9HTEVTMkNvbnRleHQuY3BwIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJDb250ZXh0LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDM3NDBlCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJDb250ZXh0
LmNwcApAQCAtMCwwICsxLDEyNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExLCAy
MDEyIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2luY2x1ZGUgIkdMRVMyQ29udGV4dC5oIgorCisjaW5jbHVkZSAiQXNz
ZXJ0aW9ucy5oIgorI2luY2x1ZGUgIkJhY2tpbmdTdG9yZUNvbXBvc2l0aW5nU3VyZmFjZS5oIgor
I2luY2x1ZGUgIkNocm9tZS5oIgorI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgorI2luY2x1ZGUg
IlN1cmZhY2VQb29sLmgiCisjaW5jbHVkZSAiV2ViUGFnZUNsaWVudC5oIgorI2luY2x1ZGUgIldl
YlBhZ2VfcC5oIgorCisjaW5jbHVkZSA8QmxhY2tCZXJyeVBsYXRmb3JtV2luZG93Lmg+CisKKyNp
bmNsdWRlIDxHTEVTMi9nbDIuaD4KKworbmFtZXNwYWNlIEJsYWNrQmVycnkgeworbmFtZXNwYWNl
IFdlYktpdCB7CisKK0JhY2tpbmdTdG9yZUNvbXBvc2l0aW5nU3VyZmFjZSogR0xFUzJDb250ZXh0
Ojpjb21wb3NpdGluZ1N1cmZhY2UoKSBjb25zdAoreworICAgIHJldHVybiBTdXJmYWNlUG9vbDo6
Z2xvYmFsU3VyZmFjZVBvb2woKS0+Y29tcG9zaXRpbmdTdXJmYWNlKCk7Cit9CisKK1BsYXRmb3Jt
OjpHcmFwaGljczo6QnVmZmVyKiBHTEVTMkNvbnRleHQ6OmJ1ZmZlcigpIGNvbnN0Cit7CisgICAg
aWYgKG1fd2luZG93KQorICAgICAgICByZXR1cm4gbV93aW5kb3ctPmJ1ZmZlcigpOworCisjaWYg
RU5BQkxFX0NPTVBPU0lUSU5HX1NVUkZBQ0UKKyAgICBCYWNraW5nU3RvcmVDb21wb3NpdGluZ1N1
cmZhY2UqIHN1cmZhY2UgPSBjb21wb3NpdGluZ1N1cmZhY2UoKTsKKyAgICBpZiAoc3VyZmFjZSkK
KyAgICAgICAgcmV0dXJuIHN1cmZhY2UtPmJhY2tCdWZmZXIoKS0+bmF0aXZlQnVmZmVyKCk7Cisj
ZW5kaWYKKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQorCitQ
YXNzT3duUHRyPEdMRVMyQ29udGV4dD4gR0xFUzJDb250ZXh0OjpjcmVhdGUoV2ViUGFnZVByaXZh
dGUqIHBhZ2UpCit7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBHTEVTMkNvbnRleHQocGFnZSkp
OworfQorCitHTEVTMkNvbnRleHQ6OkdMRVMyQ29udGV4dChXZWJQYWdlUHJpdmF0ZSogcGFnZSkK
KyAgICA6IG1fd2luZG93KDApCit7CisgICAgaWYgKHBhZ2UtPm1fY2xpZW50LT53aW5kb3coKS0+
d2luZG93VXNhZ2UoKSA9PSBQbGF0Zm9ybTo6R3JhcGhpY3M6OldpbmRvdzo6R0xFUzJVc2FnZSkK
KyAgICAgICAgbV93aW5kb3cgPSBwYWdlLT5tX2NsaWVudC0+d2luZG93KCk7Cit9CisKK0dMRVMy
Q29udGV4dDo6fkdMRVMyQ29udGV4dCgpCit7Cit9CisKK1BsYXRmb3JtOjpJbnRTaXplIEdMRVMy
Q29udGV4dDo6c3VyZmFjZVNpemUoKSBjb25zdAoreworICAgIGlmIChtX3dpbmRvdykKKyAgICAg
ICAgcmV0dXJuIG1fd2luZG93LT5zdXJmYWNlU2l6ZSgpOworCisjaWYgRU5BQkxFX0NPTVBPU0lU
SU5HX1NVUkZBQ0UKKyAgICBCYWNraW5nU3RvcmVDb21wb3NpdGluZ1N1cmZhY2UqIHN1cmZhY2Ug
PSBjb21wb3NpdGluZ1N1cmZhY2UoKTsKKyAgICBpZiAoc3VyZmFjZSkKKyAgICAgICAgcmV0dXJu
IHN1cmZhY2UtPmJhY2tCdWZmZXIoKS0+c3VyZmFjZVNpemUoKTsKKyNlbmRpZgorCisgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFBsYXRmb3JtOjpJbnRTaXplKCk7Cit9CisK
K2Jvb2wgR0xFUzJDb250ZXh0OjptYWtlQ3VycmVudCgpCit7CisgICAgUGxhdGZvcm06OkdyYXBo
aWNzOjptYWtlQnVmZmVyQ3VycmVudChidWZmZXIoKSwgUGxhdGZvcm06OkdyYXBoaWNzOjpHTEVT
Mik7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgR0xFUzJDb250ZXh0Ojpzd2FwQnVmZmVy
cygpCit7CisgICAgQVNTRVJUKGdsR2V0RXJyb3IoKSA9PSBHTF9OT19FUlJPUik7CisKKyNpZiBF
TkFCTEVfQ09NUE9TSVRJTkdfU1VSRkFDRQorICAgIC8vIFNuaWZmLCB0aGlzIGlzIHNvIHNhZC4K
KyAgICBnbEZpbmlzaCgpOworCisgICAgQmFja2luZ1N0b3JlQ29tcG9zaXRpbmdTdXJmYWNlKiBz
dXJmYWNlID0gY29tcG9zaXRpbmdTdXJmYWNlKCk7CisgICAgaWYgKHN1cmZhY2UpCisgICAgICAg
IHN1cmZhY2UtPnN3YXBCdWZmZXJzKCk7CisjZW5kaWYKKworICAgIHJldHVybiB0cnVlOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIEJsYWNrQmVycnkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0dMRVMyQ29udGV4
dC5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJDb250ZXh0
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBkNWU1ZQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0dMRVMyQ29u
dGV4dC5oCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwg
MjAxMiBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IEdMRVMyQ29udGV4dF9oCisjZGVmaW5lIEdMRVMyQ29udGV4dF9oCisKKyNpbmNsdWRlIDxCbGFj
a0JlcnJ5UGxhdGZvcm1HTEVTMkNvbnRleHQuaD4KKworI2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0
Zm9ybVdpbmRvdy5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgQmxh
Y2tCZXJyeSB7CituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgQmFja2luZ1N0b3JlQ29tcG9z
aXRpbmdTdXJmYWNlOworY2xhc3MgV2ViUGFnZVByaXZhdGU7CisKK2NsYXNzIEdMRVMyQ29udGV4
dCA6IHB1YmxpYyBQbGF0Zm9ybTo6R3JhcGhpY3M6OkdMRVMyQ29udGV4dCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoR0xFUzJDb250ZXh0KTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093
blB0cjxHTEVTMkNvbnRleHQ+IGNyZWF0ZShXZWJQYWdlUHJpdmF0ZSopOworICAgIH5HTEVTMkNv
bnRleHQoKTsKKworICAgIFBsYXRmb3JtOjpJbnRTaXplIHN1cmZhY2VTaXplKCkgY29uc3Q7Cisg
ICAgYm9vbCBtYWtlQ3VycmVudCgpOworICAgIGJvb2wgc3dhcEJ1ZmZlcnMoKTsKKworcHJpdmF0
ZToKKyAgICBHTEVTMkNvbnRleHQoV2ViUGFnZVByaXZhdGUqKTsKKworICAgIEJhY2tpbmdTdG9y
ZUNvbXBvc2l0aW5nU3VyZmFjZSogY29tcG9zaXRpbmdTdXJmYWNlKCkgY29uc3Q7CisgICAgUGxh
dGZvcm06OkdyYXBoaWNzOjpCdWZmZXIqIGJ1ZmZlcigpIGNvbnN0OworCisgICAgUGxhdGZvcm06
OkdyYXBoaWNzOjpXaW5kb3cqIG1fd2luZG93OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
Cit9IC8vIG5hbWVzcGFjZSBCbGFja0JlcnJ5CisKKyNlbmRpZgotLSAKMS43LjUuNAoK
</data>
<flag name="review"
          id="130449"
          type_id="1"
          status="-"
          setter="rwlbuis"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128435</attachid>
            <date>2012-02-23 01:50:35 -0800</date>
            <delta_ts>2012-02-23 01:54:22 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>0001-BlackBerry-Upstream-GLES2Context.-h-cpp.patch</filename>
            <type>text/plain</type>
            <size>8525</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSA0MzhlZmMzMGQ0MTQxN2Y0MjVmNjg1NDYxYmQ4OGI4NjMxN2U5NzI1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBXZWQsIDIyIEZlYiAyMDEyIDE3OjMxOjIxICswODAwClN1YmplY3Q6IFtQQVRDSF0g
W0JsYWNrQmVycnldIFVwc3RyZWFtIEdMRVMyQ29udGV4dC57aCwgY3BwfQogaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTk2CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KCkluaXRpYWwgdXBzdHJlYW0sIG5vIG5ldyB0ZXN0cy4KCiogV2ViS2l0U3VwcG9ydC9H
TEVTMkNvbnRleHQuY3BwOiBBZGRlZC4KKiBXZWJLaXRTdXBwb3J0L0dMRVMyQ29udGV4dC5oOiBB
ZGRlZC4KLS0tCiBTb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICB8ICAgMTIgKysKIC4uLi9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJDb250ZXh0
LmNwcCAgICAgIHwgIDEyNSArKysrKysrKysrKysrKysrKysrKwogLi4uL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJDb250ZXh0LmggfCAgIDY4ICsrKysrKysrKysrCiAzIGZp
bGVzIGNoYW5nZWQsIDIwNSBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0dMRVMyQ29u
dGV4dC5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
S2l0U3VwcG9ydC9HTEVTMkNvbnRleHQuaAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmlu
ZGV4IDlkNmI2M2YuLjFlNGY3OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEyLTAyLTIyICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9iaWxl
LmNvbS5jbj4KKworICAgICAgICBbQmxhY2tCZXJyeV0gVXBzdHJlYW0gR0xFUzJDb250ZXh0Lnto
LCBjcHB9CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
OTE5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
aXRpYWwgdXBzdHJlYW0sIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQv
R0xFUzJDb250ZXh0LmNwcDogQWRkZWQuCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9HTEVTMkNv
bnRleHQuaDogQWRkZWQuCisKIDIwMTItMDItMTggIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmlt
LmNvbT4KIAogICAgICAgICBGYXQgZmluZ2VycyAtIGNhY2hlIHRoZSBmaXJzdCByZWN0LWJhc2Vk
IGhpdCB0ZXN0IHNvIHdlIGRvIG5vdCBuZWVkIHRvIGRvIGl0IGFnYWluCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9HTEVTMkNvbnRleHQuY3BwIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJDb250ZXh0LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTMzZmJmCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJDb250ZXh0
LmNwcApAQCAtMCwwICsxLDEyNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExLCAy
MDEyIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2luY2x1ZGUgIkdMRVMyQ29udGV4dC5oIgorCisjaW5jbHVkZSAiQXNz
ZXJ0aW9ucy5oIgorI2luY2x1ZGUgIkJhY2tpbmdTdG9yZUNvbXBvc2l0aW5nU3VyZmFjZS5oIgor
I2luY2x1ZGUgIkNocm9tZS5oIgorI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgorI2luY2x1ZGUg
IlN1cmZhY2VQb29sLmgiCisjaW5jbHVkZSAiV2ViUGFnZUNsaWVudC5oIgorI2luY2x1ZGUgIldl
YlBhZ2VfcC5oIgorCisjaW5jbHVkZSA8R0xFUzIvZ2wyLmg+CisKK25hbWVzcGFjZSBCbGFja0Jl
cnJ5IHsKK25hbWVzcGFjZSBXZWJLaXQgeworCitCYWNraW5nU3RvcmVDb21wb3NpdGluZ1N1cmZh
Y2UqIEdMRVMyQ29udGV4dDo6Y29tcG9zaXRpbmdTdXJmYWNlKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gU3VyZmFjZVBvb2w6Omdsb2JhbFN1cmZhY2VQb29sKCktPmNvbXBvc2l0aW5nU3VyZmFjZSgp
OworfQorCitQbGF0Zm9ybTo6R3JhcGhpY3M6OkJ1ZmZlciogR0xFUzJDb250ZXh0OjpidWZmZXIo
KSBjb25zdAoreworICAgIGlmIChtX3dpbmRvdykKKyAgICAgICAgcmV0dXJuIG1fd2luZG93LT5i
dWZmZXIoKTsKKworI2lmIEVOQUJMRV9DT01QT1NJVElOR19TVVJGQUNFCisgICAgQmFja2luZ1N0
b3JlQ29tcG9zaXRpbmdTdXJmYWNlKiBzdXJmYWNlID0gY29tcG9zaXRpbmdTdXJmYWNlKCk7Cisg
ICAgaWYgKHN1cmZhY2UpCisgICAgICAgIHJldHVybiBzdXJmYWNlLT5iYWNrQnVmZmVyKCktPm5h
dGl2ZUJ1ZmZlcigpOworI2VuZGlmCisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBy
ZXR1cm4gMDsKK30KKworUGFzc093blB0cjxHTEVTMkNvbnRleHQ+IEdMRVMyQ29udGV4dDo6Y3Jl
YXRlKFdlYlBhZ2VQcml2YXRlKiBwYWdlKQoreworICAgIHJldHVybiBhZG9wdFB0cihuZXcgR0xF
UzJDb250ZXh0KHBhZ2UpKTsKK30KKworR0xFUzJDb250ZXh0OjpHTEVTMkNvbnRleHQoV2ViUGFn
ZVByaXZhdGUqIHBhZ2UpCisgICAgOiBtX3dpbmRvdygwKQoreworICAgIGlmIChwYWdlLT5tX2Ns
aWVudC0+d2luZG93KCktPndpbmRvd1VzYWdlKCkgPT0gUGxhdGZvcm06OkdyYXBoaWNzOjpXaW5k
b3c6OkdMRVMyVXNhZ2UpCisgICAgICAgIG1fd2luZG93ID0gcGFnZS0+bV9jbGllbnQtPndpbmRv
dygpOworfQorCitHTEVTMkNvbnRleHQ6On5HTEVTMkNvbnRleHQoKQoreworfQorCitQbGF0Zm9y
bTo6SW50U2l6ZSBHTEVTMkNvbnRleHQ6OnN1cmZhY2VTaXplKCkgY29uc3QKK3sKKyAgICBpZiAo
bV93aW5kb3cpCisgICAgICAgIHJldHVybiBtX3dpbmRvdy0+c3VyZmFjZVNpemUoKTsKKworI2lm
IEVOQUJMRV9DT01QT1NJVElOR19TVVJGQUNFCisgICAgQmFja2luZ1N0b3JlQ29tcG9zaXRpbmdT
dXJmYWNlKiBzdXJmYWNlID0gY29tcG9zaXRpbmdTdXJmYWNlKCk7CisgICAgaWYgKHN1cmZhY2Up
CisgICAgICAgIHJldHVybiBzdXJmYWNlLT5iYWNrQnVmZmVyKCktPnN1cmZhY2VTaXplKCk7Cisj
ZW5kaWYKKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBQbGF0Zm9ybTo6
SW50U2l6ZSgpOworfQorCitib29sIEdMRVMyQ29udGV4dDo6bWFrZUN1cnJlbnQoKQoreworICAg
IFBsYXRmb3JtOjpHcmFwaGljczo6bWFrZUJ1ZmZlckN1cnJlbnQoYnVmZmVyKCksIFBsYXRmb3Jt
OjpHcmFwaGljczo6R0xFUzIpOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIEdMRVMyQ29u
dGV4dDo6c3dhcEJ1ZmZlcnMoKQoreworICAgIEFTU0VSVChnbEdldEVycm9yKCkgPT0gR0xfTk9f
RVJST1IpOworCisjaWYgRU5BQkxFX0NPTVBPU0lUSU5HX1NVUkZBQ0UKKyAgICAvLyBCZWNhdXNl
IHdlIGFyZSByZW5kZXJpbmcgY29tcG9zaXRpbmcgY29udGVudHMgaW50byBhbiBvZmYtc2NyZWVu
IHBpeG1hcCBhbmQKKyAgICAvLyB3ZSBuZWVkIHRvIGJsZW5kIHRoZSBwaXhtYXAgd2l0aCB0aGUg
d2ViIHBhZ2Ugd2luZG93IHN1cmZhY2Ugd2UgaGF2ZSB0byBjYWxsCisgICAgLy8gZ2xGaW5pc2go
KSBoZXJlLgorICAgIGdsRmluaXNoKCk7CisKKyAgICBCYWNraW5nU3RvcmVDb21wb3NpdGluZ1N1
cmZhY2UqIHN1cmZhY2UgPSBjb21wb3NpdGluZ1N1cmZhY2UoKTsKKyAgICBpZiAoc3VyZmFjZSkK
KyAgICAgICAgc3VyZmFjZS0+c3dhcEJ1ZmZlcnMoKTsKKyNlbmRpZgorCisgICAgcmV0dXJuIHRy
dWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorfSAvLyBuYW1lc3BhY2UgQmxhY2tCZXJy
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvR0xF
UzJDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9HTEVT
MkNvbnRleHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2Y4ZTNlCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQv
R0xFUzJDb250ZXh0LmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEw
LCAyMDExLCAyMDEyIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgR0xFUzJDb250ZXh0X2gKKyNkZWZpbmUgR0xFUzJDb250ZXh0X2gKKworI2luY2x1
ZGUgPEJsYWNrQmVycnlQbGF0Zm9ybUdMRVMyQ29udGV4dC5oPgorI2luY2x1ZGUgPEJsYWNrQmVy
cnlQbGF0Zm9ybVdpbmRvdy5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisKK25hbWVzcGFjZSBCbGFja0JlcnJ5IHsKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitjbGFzcyBCYWNraW5nU3RvcmVDb21wb3NpdGluZ1N1cmZhY2U7CitjbGFz
cyBXZWJQYWdlUHJpdmF0ZTsKKworY2xhc3MgR0xFUzJDb250ZXh0IDogcHVibGljIFBsYXRmb3Jt
OjpHcmFwaGljczo6R0xFUzJDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHTEVT
MkNvbnRleHQpOworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPEdMRVMyQ29udGV4dD4g
Y3JlYXRlKFdlYlBhZ2VQcml2YXRlKik7CisgICAgfkdMRVMyQ29udGV4dCgpOworCisgICAgUGxh
dGZvcm06OkludFNpemUgc3VyZmFjZVNpemUoKSBjb25zdDsKKyAgICBib29sIG1ha2VDdXJyZW50
KCk7CisgICAgYm9vbCBzd2FwQnVmZmVycygpOworCitwcml2YXRlOgorICAgIEdMRVMyQ29udGV4
dChXZWJQYWdlUHJpdmF0ZSopOworCisgICAgQmFja2luZ1N0b3JlQ29tcG9zaXRpbmdTdXJmYWNl
KiBjb21wb3NpdGluZ1N1cmZhY2UoKSBjb25zdDsKKyAgICBQbGF0Zm9ybTo6R3JhcGhpY3M6OkJ1
ZmZlciogYnVmZmVyKCkgY29uc3Q7CisKKyAgICBQbGF0Zm9ybTo6R3JhcGhpY3M6OldpbmRvdyog
bV93aW5kb3c7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIEJs
YWNrQmVycnkKKworI2VuZGlmCi0tIAoxLjcuNS40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128436</attachid>
            <date>2012-02-23 01:54:22 -0800</date>
            <delta_ts>2012-02-23 04:30:29 -0800</delta_ts>
            <desc>Patch v3</desc>
            <filename>0001-BlackBerry-Upstream-GLES2Context.-h-cpp.patch</filename>
            <type>text/plain</type>
            <size>8519</size>
            <attacher name="Leo Yang">leo.yang</attacher>
            
              <data encoding="base64">RnJvbSA2YjFlNzJkODAwM2RmNWZmZGM0Y2E5ZGM2OGUxOGRhYjIwNWRkZmExIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMZW8gWWFuZyA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNu
PgpEYXRlOiBXZWQsIDIyIEZlYiAyMDEyIDE3OjMxOjIxICswODAwClN1YmplY3Q6IFtQQVRDSF0g
W0JsYWNrQmVycnldIFVwc3RyZWFtIEdMRVMyQ29udGV4dC57aCwgY3BwfQogaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTk2CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KCkluaXRpYWwgdXBzdHJlYW0sIG5vIG5ldyB0ZXN0cy4KCiogV2ViS2l0U3VwcG9ydC9H
TEVTMkNvbnRleHQuY3BwOiBBZGRlZC4KKiBXZWJLaXRTdXBwb3J0L0dMRVMyQ29udGV4dC5oOiBB
ZGRlZC4KLS0tCiBTb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICB8ICAgMTIgKysKIC4uLi9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJDb250ZXh0
LmNwcCAgICAgIHwgIDEyNCArKysrKysrKysrKysrKysrKysrKwogLi4uL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJDb250ZXh0LmggfCAgIDY2ICsrKysrKysrKysrCiAzIGZp
bGVzIGNoYW5nZWQsIDIwMiBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0dMRVMyQ29u
dGV4dC5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
S2l0U3VwcG9ydC9HTEVTMkNvbnRleHQuaAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmlu
ZGV4IDlkNmI2M2YuLjFlNGY3OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEyLTAyLTIyICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9iaWxl
LmNvbS5jbj4KKworICAgICAgICBbQmxhY2tCZXJyeV0gVXBzdHJlYW0gR0xFUzJDb250ZXh0Lnto
LCBjcHB9CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
OTE5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
aXRpYWwgdXBzdHJlYW0sIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQv
R0xFUzJDb250ZXh0LmNwcDogQWRkZWQuCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9HTEVTMkNv
bnRleHQuaDogQWRkZWQuCisKIDIwMTItMDItMTggIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmlt
LmNvbT4KIAogICAgICAgICBGYXQgZmluZ2VycyAtIGNhY2hlIHRoZSBmaXJzdCByZWN0LWJhc2Vk
IGhpdCB0ZXN0IHNvIHdlIGRvIG5vdCBuZWVkIHRvIGRvIGl0IGFnYWluCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9HTEVTMkNvbnRleHQuY3BwIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJDb250ZXh0LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjUyMDhlCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJDb250ZXh0
LmNwcApAQCAtMCwwICsxLDEyNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExLCAy
MDEyIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJHTEVTMkNvbnRleHQuaCIKKworI2luY2x1ZGUgIkFzc2Vy
dGlvbnMuaCIKKyNpbmNsdWRlICJCYWNraW5nU3RvcmVDb21wb3NpdGluZ1N1cmZhY2UuaCIKKyNp
bmNsdWRlICJDaHJvbWUuaCIKKyNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKKyNpbmNsdWRlICJT
dXJmYWNlUG9vbC5oIgorI2luY2x1ZGUgIldlYlBhZ2VDbGllbnQuaCIKKyNpbmNsdWRlICJXZWJQ
YWdlX3AuaCIKKworI2luY2x1ZGUgPEdMRVMyL2dsMi5oPgorCituYW1lc3BhY2UgQmxhY2tCZXJy
eSB7CituYW1lc3BhY2UgV2ViS2l0IHsKKworQmFja2luZ1N0b3JlQ29tcG9zaXRpbmdTdXJmYWNl
KiBHTEVTMkNvbnRleHQ6OmNvbXBvc2l0aW5nU3VyZmFjZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IFN1cmZhY2VQb29sOjpnbG9iYWxTdXJmYWNlUG9vbCgpLT5jb21wb3NpdGluZ1N1cmZhY2UoKTsK
K30KKworUGxhdGZvcm06OkdyYXBoaWNzOjpCdWZmZXIqIEdMRVMyQ29udGV4dDo6YnVmZmVyKCkg
Y29uc3QKK3sKKyAgICBpZiAobV93aW5kb3cpCisgICAgICAgIHJldHVybiBtX3dpbmRvdy0+YnVm
ZmVyKCk7CisKKyNpZiBFTkFCTEVfQ09NUE9TSVRJTkdfU1VSRkFDRQorICAgIEJhY2tpbmdTdG9y
ZUNvbXBvc2l0aW5nU3VyZmFjZSogc3VyZmFjZSA9IGNvbXBvc2l0aW5nU3VyZmFjZSgpOworICAg
IGlmIChzdXJmYWNlKQorICAgICAgICByZXR1cm4gc3VyZmFjZS0+YmFja0J1ZmZlcigpLT5uYXRp
dmVCdWZmZXIoKTsKKyNlbmRpZgorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0
dXJuIDA7Cit9CisKK1Bhc3NPd25QdHI8R0xFUzJDb250ZXh0PiBHTEVTMkNvbnRleHQ6OmNyZWF0
ZShXZWJQYWdlUHJpdmF0ZSogcGFnZSkKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IEdMRVMy
Q29udGV4dChwYWdlKSk7Cit9CisKK0dMRVMyQ29udGV4dDo6R0xFUzJDb250ZXh0KFdlYlBhZ2VQ
cml2YXRlKiBwYWdlKQorICAgIDogbV93aW5kb3coMCkKK3sKKyAgICBpZiAocGFnZS0+bV9jbGll
bnQtPndpbmRvdygpLT53aW5kb3dVc2FnZSgpID09IFBsYXRmb3JtOjpHcmFwaGljczo6V2luZG93
OjpHTEVTMlVzYWdlKQorICAgICAgICBtX3dpbmRvdyA9IHBhZ2UtPm1fY2xpZW50LT53aW5kb3co
KTsKK30KKworR0xFUzJDb250ZXh0Ojp+R0xFUzJDb250ZXh0KCkKK3sKK30KKworUGxhdGZvcm06
OkludFNpemUgR0xFUzJDb250ZXh0OjpzdXJmYWNlU2l6ZSgpIGNvbnN0Cit7CisgICAgaWYgKG1f
d2luZG93KQorICAgICAgICByZXR1cm4gbV93aW5kb3ctPnN1cmZhY2VTaXplKCk7CisKKyNpZiBF
TkFCTEVfQ09NUE9TSVRJTkdfU1VSRkFDRQorICAgIEJhY2tpbmdTdG9yZUNvbXBvc2l0aW5nU3Vy
ZmFjZSogc3VyZmFjZSA9IGNvbXBvc2l0aW5nU3VyZmFjZSgpOworICAgIGlmIChzdXJmYWNlKQor
ICAgICAgICByZXR1cm4gc3VyZmFjZS0+YmFja0J1ZmZlcigpLT5zdXJmYWNlU2l6ZSgpOworI2Vu
ZGlmCisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gUGxhdGZvcm06Oklu
dFNpemUoKTsKK30KKworYm9vbCBHTEVTMkNvbnRleHQ6Om1ha2VDdXJyZW50KCkKK3sKKyAgICBQ
bGF0Zm9ybTo6R3JhcGhpY3M6Om1ha2VCdWZmZXJDdXJyZW50KGJ1ZmZlcigpLCBQbGF0Zm9ybTo6
R3JhcGhpY3M6OkdMRVMyKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBHTEVTMkNvbnRl
eHQ6OnN3YXBCdWZmZXJzKCkKK3sKKyAgICBBU1NFUlQoZ2xHZXRFcnJvcigpID09IEdMX05PX0VS
Uk9SKTsKKworI2lmIEVOQUJMRV9DT01QT1NJVElOR19TVVJGQUNFCisgICAgLy8gQmVjYXVzZSB3
ZSBhcmUgcmVuZGVyaW5nIGNvbXBvc2l0aW5nIGNvbnRlbnRzIGludG8gYW4gb2ZmLXNjcmVlbiBw
aXhtYXAgYW5kCisgICAgLy8gd2UgbmVlZCB0byBibGVuZCB0aGUgcGl4bWFwIHdpdGggdGhlIHdl
YiBwYWdlIHdpbmRvdyBzdXJmYWNlIHdlIGhhdmUgdG8gY2FsbAorICAgIC8vIGdsRmluaXNoKCkg
aGVyZS4KKyAgICBnbEZpbmlzaCgpOworCisgICAgQmFja2luZ1N0b3JlQ29tcG9zaXRpbmdTdXJm
YWNlKiBzdXJmYWNlID0gY29tcG9zaXRpbmdTdXJmYWNlKCk7CisgICAgaWYgKHN1cmZhY2UpCisg
ICAgICAgIHN1cmZhY2UtPnN3YXBCdWZmZXJzKCk7CisjZW5kaWYKKworICAgIHJldHVybiB0cnVl
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIEJsYWNrQmVycnkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0dMRVMy
Q29udGV4dC5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvR0xFUzJD
b250ZXh0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U3ZTg0NgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0dM
RVMyQ29udGV4dC5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwg
MjAxMSwgMjAxMiBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIEdMRVMyQ29udGV4dF9oCisjZGVmaW5lIEdMRVMyQ29udGV4dF9oCisKKyNpbmNsdWRl
IDxCbGFja0JlcnJ5UGxhdGZvcm1HTEVTMkNvbnRleHQuaD4KKyNpbmNsdWRlIDxCbGFja0JlcnJ5
UGxhdGZvcm1XaW5kb3cuaD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgQmxhY2tCZXJyeSB7CituYW1lc3BhY2Ug
V2ViS2l0IHsKKworY2xhc3MgQmFja2luZ1N0b3JlQ29tcG9zaXRpbmdTdXJmYWNlOworY2xhc3Mg
V2ViUGFnZVByaXZhdGU7CisKK2NsYXNzIEdMRVMyQ29udGV4dCA6IHB1YmxpYyBQbGF0Zm9ybTo6
R3JhcGhpY3M6OkdMRVMyQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR0xFUzJD
b250ZXh0KTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxHTEVTMkNvbnRleHQ+IGNy
ZWF0ZShXZWJQYWdlUHJpdmF0ZSopOworICAgIH5HTEVTMkNvbnRleHQoKTsKKyAgICBQbGF0Zm9y
bTo6SW50U2l6ZSBzdXJmYWNlU2l6ZSgpIGNvbnN0OworICAgIGJvb2wgbWFrZUN1cnJlbnQoKTsK
KyAgICBib29sIHN3YXBCdWZmZXJzKCk7CisKK3ByaXZhdGU6CisgICAgR0xFUzJDb250ZXh0KFdl
YlBhZ2VQcml2YXRlKik7CisgICAgQmFja2luZ1N0b3JlQ29tcG9zaXRpbmdTdXJmYWNlKiBjb21w
b3NpdGluZ1N1cmZhY2UoKSBjb25zdDsKKyAgICBQbGF0Zm9ybTo6R3JhcGhpY3M6OkJ1ZmZlciog
YnVmZmVyKCkgY29uc3Q7CisKKyAgICBQbGF0Zm9ybTo6R3JhcGhpY3M6OldpbmRvdyogbV93aW5k
b3c7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKK30gLy8gbmFtZXNwYWNlIEJsYWNrQmVy
cnkKKworI2VuZGlmCi0tIAoxLjcuNS40Cgo=
</data>
<flag name="review"
          id="130811"
          type_id="1"
          status="+"
          setter="rwlbuis"
    />
          </attachment>
      

    </bug>

</bugzilla>