<?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>50750</bug_id>
          
          <creation_ts>2010-12-09 05:14:29 -0800</creation_ts>
          <short_desc>[Qt][WK2] Add the QWKContext API class to wrap the WebContext.</short_desc>
          <delta_ts>2010-12-10 04:03:42 -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>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jocelyn Turcotte">jturcotte</reporter>
          <assigned_to name="Jocelyn Turcotte">jturcotte</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>319408</commentid>
    <comment_count>0</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2010-12-09 05:14:29 -0800</bug_when>
    <thetext>[Qt][WK2] Add the QWKContext API class to wrap the WebContext.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319412</commentid>
    <comment_count>1</comment_count>
      <attachid>76048</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2010-12-09 05:22:01 -0800</bug_when>
    <thetext>Created attachment 76048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320004</commentid>
    <comment_count>2</comment_count>
      <attachid>76048</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-12-10 00:38:03 -0800</bug_when>
    <thetext>Comment on attachment 76048
Patch

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

&gt; WebKit2/UIProcess/API/qt/qwkcontext.h:36
&gt; +    // Bridge from the C API
&gt; +    QWKContext(WKPageNamespaceRef pageNamespaceRef, QObject* parent = 0);

Do we need this if the namespace is going away anyway?

&gt; WebKit2/UIProcess/API/qt/qwkcontext_p.h:37
&gt; +    RefPtr&lt;WebKit::WebPageNamespace&gt; pageNamespace;
&gt; +

unneeded newspace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320017</commentid>
    <comment_count>3</comment_count>
      <attachid>76175</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2010-12-10 01:25:58 -0800</bug_when>
    <thetext>Created attachment 76175
Patch v2

(In reply to comment #2)
&gt; (From update of attachment 76048 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=76048&amp;action=review
&gt; 
&gt; &gt; WebKit2/UIProcess/API/qt/qwkcontext.h:36
&gt; &gt; +    // Bridge from the C API
&gt; &gt; +    QWKContext(WKPageNamespaceRef pageNamespaceRef, QObject* parent = 0);
&gt; 
&gt; Do we need this if the namespace is going away anyway?
&gt; 
This namespace is given to us in WebKitTools/WebKitTestRunner/qt/PlatformWebViewQt.cpp.
It shouldn&apos;t be public so we might have to find a different way sooner or later.
Having this contstructor in QWKContextPrivate and have a non-public friend factory method kind of trick could do it.

&gt; &gt; WebKit2/UIProcess/API/qt/qwkcontext_p.h:37
&gt; &gt; +    RefPtr&lt;WebKit::WebPageNamespace&gt; pageNamespace;
&gt; &gt; +
&gt; 
&gt; unneeded newspace
Fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320088</commentid>
    <comment_count>4</comment_count>
      <attachid>76175</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-10 04:03:35 -0800</bug_when>
    <thetext>Comment on attachment 76175
Patch v2

Clearing flags on attachment: 76175

Committed r73716: &lt;http://trac.webkit.org/changeset/73716&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320089</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-10 04:03:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76048</attachid>
            <date>2010-12-09 05:22:01 -0800</date>
            <delta_ts>2010-12-10 01:25:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50750-20101209142144.patch</filename>
            <type>text/plain</type>
            <size>16889</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
YmJmNDAxY2IxNTk2NDgyMGU2MzQyYzc5MGM4NmRmNWQyZTdmMGJkZS4uMTdhOWU0Y2U5OGI0OTFl
NzU3N2U5ZjljMGQ5MWRhYjZhMjE3NDMzNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0xMi0wOSAgSm9j
ZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF1bV0syXSBBZGQgdGhlIFFX
S0NvbnRleHQgQVBJIGNsYXNzIHRvIHdyYXAgdGhlIFdlYkNvbnRleHQuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDc1MAorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9xdC9XS1ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FncmFw
aGljc3drdmlldy5jcHA6CisgICAgICAgIChRR3JhcGhpY3NXS1ZpZXc6OlFHcmFwaGljc1dLVmll
dyk6CisgICAgICAgIENoYW5nZSB0aGUgV0tQYWdlTmFtZXNwYWNlUmVmIGFyZ3VtZW50IHRvIFFX
S0NvbnRleHQqCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xZ3JhcGhpY3N3a3ZpZXcuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F3a2NvbnRleHQuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F3a2NvbnRleHQuaDogQWRkZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9xdC9xd2tjb250ZXh0X3AuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9xdC9xd2twYWdlLmNwcDoKKyAgICAgICAgKFFXS1BhZ2VQcml2YXRlOjpRV0tQYWdlUHJp
dmF0ZSk6CisgICAgICAgIChRV0tQYWdlOjpRV0tQYWdlKToKKyAgICAgICAgQ2hhbmdlIHRoZSBX
S1BhZ2VOYW1lc3BhY2VSZWYgYXJndW1lbnQgdG8gUVdLQ29udGV4dCoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL3F0L3F3a3BhZ2UuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F3a3Bh
Z2VfcC5oOgorICAgICAgICAqIFdlYktpdDIucHJvOgorCiAyMDEwLTEyLTA4ICBTYW0gV2Vpbmln
ICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgIkVycm9y
IiBHYXJlbi4KZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9XS1ZpZXcuaCBi
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9XS1ZpZXcuaAppbmRleCAyMjE2MjhlYmEyZmJkZjNi
NjRkNzc0ZDE1MmQyZTU4YzEyYmI0OTBmLi41YmI5NWU4YzQ2NmRhNWZmMjI3YzYwY2M1OGVlZThm
YTlmNDUzZjY1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvV0tWaWV3LmgK
KysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L1dLVmlldy5oCkBAIC0yMSw2ICsyMSw3IEBA
CiAjZGVmaW5lIFdLVmlld19oCiAKICNpbmNsdWRlIDxXZWJLaXQyL3FncmFwaGljc3drdmlldy5o
PgorI2luY2x1ZGUgPFdlYktpdDIvcXdrY29udGV4dC5oPgogI2luY2x1ZGUgPFdlYktpdDIvcXdr
cGFnZS5oPgogI2luY2x1ZGUgPFdlYktpdDIvcXdrcHJlZmVyZW5jZXMuaD4KIApkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FncmFwaGljc3drdmlldy5jcHAgYi9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcAppbmRleCBkNmVmZDkzZWIyYWE3
MDZlYjExYTE2NjM1OGMyOGZlODg5NWExODM1Li44ZTgxOGZhMTA4Mjg5MjU3NDM3NGE4NjFiNzcy
NDk3YTUxMDY0ZDkxIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWdyYXBo
aWNzd2t2aWV3LmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2
aWV3LmNwcApAQCAtNTcsNyArNTcsNyBAQCBzdHJ1Y3QgUUdyYXBoaWNzV0tWaWV3UHJpdmF0ZSB7
CiAgICAgYm9vbCBtX2lzQ2hhbmdpbmdTY2FsZTsKIH07CiAKLVFHcmFwaGljc1dLVmlldzo6UUdy
YXBoaWNzV0tWaWV3KFdLUGFnZU5hbWVzcGFjZVJlZiBwYWdlTmFtZXNwYWNlUmVmLCBCYWNraW5n
U3RvcmVUeXBlIGJhY2tpbmdTdG9yZVR5cGUsIFFHcmFwaGljc0l0ZW0qIHBhcmVudCkKK1FHcmFw
aGljc1dLVmlldzo6UUdyYXBoaWNzV0tWaWV3KFFXS0NvbnRleHQqIGNvbnRleHQsIEJhY2tpbmdT
dG9yZVR5cGUgYmFja2luZ1N0b3JlVHlwZSwgUUdyYXBoaWNzSXRlbSogcGFyZW50KQogICAgIDog
UUdyYXBoaWNzV2lkZ2V0KHBhcmVudCkKICAgICAsIGQobmV3IFFHcmFwaGljc1dLVmlld1ByaXZh
dGUodGhpcykpCiB7CkBAIC03OSw3ICs3OSw3IEBAIFFHcmFwaGljc1dLVmlldzo6UUdyYXBoaWNz
V0tWaWV3KFdLUGFnZU5hbWVzcGFjZVJlZiBwYWdlTmFtZXNwYWNlUmVmLCBCYWNraW5nU3RvCiAg
ICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGQtPnBhZ2UgPSBuZXcgUVdLUGFnZShwYWdlTmFt
ZXNwYWNlUmVmKTsKKyAgICBkLT5wYWdlID0gbmV3IFFXS1BhZ2UoY29udGV4dCk7CiAgICAgZC0+
cGFnZS0+ZC0+aW5pdChzaXplKCkudG9TaXplKCksIGRyYXdpbmdBcmVhUHJveHkpOwogICAgIGNv
bm5lY3QoZC0+cGFnZSwgU0lHTkFMKHRpdGxlQ2hhbmdlZChRU3RyaW5nKSksIHRoaXMsIFNJR05B
TCh0aXRsZUNoYW5nZWQoUVN0cmluZykpKTsKICAgICBjb25uZWN0KGQtPnBhZ2UsIFNJR05BTChs
b2FkU3RhcnRlZCgpKSwgdGhpcywgU0lHTkFMKGxvYWRTdGFydGVkKCkpKTsKZGlmZiAtLWdpdCBh
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZ3JhcGhpY3N3a3ZpZXcuaCBiL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xZ3JhcGhpY3N3a3ZpZXcuaAppbmRleCA2YzNjMTU3NTIyZTBkNTRlNGE0
Y2ZiNTQzZWNlM2RmZGIxZDUyMTVhLi42ZjQwODFlZmM2ZjQxYWY1OTYzOWNmOWY2OGVhMWYxMTQ4
OTU0ZWFlIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2
aWV3LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FncmFwaGljc3drdmlldy5oCkBA
IC0xMSw2ICsxMSw3IEBAIFFUX0JFR0lOX05BTUVTUEFDRQogY2xhc3MgUUN1cnNvcjsKIFFUX0VO
RF9OQU1FU1BBQ0UKIAorY2xhc3MgUVdLQ29udGV4dDsKIGNsYXNzIFFHcmFwaGljc1dLVmlld1By
aXZhdGU7CiAKIFdLU3RyaW5nUmVmIFdLU3RyaW5nQ3JlYXRlV2l0aFFTdHJpbmcoY29uc3QgUVN0
cmluZyYgcVN0cmluZyk7CkBAIC0yMyw3ICsyNCw3IEBAIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFH
cmFwaGljc1dLVmlldyA6IHB1YmxpYyBRR3JhcGhpY3NXaWRnZXQgewogCiBwdWJsaWM6CiAgICAg
ZW51bSBCYWNraW5nU3RvcmVUeXBlIHsgU2ltcGxlLCBUaWxlZCB9OwotICAgIFFHcmFwaGljc1dL
VmlldyhXS1BhZ2VOYW1lc3BhY2VSZWYgbmFtZXNwYWNlUmVmLCBCYWNraW5nU3RvcmVUeXBlIGJh
Y2tpbmdTdG9yZVR5cGUgPSBTaW1wbGUsIFFHcmFwaGljc0l0ZW0qIHBhcmVudCA9IDApOworICAg
IFFHcmFwaGljc1dLVmlldyhRV0tDb250ZXh0KiBjb250ZXh0LCBCYWNraW5nU3RvcmVUeXBlIGJh
Y2tpbmdTdG9yZVR5cGUgPSBTaW1wbGUsIFFHcmFwaGljc0l0ZW0qIHBhcmVudCA9IDApOwogCiAg
ICAgdmlydHVhbCB+UUdyYXBoaWNzV0tWaWV3KCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xd2tjb250ZXh0LmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
d2tjb250ZXh0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzM0MTgzMmZmMzMzNDVhYWU2ODE0ZWNkZGE4Mzc3
NjAzMjA1Y2ZjCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3
a2NvbnRleHQuY3BwCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh
bTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVk
ZSAicXdrY29udGV4dC5oIgorI2luY2x1ZGUgInF3a2NvbnRleHRfcC5oIgorCisjaW5jbHVkZSAi
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CisKK3N0
YXRpYyBpbmxpbmUgdm9pZCBpbml0aWFsaXplUGxhdGZvcm1TdHJhdGVnaWVzSWZOZWVkZWQoKQor
eworICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkID0gZmFsc2U7CisgICAgaWYgKGluaXRpYWxp
emVkKQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmluaXRp
YWxpemUoKTsKKyAgICBpbml0aWFsaXplZCA9IHRydWU7Cit9CisKK1FXS0NvbnRleHRQcml2YXRl
OjpRV0tDb250ZXh0UHJpdmF0ZShRV0tDb250ZXh0KiBxcSkKKyAgICA6IHEocXEpCit7CisgICAg
aW5pdGlhbGl6ZVBsYXRmb3JtU3RyYXRlZ2llc0lmTmVlZGVkKCk7Cit9CisKK1FXS0NvbnRleHRQ
cml2YXRlOjp+UVdLQ29udGV4dFByaXZhdGUoKQoreworfQorCitRV0tDb250ZXh0OjpRV0tDb250
ZXh0KFFPYmplY3QqIHBhcmVudCkKKyAgICA6IFFPYmplY3QocGFyZW50KQorICAgICwgZChuZXcg
UVdLQ29udGV4dFByaXZhdGUodGhpcykpCit7CisgICAgZC0+Y29udGV4dCA9IFdlYkNvbnRleHQ6
OmNyZWF0ZShTdHJpbmcoKSk7CisgICAgZC0+cGFnZU5hbWVzcGFjZSA9IGQtPmNvbnRleHQtPmNy
ZWF0ZVBhZ2VOYW1lc3BhY2UoKTsKK30KKworUVdLQ29udGV4dDo6UVdLQ29udGV4dChXS1BhZ2VO
YW1lc3BhY2VSZWYgcGFnZU5hbWVzcGFjZVJlZiwgUU9iamVjdCogcGFyZW50KQorICAgIDogUU9i
amVjdChwYXJlbnQpCisgICAgLCBkKG5ldyBRV0tDb250ZXh0UHJpdmF0ZSh0aGlzKSkKK3sKKyAg
ICBkLT5wYWdlTmFtZXNwYWNlID0gdG9JbXBsKHBhZ2VOYW1lc3BhY2VSZWYpOworICAgIGQtPmNv
bnRleHQgPSBkLT5wYWdlTmFtZXNwYWNlLT5jb250ZXh0KCk7Cit9CisKK1FXS0NvbnRleHQ6On5R
V0tDb250ZXh0KCkKK3sKKyAgICBkZWxldGUgZDsKK30KKworI2luY2x1ZGUgIm1vY19xd2tjb250
ZXh0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2tjb250ZXh0
LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrY29udGV4dC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhk
ZmY4MTUwYzc2ZGVhNTI2Njk3MTljYWEzMjE3N2JhYjQ5NGZjMzQKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrY29udGV4dC5oCkBAIC0wLDAgKzEsNDQgQEAK
Ky8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMg
c3Vic2lkaWFyeSgtaWVzKQorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyovCisKKyNpZm5kZWYgcXdrY29udGV4dF9oCisjZGVmaW5lIHF3a2Nv
bnRleHRfaAorCisjaW5jbHVkZSAicXdlYmtpdGdsb2JhbC5oIgorI2luY2x1ZGUgPFFPYmplY3Q+
CisjaW5jbHVkZSA8V2ViS2l0Mi9XS1BhZ2VOYW1lc3BhY2UuaD4KKworY2xhc3MgUVdLQ29udGV4
dFByaXZhdGU7CisKK2NsYXNzIFFXRUJLSVRfRVhQT1JUIFFXS0NvbnRleHQgOiBwdWJsaWMgUU9i
amVjdCB7CisgICAgUV9PQkpFQ1QKK3B1YmxpYzoKKyAgICBRV0tDb250ZXh0KFFPYmplY3QqIHBh
cmVudCA9IDApOworICAgIHZpcnR1YWwgflFXS0NvbnRleHQoKTsKKworICAgIC8vIEJyaWRnZSBm
cm9tIHRoZSBDIEFQSQorICAgIFFXS0NvbnRleHQoV0tQYWdlTmFtZXNwYWNlUmVmIHBhZ2VOYW1l
c3BhY2VSZWYsIFFPYmplY3QqIHBhcmVudCA9IDApOworCitwcml2YXRlOgorICAgIFFXS0NvbnRl
eHRQcml2YXRlKiBkOworCisgICAgZnJpZW5kIGNsYXNzIFFXS1BhZ2VQcml2YXRlOworfTsKKwor
I2VuZGlmIC8qIHF3a2NvbnRleHRfaCAqLwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3F3a2NvbnRleHRfcC5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a2NvbnRl
eHRfcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjhlOTYzNjYyNThmYWFiZTEyOTljMDI5OTNjODVkZmRmZDVhZWI0
NTEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrY29udGV4
dF9wLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEg
Q29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisKKyAgICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworCisjaWZuZGVmIHF3
a2NvbnRleHRfcF9oCisjZGVmaW5lIHF3a2NvbnRleHRfcF9oCisKKyNpbmNsdWRlICJXZWJDb250
ZXh0LmgiCisjaW5jbHVkZSAiV2ViUGFnZU5hbWVzcGFjZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKworY2xhc3MgUVdLQ29udGV4dFByaXZhdGUgeworcHVibGljOgorICAgIFFXS0NvbnRl
eHRQcml2YXRlKFFXS0NvbnRleHQqKTsKKyAgICB+UVdLQ29udGV4dFByaXZhdGUoKTsKKworICAg
IFFXS0NvbnRleHQqIHE7CisKKyAgICBSZWZQdHI8V2ViS2l0OjpXZWJDb250ZXh0PiBjb250ZXh0
OworICAgIFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VOYW1lc3BhY2U+IHBhZ2VOYW1lc3BhY2U7CisK
K307CisKKyNlbmRpZiAvKiBxa2NvbnRleHRfcF9oICovCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdr
cGFnZS5jcHAKaW5kZXggY2ViYWMyYjQ0ZGQzN2E5YWRjNjc4ZjZiNGMwMDViZmM4Yzc2YjQyZC4u
NzRhY2FlNWJjY2NlMDIyNTE5NjcwYTJkMGM2MDI1NjhjODY0Yzk2ZiAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xd2twYWdlLmNwcApAQCAtMjQsNiArMjQsOCBAQAogI2luY2x1ZGUgInF3a3ByZWZl
cmVuY2VzX3AuaCIKIAogI2luY2x1ZGUgIkNsaWVudEltcGwuaCIKKyNpbmNsdWRlICJxd2tjb250
ZXh0LmgiCisjaW5jbHVkZSAicXdrY29udGV4dF9wLmgiCiAjaW5jbHVkZSAicXdraGlzdG9yeS5o
IgogI2luY2x1ZGUgInF3a2hpc3RvcnlfcC5oIgogI2luY2x1ZGUgIkZpbmRJbmRpY2F0b3IuaCIK
QEAgLTMyLDcgKzM0LDYgQEAKICNpbmNsdWRlICJXZWJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV2Vi
Q29udGV4dE1lbnVQcm94eVF0LmgiCiAjaW5jbHVkZSAiV2ViRXZlbnRGYWN0b3J5UXQuaCIKLSNp
bmNsdWRlICJXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnVQ
cm94eVF0LmgiCiAjaW5jbHVkZSAiV0tTdHJpbmdRdC5oIgogI2luY2x1ZGUgIldLVVJMUXQuaCIK
QEAgLTUyLDI0ICs1MywxNCBAQAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgaW5saW5lIHZvaWQgaW5pdGlhbGl6ZVBsYXRmb3JtU3Ry
YXRlZ2llc0lmTmVlZGVkKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplZCA9IGZhbHNl
OwotICAgIGlmIChpbml0aWFsaXplZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjppbml0aWFsaXplKCk7Ci0gICAgaW5pdGlhbGl6ZWQgPSB0cnVlOwotfQot
Ci1RV0tQYWdlUHJpdmF0ZTo6UVdLUGFnZVByaXZhdGUoUVdLUGFnZSogcXEsIFdLUGFnZU5hbWVz
cGFjZVJlZiBuYW1lc3BhY2VSZWYpCitRV0tQYWdlUHJpdmF0ZTo6UVdLUGFnZVByaXZhdGUoUVdL
UGFnZSogcXEsIFFXS0NvbnRleHQqIGMpCiAgICAgOiBxKHFxKQorICAgICwgY29udGV4dChjKQog
ICAgICwgcHJlZmVyZW5jZXMoMCkKICAgICAsIGNyZWF0ZU5ld1BhZ2VGbigwKQogewotICAgIGlu
aXRpYWxpemVQbGF0Zm9ybVN0cmF0ZWdpZXNJZk5lZWRlZCgpOwogICAgIG1lbXNldChhY3Rpb25z
LCAwLCBzaXplb2YoYWN0aW9ucykpOwotICAgIHBhZ2UgPSB0b0ltcGwobmFtZXNwYWNlUmVmKS0+
Y3JlYXRlV2ViUGFnZSgwKTsgLy8gUGFnZSBnZXRzIGEgcmVmIHRvIG5hbWVzcGFjZS4KKyAgICBw
YWdlID0gY29udGV4dC0+ZC0+cGFnZU5hbWVzcGFjZS0+Y3JlYXRlV2ViUGFnZSgwKTsKICAgICBw
YWdlLT5zZXRQYWdlQ2xpZW50KHRoaXMpOwogICAgIGhpc3RvcnkgPSBRV0tIaXN0b3J5UHJpdmF0
ZTo6Y3JlYXRlSGlzdG9yeShwYWdlLT5iYWNrRm9yd2FyZExpc3QoKSk7CiB9CkBAIC0zMDQsOCAr
Mjk1LDggQEAgdm9pZCBRV0tQYWdlUHJpdmF0ZTo6dG91Y2hFdmVudChRVG91Y2hFdmVudCogZXZl
bnQpCiAjZW5kaWYKIH0KIAotUVdLUGFnZTo6UVdLUGFnZShXS1BhZ2VOYW1lc3BhY2VSZWYgbmFt
ZXNwYWNlUmVmKQotICAgIDogZChuZXcgUVdLUGFnZVByaXZhdGUodGhpcywgbmFtZXNwYWNlUmVm
KSkKK1FXS1BhZ2U6OlFXS1BhZ2UoUVdLQ29udGV4dCogY29udGV4dCkKKyAgICA6IGQobmV3IFFX
S1BhZ2VQcml2YXRlKHRoaXMsIGNvbnRleHQpKQogewogICAgIFdLUGFnZUxvYWRlckNsaWVudCBs
b2FkQ2xpZW50ID0gewogICAgICAgICAwLCAgICAgIC8qIHZlcnNpb24gKi8KZGlmZiAtLWdpdCBh
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXdrcGFnZS5oCmluZGV4IDg2NmY4NGY0ZjQ2ZDc3NDM0MGY3Yzc0NzljNGEzYjAyYmU3
MjVhN2EuLjY0NWM4NDViOTg2ZDM3MGU3NGI0ZTVmMTE0NzBkMzFmYzM0YWFkZmMgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmgKKysrIGIvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3F3a3BhZ2UuaApAQCAtMTAsOSArMTAsOSBAQAogI2luY2x1ZGUgPFFVcmw+
CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLUGFnZS5o
PgotI2luY2x1ZGUgPFdlYktpdDIvV0tQYWdlTmFtZXNwYWNlLmg+CiAKIGNsYXNzIFFDdXJzb3I7
CitjbGFzcyBRV0tDb250ZXh0OwogY2xhc3MgUVdLR3JhcGhpY3NXaWRnZXQ7CiBjbGFzcyBRV0tQ
cmVmZXJlbmNlczsKIGNsYXNzIFFXS1BhZ2VQcml2YXRlOwpAQCAtNjYsNyArNjYsNyBAQCBwdWJs
aWM6CiAgICAgICAgIGZyaWVuZCBjbGFzcyBRV0tQYWdlOwogICAgIH07CiAKLSAgICBRV0tQYWdl
KFdLUGFnZU5hbWVzcGFjZVJlZik7CisgICAgUVdLUGFnZShRV0tDb250ZXh0Kik7CiAgICAgdmly
dHVhbCB+UVdLUGFnZSgpOwogCiAgICAgV0tQYWdlUmVmIHBhZ2VSZWYoKSBjb25zdDsKQEAgLTEw
Miw2ICsxMDIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRQYWdlQW5kVGV4dFpvb21GYWN0b3Jz
KHFyZWFsIHBhZ2Vab29tRmFjdG9yLCBxcmVhbCB0ZXh0Wm9vbUZhY3Rvcik7CiAKICAgICBRV0tI
aXN0b3J5KiBoaXN0b3J5KCkgY29uc3Q7CisgICAgUVdLQ29udGV4dCogY29udGV4dCgpIGNvbnN0
OwogCiAgICAgdm9pZCBmaW5kWm9vbWFibGVBcmVhRm9yUG9pbnQoY29uc3QgUVBvaW50Jik7CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlX3AuaCBiL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlX3AuaAppbmRleCA1NWZmNzY0MjkwOGJiN2E5OTI3
YmRmNzVmOTlmYjU1MWQ0NWNmZDdiLi4zYmI3NTE0ZjQ2MjA0NTU3ODUxN2ZlZmE5ODBlMDc4OWRj
YjIxNWE0IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZV9wLmgK
KysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2VfcC5oCkBAIC0zNiw3ICszNiw3
IEBAIGNsYXNzIFFXS1ByZWZlcmVuY2VzOwogCiBjbGFzcyBRV0tQYWdlUHJpdmF0ZSA6IFdlYktp
dDo6UGFnZUNsaWVudCB7CiBwdWJsaWM6Ci0gICAgUVdLUGFnZVByaXZhdGUoUVdLUGFnZSosIFdL
UGFnZU5hbWVzcGFjZVJlZik7CisgICAgUVdLUGFnZVByaXZhdGUoUVdLUGFnZSosIFFXS0NvbnRl
eHQqKTsKICAgICB+UVdLUGFnZVByaXZhdGUoKTsKIAogICAgIHN0YXRpYyBRV0tQYWdlUHJpdmF0
ZSogZ2V0KFFXS1BhZ2UqIHBhZ2UpIHsgcmV0dXJuIHBhZ2UtPmQ7IH0KQEAgLTg5LDYgKzg5LDcg
QEAgcHVibGljOgogCiAgICAgUVdLUGFnZSogcTsKIAorICAgIFFXS0NvbnRleHQqIGNvbnRleHQ7
CiAgICAgUVdLSGlzdG9yeSogaGlzdG9yeTsKIAogICAgIFFBY3Rpb24qIGFjdGlvbnNbUVdLUGFn
ZTo6V2ViQWN0aW9uQ291bnRdOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJLaXQyLnBybyBiL1dl
YktpdDIvV2ViS2l0Mi5wcm8KaW5kZXggYTJhZWQwOGRiMjgzYzRiMTQ3ZGJmZmZhOTJmMDkyN2Yz
MmI0MGE0Zi4uM2E1NDhiMjcwODNlOTA5YTBlZGNkMGIyODMxMDFhNTExZjI0YzVlMCAxMDA2NDQK
LS0tIGEvV2ViS2l0Mi9XZWJLaXQyLnBybworKysgYi9XZWJLaXQyL1dlYktpdDIucHJvCkBAIC0x
NDcsNiArMTQ3LDcgQEAgSU5DTFVERVBBVEggPSBcCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydCBcCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9xdCBcCiAgICAgV2ViUHJvY2Vz
cy9XZWJQYWdlIFwKKyAgICBXZWJQcm9jZXNzL3F0IFwKICAgICAkJElOQ0xVREVQQVRICiAKIElO
Q0xVREVQQVRIICs9IFwKQEAgLTI5NCw2ICsyOTUsOCBAQCBIRUFERVJTICs9IFwKICAgICBVSVBy
b2Nlc3MvQVBJL2NwcC9xdC9XS1VSTFF0LmggXAogICAgIFVJUHJvY2Vzcy9BUEkvcXQvQ2xpZW50
SW1wbC5oIFwKICAgICBVSVByb2Nlc3MvQVBJL3F0L3FncmFwaGljc3drdmlldy5oIFwKKyAgICBV
SVByb2Nlc3MvQVBJL3F0L3F3a2NvbnRleHQuaCBcCisgICAgVUlQcm9jZXNzL0FQSS9xdC9xd2tj
b250ZXh0X3AuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9xdC9xd2toaXN0b3J5LmggXAogICAgIFVJ
UHJvY2Vzcy9BUEkvcXQvcXdraGlzdG9yeV9wLmggXAogICAgIFVJUHJvY2Vzcy9BUEkvcXQvcXdr
cGFnZS5oIFwKQEAgLTQ4NCw2ICs0ODcsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3Mv
QVBJL2NwcC9xdC9XS1VSTFF0LmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9xdC9DbGllbnRJbXBs
LmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9xdC9xZ3JhcGhpY3N3a3ZpZXcuY3BwIFwKKyAgICBV
SVByb2Nlc3MvQVBJL3F0L3F3a2NvbnRleHQuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL3F0L3F3
a2hpc3RvcnkuY3BwIFwKICAgICBVSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwIFwKICAgICBV
SVByb2Nlc3MvQVBJL3F0L3F3a3ByZWZlcmVuY2VzLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggNzdmY2FmMzA1ZmNi
ODFjYzYzYTEzMDZhZTcxZjYwZWNhZjJlZWYyZi4uMTkyMzY2Yjk2ZTZmMjUzYWQxMDQ3NDcyYWFl
M2IyMWQ2NjJiMGFiOCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEwLTEyLTA5ICBKb2NlbHlu
IFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XVtXSzJdIEFkZCB0aGUgUVdLQ29u
dGV4dCBBUEkgY2xhc3MgdG8gd3JhcCB0aGUgV2ViQ29udGV4dC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwNzUwCisKKyAgICAgICAgKiBNaW5pQnJv
d3Nlci9xdC9Ccm93c2VyVmlldy5jcHA6CisgICAgICAgIChCcm93c2VyVmlldzo6QnJvd3NlclZp
ZXcpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3Lmg6CisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHA6CisgICAgICAgIChXVFI6
OldlYlZpZXc6OldlYlZpZXcpOgorCiAyMDEwLTEyLTA4ICBXaWxsaWFtIFNpZWdyaXN0IDx3c2ll
Z3Jpc3RAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwIGIvV2Vi
S2l0VG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwCmluZGV4IGM4ODVhMzlhMDM4
YzMxMjMzYmI2NmM4NTI1ZTQ0M2U2OTMwZmIxYjEuLmU2NTQ4YWI2Y2YwZTIwODBmYWE1ZTY1ZjY4
ODk5NWJjYmUzNmY1YWUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL01pbmlCcm93c2VyL3F0L0Jy
b3dzZXJWaWV3LmNwcAorKysgYi9XZWJLaXRUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmll
dy5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJCcm93c2VyVmlldy5oIgogCiAjaW5j
bHVkZSA8UUdyYXBoaWNzU2NlbmU+Ci0jaW5jbHVkZSAiV0tDb250ZXh0LmgiCiAKIHN0YXRpYyBR
V0tQYWdlKiBjcmVhdGVOZXdQYWdlKFFXS1BhZ2UqIHBhZ2UpCiB7CkBAIC0zOSwxMSArMzgsOSBA
QCBzdGF0aWMgUVdLUGFnZSogY3JlYXRlTmV3UGFnZShRV0tQYWdlKiBwYWdlKQogQnJvd3NlclZp
ZXc6OkJyb3dzZXJWaWV3KFFHcmFwaGljc1dLVmlldzo6QmFja2luZ1N0b3JlVHlwZSBiYWNraW5n
U3RvcmVUeXBlLCBRV2lkZ2V0KiBwYXJlbnQpCiAgICAgOiBRR3JhcGhpY3NWaWV3KHBhcmVudCkK
ICAgICAsIG1faXRlbSgwKQotICAgICwgbV9jb250ZXh0KFdLQ29udGV4dEdldFNoYXJlZFByb2Nl
c3NDb250ZXh0KCkpCisgICAgLCBtX2NvbnRleHQobmV3IFFXS0NvbnRleHQodGhpcykpCiB7Ci0g
ICAgV0tSZXRhaW5QdHI8V0tQYWdlTmFtZXNwYWNlUmVmPiBwYWdlTmFtZXNwYWNlKEFkb3B0V0ss
IFdLUGFnZU5hbWVzcGFjZUNyZWF0ZShtX2NvbnRleHQuZ2V0KCkpKTsKLQotICAgIG1faXRlbSA9
IG5ldyBRR3JhcGhpY3NXS1ZpZXcocGFnZU5hbWVzcGFjZS5nZXQoKSwgYmFja2luZ1N0b3JlVHlw
ZSwgMCk7CisgICAgbV9pdGVtID0gbmV3IFFHcmFwaGljc1dLVmlldyhtX2NvbnRleHQsIGJhY2tp
bmdTdG9yZVR5cGUsIDApOwogICAgIHNldFNjZW5lKG5ldyBRR3JhcGhpY3NTY2VuZSh0aGlzKSk7
CiAgICAgc2NlbmUoKS0+YWRkSXRlbShtX2l0ZW0pOwogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oIGIvV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIv
cXQvQnJvd3NlclZpZXcuaAppbmRleCA3ZTgyODhlNzYzYjFiNGI5N2VhYzYxZmUwYWZiZjEzNzJk
OTU4NzE4Li43NjgwYWE3ZDUyZjAxODMwMDRhNjFjODcxN2NhYWVlZjc0NTJiNDBlIDEwMDY0NAot
LS0gYS9XZWJLaXRUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oCisrKyBiL1dlYktp
dFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmgKQEAgLTMxLDcgKzMxLDcgQEAKIAog
I2luY2x1ZGUgPFFHcmFwaGljc1ZpZXc+CiAjaW5jbHVkZSAicWdyYXBoaWNzd2t2aWV3LmgiCi0j
aW5jbHVkZSAiV0tSZXRhaW5QdHIuaCIKKyNpbmNsdWRlICJxd2tjb250ZXh0LmgiCiAKIGNsYXNz
IEJyb3dzZXJWaWV3IDogcHVibGljIFFHcmFwaGljc1ZpZXcgewogICAgIFFfT0JKRUNUCkBAIC00
OCw3ICs0OCw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICBRR3JhcGhpY3NXS1ZpZXcq
IG1faXRlbTsKLSAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IG1fY29udGV4dDsKKyAgICBR
V0tDb250ZXh0KiBtX2NvbnRleHQ7CiB9OwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvUGxhdGZvcm1XZWJWaWV3UXQuY3BwIGIvV2ViS2l0VG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAKaW5kZXggZDg0OTdh
NmRiN2M5YjY1NDM1Y2JlZjk3OGRmNjliZDhjMjM4Mjg2NC4uYmQ5OTFhZDMzODUyYzIzM2M4ZmUw
YmIzZDg3MjM1MzA5MGUxNGQwMCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKIAogI2lu
Y2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgogI2luY2x1ZGUgInFncmFwaGljc3drdmlldy5oIgor
I2luY2x1ZGUgInF3a2NvbnRleHQuaCIKICNpbmNsdWRlIDxRdEd1aT4KIAogbmFtZXNwYWNlIFdU
UiB7CkBAIC00NCw3ICs0NSw3IEBAIHByaXZhdGU6CiAKIFdlYlZpZXc6OldlYlZpZXcoV0tQYWdl
TmFtZXNwYWNlUmVmIG5hbWVzcGFjZVJlZikKICAgICA6IFFHcmFwaGljc1ZpZXcoKQotICAgICwg
bV9pdGVtKG5ldyBRR3JhcGhpY3NXS1ZpZXcobmFtZXNwYWNlUmVmKSkKKyAgICAsIG1faXRlbShu
ZXcgUUdyYXBoaWNzV0tWaWV3KG5ldyBRV0tDb250ZXh0KG5hbWVzcGFjZVJlZiwgdGhpcykpKQog
ewogICAgIHNldFNjZW5lKG5ldyBRR3JhcGhpY3NTY2VuZSh0aGlzKSk7CiAgICAgc2NlbmUoKS0+
YWRkSXRlbShtX2l0ZW0pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76175</attachid>
            <date>2010-12-10 01:25:58 -0800</date>
            <delta_ts>2010-12-10 04:03:35 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>qwkcontext.patch</filename>
            <type>text/plain</type>
            <size>15897</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
YmJmNDAxYy4uMTdhOWU0YyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0xMi0wOSAgSm9jZWx5biBUdXJj
b3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF1bV0syXSBBZGQgdGhlIFFXS0NvbnRleHQg
QVBJIGNsYXNzIHRvIHdyYXAgdGhlIFdlYkNvbnRleHQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDc1MAorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC9XS1ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FncmFwaGljc3drdmll
dy5jcHA6CisgICAgICAgIChRR3JhcGhpY3NXS1ZpZXc6OlFHcmFwaGljc1dLVmlldyk6CisgICAg
ICAgIENoYW5nZSB0aGUgV0tQYWdlTmFtZXNwYWNlUmVmIGFyZ3VtZW50IHRvIFFXS0NvbnRleHQq
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xZ3JhcGhpY3N3a3ZpZXcuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL3F0L3F3a2NvbnRleHQuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL3F0L3F3a2NvbnRleHQuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC9xd2tjb250ZXh0X3AuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9x
d2twYWdlLmNwcDoKKyAgICAgICAgKFFXS1BhZ2VQcml2YXRlOjpRV0tQYWdlUHJpdmF0ZSk6Cisg
ICAgICAgIChRV0tQYWdlOjpRV0tQYWdlKToKKyAgICAgICAgQ2hhbmdlIHRoZSBXS1BhZ2VOYW1l
c3BhY2VSZWYgYXJndW1lbnQgdG8gUVdLQ29udGV4dCoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L3F0L3F3a3BhZ2UuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2VfcC5oOgor
ICAgICAgICAqIFdlYktpdDIucHJvOgorCiAyMDEwLTEyLTA4ICBTYW0gV2VpbmlnICA8c2FtQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgIkVycm9yIiBHYXJlbi4K
ZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9XS1ZpZXcuaCBiL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9XS1ZpZXcuaAppbmRleCAyMjE2MjhlLi41YmI5NWU4IDEwMDY0NAot
LS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvV0tWaWV3LmgKKysrIGIvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L1dLVmlldy5oCkBAIC0yMSw2ICsyMSw3IEBACiAjZGVmaW5lIFdLVmlld19o
CiAKICNpbmNsdWRlIDxXZWJLaXQyL3FncmFwaGljc3drdmlldy5oPgorI2luY2x1ZGUgPFdlYktp
dDIvcXdrY29udGV4dC5oPgogI2luY2x1ZGUgPFdlYktpdDIvcXdrcGFnZS5oPgogI2luY2x1ZGUg
PFdlYktpdDIvcXdrcHJlZmVyZW5jZXMuaD4KIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FncmFwaGljc3drdmlldy5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cWdyYXBoaWNzd2t2aWV3LmNwcAppbmRleCBkNmVmZDkzLi44ZTgxOGZhIDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcAorKysgYi9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcApAQCAtNTcsNyArNTcsNyBAQCBz
dHJ1Y3QgUUdyYXBoaWNzV0tWaWV3UHJpdmF0ZSB7CiAgICAgYm9vbCBtX2lzQ2hhbmdpbmdTY2Fs
ZTsKIH07CiAKLVFHcmFwaGljc1dLVmlldzo6UUdyYXBoaWNzV0tWaWV3KFdLUGFnZU5hbWVzcGFj
ZVJlZiBwYWdlTmFtZXNwYWNlUmVmLCBCYWNraW5nU3RvcmVUeXBlIGJhY2tpbmdTdG9yZVR5cGUs
IFFHcmFwaGljc0l0ZW0qIHBhcmVudCkKK1FHcmFwaGljc1dLVmlldzo6UUdyYXBoaWNzV0tWaWV3
KFFXS0NvbnRleHQqIGNvbnRleHQsIEJhY2tpbmdTdG9yZVR5cGUgYmFja2luZ1N0b3JlVHlwZSwg
UUdyYXBoaWNzSXRlbSogcGFyZW50KQogICAgIDogUUdyYXBoaWNzV2lkZ2V0KHBhcmVudCkKICAg
ICAsIGQobmV3IFFHcmFwaGljc1dLVmlld1ByaXZhdGUodGhpcykpCiB7CkBAIC03OSw3ICs3OSw3
IEBAIFFHcmFwaGljc1dLVmlldzo6UUdyYXBoaWNzV0tWaWV3KFdLUGFnZU5hbWVzcGFjZVJlZiBw
YWdlTmFtZXNwYWNlUmVmLCBCYWNraW5nU3RvCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAg
IGQtPnBhZ2UgPSBuZXcgUVdLUGFnZShwYWdlTmFtZXNwYWNlUmVmKTsKKyAgICBkLT5wYWdlID0g
bmV3IFFXS1BhZ2UoY29udGV4dCk7CiAgICAgZC0+cGFnZS0+ZC0+aW5pdChzaXplKCkudG9TaXpl
KCksIGRyYXdpbmdBcmVhUHJveHkpOwogICAgIGNvbm5lY3QoZC0+cGFnZSwgU0lHTkFMKHRpdGxl
Q2hhbmdlZChRU3RyaW5nKSksIHRoaXMsIFNJR05BTCh0aXRsZUNoYW5nZWQoUVN0cmluZykpKTsK
ICAgICBjb25uZWN0KGQtPnBhZ2UsIFNJR05BTChsb2FkU3RhcnRlZCgpKSwgdGhpcywgU0lHTkFM
KGxvYWRTdGFydGVkKCkpKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
Z3JhcGhpY3N3a3ZpZXcuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZ3JhcGhpY3N3a3Zp
ZXcuaAppbmRleCA2YzNjMTU3Li42ZjQwODFlIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3FncmFwaGljc3drdmlldy5oCkBAIC0xMSw2ICsxMSw3IEBAIFFUX0JFR0lOX05BTUVTUEFDRQog
Y2xhc3MgUUN1cnNvcjsKIFFUX0VORF9OQU1FU1BBQ0UKIAorY2xhc3MgUVdLQ29udGV4dDsKIGNs
YXNzIFFHcmFwaGljc1dLVmlld1ByaXZhdGU7CiAKIFdLU3RyaW5nUmVmIFdLU3RyaW5nQ3JlYXRl
V2l0aFFTdHJpbmcoY29uc3QgUVN0cmluZyYgcVN0cmluZyk7CkBAIC0yMyw3ICsyNCw3IEBAIGNs
YXNzIFFXRUJLSVRfRVhQT1JUIFFHcmFwaGljc1dLVmlldyA6IHB1YmxpYyBRR3JhcGhpY3NXaWRn
ZXQgewogCiBwdWJsaWM6CiAgICAgZW51bSBCYWNraW5nU3RvcmVUeXBlIHsgU2ltcGxlLCBUaWxl
ZCB9OwotICAgIFFHcmFwaGljc1dLVmlldyhXS1BhZ2VOYW1lc3BhY2VSZWYgbmFtZXNwYWNlUmVm
LCBCYWNraW5nU3RvcmVUeXBlIGJhY2tpbmdTdG9yZVR5cGUgPSBTaW1wbGUsIFFHcmFwaGljc0l0
ZW0qIHBhcmVudCA9IDApOworICAgIFFHcmFwaGljc1dLVmlldyhRV0tDb250ZXh0KiBjb250ZXh0
LCBCYWNraW5nU3RvcmVUeXBlIGJhY2tpbmdTdG9yZVR5cGUgPSBTaW1wbGUsIFFHcmFwaGljc0l0
ZW0qIHBhcmVudCA9IDApOwogCiAgICAgdmlydHVhbCB+UUdyYXBoaWNzV0tWaWV3KCk7CiAKZGlm
ZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2tjb250ZXh0LmNwcCBiL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xd2tjb250ZXh0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi41MzM0MTgzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3F3a2NvbnRleHQuY3BwCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMp
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJv
Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRo
IHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAq
LworCisjaW5jbHVkZSAicXdrY29udGV4dC5oIgorI2luY2x1ZGUgInF3a2NvbnRleHRfcC5oIgor
CisjaW5jbHVkZSAiV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpbml0aWFsaXplUGxhdGZvcm1TdHJhdGVnaWVz
SWZOZWVkZWQoKQoreworICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkID0gZmFsc2U7CisgICAg
aWYgKGluaXRpYWxpemVkKQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OmluaXRpYWxpemUoKTsKKyAgICBpbml0aWFsaXplZCA9IHRydWU7Cit9CisKK1FXS0Nv
bnRleHRQcml2YXRlOjpRV0tDb250ZXh0UHJpdmF0ZShRV0tDb250ZXh0KiBxcSkKKyAgICA6IHEo
cXEpCit7CisgICAgaW5pdGlhbGl6ZVBsYXRmb3JtU3RyYXRlZ2llc0lmTmVlZGVkKCk7Cit9CisK
K1FXS0NvbnRleHRQcml2YXRlOjp+UVdLQ29udGV4dFByaXZhdGUoKQoreworfQorCitRV0tDb250
ZXh0OjpRV0tDb250ZXh0KFFPYmplY3QqIHBhcmVudCkKKyAgICA6IFFPYmplY3QocGFyZW50KQor
ICAgICwgZChuZXcgUVdLQ29udGV4dFByaXZhdGUodGhpcykpCit7CisgICAgZC0+Y29udGV4dCA9
IFdlYkNvbnRleHQ6OmNyZWF0ZShTdHJpbmcoKSk7CisgICAgZC0+cGFnZU5hbWVzcGFjZSA9IGQt
PmNvbnRleHQtPmNyZWF0ZVBhZ2VOYW1lc3BhY2UoKTsKK30KKworUVdLQ29udGV4dDo6UVdLQ29u
dGV4dChXS1BhZ2VOYW1lc3BhY2VSZWYgcGFnZU5hbWVzcGFjZVJlZiwgUU9iamVjdCogcGFyZW50
KQorICAgIDogUU9iamVjdChwYXJlbnQpCisgICAgLCBkKG5ldyBRV0tDb250ZXh0UHJpdmF0ZSh0
aGlzKSkKK3sKKyAgICBkLT5wYWdlTmFtZXNwYWNlID0gdG9JbXBsKHBhZ2VOYW1lc3BhY2VSZWYp
OworICAgIGQtPmNvbnRleHQgPSBkLT5wYWdlTmFtZXNwYWNlLT5jb250ZXh0KCk7Cit9CisKK1FX
S0NvbnRleHQ6On5RV0tDb250ZXh0KCkKK3sKKyAgICBkZWxldGUgZDsKK30KKworI2luY2x1ZGUg
Im1vY19xd2tjb250ZXh0LmNwcCIKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xd2tjb250ZXh0LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrY29udGV4dC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkZmY4MTUKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrY29udGV4dC5oCkBAIC0wLDAgKzEsNDQg
QEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBp
dHMgc3Vic2lkaWFyeSgtaWVzKQorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyovCisKKyNpZm5kZWYgcXdrY29udGV4dF9oCisjZGVmaW5lIHF3
a2NvbnRleHRfaAorCisjaW5jbHVkZSAicXdlYmtpdGdsb2JhbC5oIgorI2luY2x1ZGUgPFFPYmpl
Y3Q+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS1BhZ2VOYW1lc3BhY2UuaD4KKworY2xhc3MgUVdLQ29u
dGV4dFByaXZhdGU7CisKK2NsYXNzIFFXRUJLSVRfRVhQT1JUIFFXS0NvbnRleHQgOiBwdWJsaWMg
UU9iamVjdCB7CisgICAgUV9PQkpFQ1QKK3B1YmxpYzoKKyAgICBRV0tDb250ZXh0KFFPYmplY3Qq
IHBhcmVudCA9IDApOworICAgIHZpcnR1YWwgflFXS0NvbnRleHQoKTsKKworICAgIC8vIEJyaWRn
ZSBmcm9tIHRoZSBDIEFQSQorICAgIFFXS0NvbnRleHQoV0tQYWdlTmFtZXNwYWNlUmVmIHBhZ2VO
YW1lc3BhY2VSZWYsIFFPYmplY3QqIHBhcmVudCA9IDApOworCitwcml2YXRlOgorICAgIFFXS0Nv
bnRleHRQcml2YXRlKiBkOworCisgICAgZnJpZW5kIGNsYXNzIFFXS1BhZ2VQcml2YXRlOworfTsK
KworI2VuZGlmIC8qIHF3a2NvbnRleHRfaCAqLwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3F3a2NvbnRleHRfcC5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a2Nv
bnRleHRfcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzYmU0MzgKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrY29udGV4dF9wLmgK
QEAgLTAsMCArMSwzOSBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9y
YXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisKKyAgICBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAg
ICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisK
KyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworCisjaWZuZGVmIHF3a2NvbnRl
eHRfcF9oCisjZGVmaW5lIHF3a2NvbnRleHRfcF9oCisKKyNpbmNsdWRlICJXZWJDb250ZXh0Lmgi
CisjaW5jbHVkZSAiV2ViUGFnZU5hbWVzcGFjZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
KworY2xhc3MgUVdLQ29udGV4dFByaXZhdGUgeworcHVibGljOgorICAgIFFXS0NvbnRleHRQcml2
YXRlKFFXS0NvbnRleHQqKTsKKyAgICB+UVdLQ29udGV4dFByaXZhdGUoKTsKKworICAgIFFXS0Nv
bnRleHQqIHE7CisKKyAgICBSZWZQdHI8V2ViS2l0OjpXZWJDb250ZXh0PiBjb250ZXh0OworICAg
IFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VOYW1lc3BhY2U+IHBhZ2VOYW1lc3BhY2U7Cit9OworCisj
ZW5kaWYgLyogcWtjb250ZXh0X3BfaCAqLwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3F3a3BhZ2UuY3BwIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3Bw
CmluZGV4IGNlYmFjMmIuLjc0YWNhZTUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xd2twYWdlLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5j
cHAKQEAgLTI0LDYgKzI0LDggQEAKICNpbmNsdWRlICJxd2twcmVmZXJlbmNlc19wLmgiCiAKICNp
bmNsdWRlICJDbGllbnRJbXBsLmgiCisjaW5jbHVkZSAicXdrY29udGV4dC5oIgorI2luY2x1ZGUg
InF3a2NvbnRleHRfcC5oIgogI2luY2x1ZGUgInF3a2hpc3RvcnkuaCIKICNpbmNsdWRlICJxd2to
aXN0b3J5X3AuaCIKICNpbmNsdWRlICJGaW5kSW5kaWNhdG9yLmgiCkBAIC0zMiw3ICszNCw2IEBA
CiAjaW5jbHVkZSAiV2ViQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHlR
dC5oIgogI2luY2x1ZGUgIldlYkV2ZW50RmFjdG9yeVF0LmgiCi0jaW5jbHVkZSAiV2ViUGxhdGZv
cm1TdHJhdGVnaWVzLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHlRdC5oIgogI2luY2x1
ZGUgIldLU3RyaW5nUXQuaCIKICNpbmNsdWRlICJXS1VSTFF0LmgiCkBAIC01MiwyNCArNTMsMTQg
QEAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAot
c3RhdGljIGlubGluZSB2b2lkIGluaXRpYWxpemVQbGF0Zm9ybVN0cmF0ZWdpZXNJZk5lZWRlZCgp
Ci17Ci0gICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZWQgPSBmYWxzZTsKLSAgICBpZiAoaW5pdGlh
bGl6ZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aW5p
dGlhbGl6ZSgpOwotICAgIGluaXRpYWxpemVkID0gdHJ1ZTsKLX0KLQotUVdLUGFnZVByaXZhdGU6
OlFXS1BhZ2VQcml2YXRlKFFXS1BhZ2UqIHFxLCBXS1BhZ2VOYW1lc3BhY2VSZWYgbmFtZXNwYWNl
UmVmKQorUVdLUGFnZVByaXZhdGU6OlFXS1BhZ2VQcml2YXRlKFFXS1BhZ2UqIHFxLCBRV0tDb250
ZXh0KiBjKQogICAgIDogcShxcSkKKyAgICAsIGNvbnRleHQoYykKICAgICAsIHByZWZlcmVuY2Vz
KDApCiAgICAgLCBjcmVhdGVOZXdQYWdlRm4oMCkKIHsKLSAgICBpbml0aWFsaXplUGxhdGZvcm1T
dHJhdGVnaWVzSWZOZWVkZWQoKTsKICAgICBtZW1zZXQoYWN0aW9ucywgMCwgc2l6ZW9mKGFjdGlv
bnMpKTsKLSAgICBwYWdlID0gdG9JbXBsKG5hbWVzcGFjZVJlZiktPmNyZWF0ZVdlYlBhZ2UoMCk7
IC8vIFBhZ2UgZ2V0cyBhIHJlZiB0byBuYW1lc3BhY2UuCisgICAgcGFnZSA9IGNvbnRleHQtPmQt
PnBhZ2VOYW1lc3BhY2UtPmNyZWF0ZVdlYlBhZ2UoMCk7CiAgICAgcGFnZS0+c2V0UGFnZUNsaWVu
dCh0aGlzKTsKICAgICBoaXN0b3J5ID0gUVdLSGlzdG9yeVByaXZhdGU6OmNyZWF0ZUhpc3Rvcnko
cGFnZS0+YmFja0ZvcndhcmRMaXN0KCkpOwogfQpAQCAtMzA0LDggKzI5NSw4IEBAIHZvaWQgUVdL
UGFnZVByaXZhdGU6OnRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqIGV2ZW50KQogI2VuZGlmCiB9CiAK
LVFXS1BhZ2U6OlFXS1BhZ2UoV0tQYWdlTmFtZXNwYWNlUmVmIG5hbWVzcGFjZVJlZikKLSAgICA6
IGQobmV3IFFXS1BhZ2VQcml2YXRlKHRoaXMsIG5hbWVzcGFjZVJlZikpCitRV0tQYWdlOjpRV0tQ
YWdlKFFXS0NvbnRleHQqIGNvbnRleHQpCisgICAgOiBkKG5ldyBRV0tQYWdlUHJpdmF0ZSh0aGlz
LCBjb250ZXh0KSkKIHsKICAgICBXS1BhZ2VMb2FkZXJDbGllbnQgbG9hZENsaWVudCA9IHsKICAg
ICAgICAgMCwgICAgICAvKiB2ZXJzaW9uICovCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXdrcGFnZS5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuaApp
bmRleCA4NjZmODRmLi42NDVjODQ1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXdrcGFnZS5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmgKQEAg
LTEwLDkgKzEwLDkgQEAKICNpbmNsdWRlIDxRVXJsPgogI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNl
Lmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1BhZ2UuaD4KLSNpbmNsdWRlIDxXZWJLaXQyL1dLUGFn
ZU5hbWVzcGFjZS5oPgogCiBjbGFzcyBRQ3Vyc29yOworY2xhc3MgUVdLQ29udGV4dDsKIGNsYXNz
IFFXS0dyYXBoaWNzV2lkZ2V0OwogY2xhc3MgUVdLUHJlZmVyZW5jZXM7CiBjbGFzcyBRV0tQYWdl
UHJpdmF0ZTsKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogICAgICAgICBmcmllbmQgY2xhc3Mg
UVdLUGFnZTsKICAgICB9OwogCi0gICAgUVdLUGFnZShXS1BhZ2VOYW1lc3BhY2VSZWYpOworICAg
IFFXS1BhZ2UoUVdLQ29udGV4dCopOwogICAgIHZpcnR1YWwgflFXS1BhZ2UoKTsKIAogICAgIFdL
UGFnZVJlZiBwYWdlUmVmKCkgY29uc3Q7CkBAIC0xMDIsNiArMTAyLDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0UGFnZUFuZFRleHRab29tRmFjdG9ycyhxcmVhbCBwYWdlWm9vbUZhY3RvciwgcXJl
YWwgdGV4dFpvb21GYWN0b3IpOwogCiAgICAgUVdLSGlzdG9yeSogaGlzdG9yeSgpIGNvbnN0Owor
ICAgIFFXS0NvbnRleHQqIGNvbnRleHQoKSBjb25zdDsKIAogICAgIHZvaWQgZmluZFpvb21hYmxl
QXJlYUZvclBvaW50KGNvbnN0IFFQb2ludCYpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXdrcGFnZV9wLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFn
ZV9wLmgKaW5kZXggNTVmZjc2NC4uM2JiNzUxNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3F3a3BhZ2VfcC5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2tw
YWdlX3AuaApAQCAtMzYsNyArMzYsNyBAQCBjbGFzcyBRV0tQcmVmZXJlbmNlczsKIAogY2xhc3Mg
UVdLUGFnZVByaXZhdGUgOiBXZWJLaXQ6OlBhZ2VDbGllbnQgewogcHVibGljOgotICAgIFFXS1Bh
Z2VQcml2YXRlKFFXS1BhZ2UqLCBXS1BhZ2VOYW1lc3BhY2VSZWYpOworICAgIFFXS1BhZ2VQcml2
YXRlKFFXS1BhZ2UqLCBRV0tDb250ZXh0Kik7CiAgICAgflFXS1BhZ2VQcml2YXRlKCk7CiAKICAg
ICBzdGF0aWMgUVdLUGFnZVByaXZhdGUqIGdldChRV0tQYWdlKiBwYWdlKSB7IHJldHVybiBwYWdl
LT5kOyB9CkBAIC04OSw2ICs4OSw3IEBAIHB1YmxpYzoKIAogICAgIFFXS1BhZ2UqIHE7CiAKKyAg
ICBRV0tDb250ZXh0KiBjb250ZXh0OwogICAgIFFXS0hpc3RvcnkqIGhpc3Rvcnk7CiAKICAgICBR
QWN0aW9uKiBhY3Rpb25zW1FXS1BhZ2U6OldlYkFjdGlvbkNvdW50XTsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvV2ViS2l0Mi5wcm8gYi9XZWJLaXQyL1dlYktpdDIucHJvCmluZGV4IGEyYWVkMDguLjNh
NTQ4YjIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViS2l0Mi5wcm8KKysrIGIvV2ViS2l0Mi9XZWJL
aXQyLnBybwpAQCAtMTQ3LDYgKzE0Nyw3IEBAIElOQ0xVREVQQVRIID0gXAogICAgIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQgXAogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvcXQgXAog
ICAgIFdlYlByb2Nlc3MvV2ViUGFnZSBcCisgICAgV2ViUHJvY2Vzcy9xdCBcCiAgICAgJCRJTkNM
VURFUEFUSAogCiBJTkNMVURFUEFUSCArPSBcCkBAIC0yOTQsNiArMjk1LDggQEAgSEVBREVSUyAr
PSBcCiAgICAgVUlQcm9jZXNzL0FQSS9jcHAvcXQvV0tVUkxRdC5oIFwKICAgICBVSVByb2Nlc3Mv
QVBJL3F0L0NsaWVudEltcGwuaCBcCiAgICAgVUlQcm9jZXNzL0FQSS9xdC9xZ3JhcGhpY3N3a3Zp
ZXcuaCBcCisgICAgVUlQcm9jZXNzL0FQSS9xdC9xd2tjb250ZXh0LmggXAorICAgIFVJUHJvY2Vz
cy9BUEkvcXQvcXdrY29udGV4dF9wLmggXAogICAgIFVJUHJvY2Vzcy9BUEkvcXQvcXdraGlzdG9y
eS5oIFwKICAgICBVSVByb2Nlc3MvQVBJL3F0L3F3a2hpc3RvcnlfcC5oIFwKICAgICBVSVByb2Nl
c3MvQVBJL3F0L3F3a3BhZ2UuaCBcCkBAIC00ODQsNiArNDg3LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgVUlQcm9jZXNzL0FQSS9jcHAvcXQvV0tVUkxRdC5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkv
cXQvQ2xpZW50SW1wbC5jcHAgXAogICAgIFVJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3
LmNwcCBcCisgICAgVUlQcm9jZXNzL0FQSS9xdC9xd2tjb250ZXh0LmNwcCBcCiAgICAgVUlQcm9j
ZXNzL0FQSS9xdC9xd2toaXN0b3J5LmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdl
LmNwcCBcCiAgICAgVUlQcm9jZXNzL0FQSS9xdC9xd2twcmVmZXJlbmNlcy5jcHAgXApkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4
IDc3ZmNhZjMuLjE5MjM2NmIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysg
Yi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMi0wOSAgSm9j
ZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF1bV0syXSBBZGQgdGhlIFFX
S0NvbnRleHQgQVBJIGNsYXNzIHRvIHdyYXAgdGhlIFdlYkNvbnRleHQuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDc1MAorCisgICAgICAgICogTWlu
aUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwOgorICAgICAgICAoQnJvd3NlclZpZXc6OkJyb3dz
ZXJWaWV3KToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5oOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvcXQvUGxhdGZvcm1XZWJWaWV3UXQuY3BwOgorICAgICAgICAo
V1RSOjpXZWJWaWV3OjpXZWJWaWV3KToKKwogMjAxMC0xMi0wOCAgV2lsbGlhbSBTaWVncmlzdCA8
d3NpZWdyaXN0QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4K
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcCBi
L1dlYktpdFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAppbmRleCBjODg1YTM5
Li5lNjU0OGFiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2Vy
Vmlldy5jcHAKKysrIGIvV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3Bw
CkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiQnJvd3NlclZpZXcuaCIKIAogI2luY2x1ZGUg
PFFHcmFwaGljc1NjZW5lPgotI2luY2x1ZGUgIldLQ29udGV4dC5oIgogCiBzdGF0aWMgUVdLUGFn
ZSogY3JlYXRlTmV3UGFnZShRV0tQYWdlKiBwYWdlKQogewpAQCAtMzksMTEgKzM4LDkgQEAgc3Rh
dGljIFFXS1BhZ2UqIGNyZWF0ZU5ld1BhZ2UoUVdLUGFnZSogcGFnZSkKIEJyb3dzZXJWaWV3OjpC
cm93c2VyVmlldyhRR3JhcGhpY3NXS1ZpZXc6OkJhY2tpbmdTdG9yZVR5cGUgYmFja2luZ1N0b3Jl
VHlwZSwgUVdpZGdldCogcGFyZW50KQogICAgIDogUUdyYXBoaWNzVmlldyhwYXJlbnQpCiAgICAg
LCBtX2l0ZW0oMCkKLSAgICAsIG1fY29udGV4dChXS0NvbnRleHRHZXRTaGFyZWRQcm9jZXNzQ29u
dGV4dCgpKQorICAgICwgbV9jb250ZXh0KG5ldyBRV0tDb250ZXh0KHRoaXMpKQogewotICAgIFdL
UmV0YWluUHRyPFdLUGFnZU5hbWVzcGFjZVJlZj4gcGFnZU5hbWVzcGFjZShBZG9wdFdLLCBXS1Bh
Z2VOYW1lc3BhY2VDcmVhdGUobV9jb250ZXh0LmdldCgpKSk7Ci0KLSAgICBtX2l0ZW0gPSBuZXcg
UUdyYXBoaWNzV0tWaWV3KHBhZ2VOYW1lc3BhY2UuZ2V0KCksIGJhY2tpbmdTdG9yZVR5cGUsIDAp
OworICAgIG1faXRlbSA9IG5ldyBRR3JhcGhpY3NXS1ZpZXcobV9jb250ZXh0LCBiYWNraW5nU3Rv
cmVUeXBlLCAwKTsKICAgICBzZXRTY2VuZShuZXcgUUdyYXBoaWNzU2NlbmUodGhpcykpOwogICAg
IHNjZW5lKCktPmFkZEl0ZW0obV9pdGVtKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvTWlu
aUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaCBiL1dlYktpdFRvb2xzL01pbmlCcm93c2VyL3F0L0Jy
b3dzZXJWaWV3LmgKaW5kZXggN2U4Mjg4ZS4uNzY4MGFhNyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaAorKysgYi9XZWJLaXRUb29scy9NaW5pQnJv
d3Nlci9xdC9Ccm93c2VyVmlldy5oCkBAIC0zMSw3ICszMSw3IEBACiAKICNpbmNsdWRlIDxRR3Jh
cGhpY3NWaWV3PgogI2luY2x1ZGUgInFncmFwaGljc3drdmlldy5oIgotI2luY2x1ZGUgIldLUmV0
YWluUHRyLmgiCisjaW5jbHVkZSAicXdrY29udGV4dC5oIgogCiBjbGFzcyBCcm93c2VyVmlldyA6
IHB1YmxpYyBRR3JhcGhpY3NWaWV3IHsKICAgICBRX09CSkVDVApAQCAtNDgsNyArNDgsNyBAQCBw
cm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgUUdyYXBoaWNzV0tWaWV3KiBtX2l0ZW07Ci0gICAg
V0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBtX2NvbnRleHQ7CisgICAgUVdLQ29udGV4dCogbV9j
b250ZXh0OwogfTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0
UnVubmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcCBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvcXQvUGxhdGZvcm1XZWJWaWV3UXQuY3BwCmluZGV4IGQ4NDk3YTYuLmJkOTkxYWQgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvUGxhdGZvcm1XZWJWaWV3
UXQuY3BwCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvUGxhdGZvcm1XZWJW
aWV3UXQuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybVdlYlZpZXcu
aCIKICNpbmNsdWRlICJxZ3JhcGhpY3N3a3ZpZXcuaCIKKyNpbmNsdWRlICJxd2tjb250ZXh0Lmgi
CiAjaW5jbHVkZSA8UXRHdWk+CiAKIG5hbWVzcGFjZSBXVFIgewpAQCAtNDQsNyArNDUsNyBAQCBw
cml2YXRlOgogCiBXZWJWaWV3OjpXZWJWaWV3KFdLUGFnZU5hbWVzcGFjZVJlZiBuYW1lc3BhY2VS
ZWYpCiAgICAgOiBRR3JhcGhpY3NWaWV3KCkKLSAgICAsIG1faXRlbShuZXcgUUdyYXBoaWNzV0tW
aWV3KG5hbWVzcGFjZVJlZikpCisgICAgLCBtX2l0ZW0obmV3IFFHcmFwaGljc1dLVmlldyhuZXcg
UVdLQ29udGV4dChuYW1lc3BhY2VSZWYsIHRoaXMpKSkKIHsKICAgICBzZXRTY2VuZShuZXcgUUdy
YXBoaWNzU2NlbmUodGhpcykpOwogICAgIHNjZW5lKCktPmFkZEl0ZW0obV9pdGVtKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>