<?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>10644</bug_id>
          
          <creation_ts>2006-08-30 14:57:08 -0700</creation_ts>
          <short_desc>Add an embedabble KPart component for WebKit.</short_desc>
          <delta_ts>2006-09-04 15:26:13 -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>Platform</component>
          <version>420+</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.4</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="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>54277</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-30 14:57:08 -0700</bug_when>
    <thetext>Instead of the simple QtLauncher tool, we need a full-featured
WebKitPart, which can be embedded in Konqueror for instance.

Adding four patches soon:
* A general patch which restructures FrameQt, to operate
  on FrameQtClient&apos;s just like Win/Mac platform code handles it.
* Remove QtLauncher.
* Adjust DumpRenderTree to the FrameQtClient code.
* Add new WebKit/WebKitPart KDE component.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54283</commentid>
    <comment_count>1</comment_count>
      <attachid>10323</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-30 15:07:52 -0700</bug_when>
    <thetext>Created attachment 10323
General Frame adjustments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54284</commentid>
    <comment_count>2</comment_count>
      <attachid>10324</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-30 15:08:52 -0700</bug_when>
    <thetext>Created attachment 10324
Remove QtLauncher</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54285</commentid>
    <comment_count>3</comment_count>
      <attachid>10325</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-30 15:09:27 -0700</bug_when>
    <thetext>Created attachment 10325
Adding WebKitPart.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54286</commentid>
    <comment_count>4</comment_count>
      <attachid>10326</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-30 15:10:05 -0700</bug_when>
    <thetext>Created attachment 10326
DumpRenderTree adjustements</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54290</commentid>
    <comment_count>5</comment_count>
      <attachid>10324</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-08-30 15:13:56 -0700</bug_when>
    <thetext>Comment on attachment 10324
Remove QtLauncher

Looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54291</commentid>
    <comment_count>6</comment_count>
      <attachid>10327</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-30 15:37:07 -0700</bug_when>
    <thetext>Created attachment 10327
Update patch: General Frame adjustments

Had a typo in the patch, updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54719</commentid>
    <comment_count>7</comment_count>
      <attachid>10327</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-09-03 12:17:13 -0700</bug_when>
    <thetext>Comment on attachment 10327
Update patch: General Frame adjustments

Looks good. This is an area that&apos;s changing a lot so it might be challenging to keep this compiling, but this is exactly the right direction, I believe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54791</commentid>
    <comment_count>8</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-09-04 13:11:10 -0700</bug_when>
    <thetext>All has been landed by Sam Weinig, except the QtLauncher removal, as it will be moved to WebKitQt, too. (won&apos;t remove it)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54796</commentid>
    <comment_count>9</comment_count>
      <attachid>10395</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-09-04 14:28:25 -0700</bug_when>
    <thetext>Created attachment 10395
Move QtLauncher down to WebKitQt

I changed my mind: QtLauncher is handy, and will be even more handy
if we differentiate between Qt/KDE only builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54797</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2006-09-04 15:26:13 -0700</bug_when>
    <thetext>Patches landed in r16214, r16215, r16216 and r16219.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10323</attachid>
            <date>2006-08-30 15:07:52 -0700</date>
            <delta_ts>2006-08-30 15:37:07 -0700</delta_ts>
            <desc>General Frame adjustments</desc>
            <filename>frame-fixes.diff</filename>
            <type>text/plain</type>
            <size>13101</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShSZXZpc2lvbiAxNjEyOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCShBcmJlaXRza29waWUpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMDYtMDgtMzEgIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1h
bm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXhlcyBwYXJ0cyBvZjogaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDY0NAorICAgICAgICBMZXQgRnJhbWVRdCBvcGVyYXRlIG9uIGEgRnJhbWVR
dENsaWVudCwganVzdCBsaWtlIFdpbi9NYWMgaGFuZGxlIGl0LgorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvRnJhbWVRdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVF0OjpGcmFtZVF0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lUXQ6On5G
cmFtZVF0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lUXQ6Om9wZW5VUkwpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVRdDo6c3VibWl0Rm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVF0
Ojp1cmxTZWxlY3RlZCk6CisgICAgICAgICogcGxhdGZvcm0vcXQvRnJhbWVRdC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL3F0L0ZyYW1lUXRDbGllbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lUXRDbGllbnREZWZhdWx0OjpGcmFtZVF0Q2xpZW50RGVmYXVsdCk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVF0Q2xpZW50RGVmYXVsdDo6fkZyYW1lUXRDbGllbnREZWZhdWx0KToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lUXRDbGllbnREZWZhdWx0OjpzZXRGcmFtZSk6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVF0Q2xpZW50RGVmYXVsdDo6b3BlblVSTCk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVF0Q2xpZW50RGVmYXVsdDo6c3VibWl0Rm9ybSk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVF0Q2xpZW50RGVmYXVsdDo6cmVjZWl2ZWRSZXNwb25zZSk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVF0Q2xpZW50RGVmYXVsdDo6cmVjZWl2ZWREYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lUXRDbGllbnREZWZhdWx0OjpyZWNlaXZlZEFsbERhdGEpOgorICAgICAgICAq
IHBsYXRmb3JtL3F0L0ZyYW1lUXRDbGllbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVF0Q2xpZW50Ojp+RnJhbWVRdENsaWVudCk6CisKIDIwMDYtMDgtMzAgIERhdmlkIEh5YXR0
ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBmb3IgYnVncyA5MDAwIGFuZCAxMDYw
Ni4gIEFkZCBjb2RlIHRvIHN1cHByZXNzIHBhaW50aW5nIHdoZW4KSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vcXQvRnJhbWVRdENsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9xdC9GcmFtZVF0Q2xpZW50LmNwcAkoUmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0v
cXQvRnJhbWVRdENsaWVudC5jcHAJKFJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUu
b3JnPgorICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkZyYW1lUXRDbGllbnQuaCIKKworI2luY2x1ZGUgIkZyYW1lUXQuaCIK
KyNpbmNsdWRlICJSZXNvdXJjZUxvYWRlci5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZGVySW50
ZXJuYWwuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitGcmFtZVF0Q2xpZW50RGVmYXVsdDo6
RnJhbWVRdENsaWVudERlZmF1bHQoKQorICAgIDogRnJhbWVRdENsaWVudCgpCisgICAgLCBSZXNv
dXJjZUxvYWRlckNsaWVudCgpCisgICAgLCBtX2ZyYW1lKDApCisgICAgLCBtX2JlZ2luQ2FsbGVk
KGZhbHNlKQoreworfQorCitGcmFtZVF0Q2xpZW50RGVmYXVsdDo6fkZyYW1lUXRDbGllbnREZWZh
dWx0KCkKK3sKK30KKwordm9pZCBGcmFtZVF0Q2xpZW50RGVmYXVsdDo6c2V0RnJhbWUoY29uc3Qg
RnJhbWVRdCogZnJhbWUpCit7CisgICAgUV9BU1NFUlQoZnJhbWUgIT0gMCk7CisgICAgbV9mcmFt
ZSA9IGNvbnN0X2Nhc3Q8RnJhbWVRdCo+KGZyYW1lKTsKK30KKwordm9pZCBGcmFtZVF0Q2xpZW50
RGVmYXVsdDo6b3BlblVSTChjb25zdCBLVVJMJiB1cmwpCit7CisgICAgbV9mcmFtZS0+ZGlkT3Bl
blVSTCh1cmwpOworICAgIG1fYmVnaW5DYWxsZWQgPSBmYWxzZTsKKworICAgIFJlc291cmNlTG9h
ZGVyKiBqb2IgPSBuZXcgUmVzb3VyY2VMb2FkZXIodGhpcywgIkdFVCIsIHVybCk7CisgICAgam9i
LT5zdGFydCgwKTsKK30KKwordm9pZCBGcmFtZVF0Q2xpZW50RGVmYXVsdDo6c3VibWl0Rm9ybShj
b25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBGb3JtRGF0YSogcG9z
dERhdGEpCit7CisgICAgbV9iZWdpbkNhbGxlZCA9IGZhbHNlOworCisgICAgUmVzb3VyY2VMb2Fk
ZXIqIGpvYiA9IG5ldyBSZXNvdXJjZUxvYWRlcih0aGlzLCBtZXRob2QsIHVybCwgKnBvc3REYXRh
KTsKKyAgICBqb2ItPnN0YXJ0KDApOworfQorCit2b2lkIEZyYW1lUXRDbGllbnREZWZhdWx0Ojpy
ZWNlaXZlZFJlc3BvbnNlKFJlc291cmNlTG9hZGVyKiwgUGxhdGZvcm1SZXNwb25zZSkKK3sKKyAg
ICAvLyBuby1vcAorfQorCit2b2lkIEZyYW1lUXRDbGllbnREZWZhdWx0OjpyZWNlaXZlZERhdGEo
UmVzb3VyY2VMb2FkZXIqIGpvYiwgY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkKK3sKKyAg
ICBpZiAoIW1fYmVnaW5DYWxsZWQpIHsKKyAgICAgICAgbV9iZWdpbkNhbGxlZCA9IHRydWU7CisK
KyAgICAgICAgLy8gQXNzaWduIGNvcnJlY3QgbWltZXR5cGUgX2JlZm9yZV8gY2FsbGluZyBiZWdp
bigpIQorICAgICAgICBSZXNvdXJjZUxvYWRlckludGVybmFsKiBkID0gam9iLT5nZXRJbnRlcm5h
bCgpOworICAgICAgICBpZiAoZCkgeworICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVl
c3QobV9mcmFtZS0+cmVzb3VyY2VSZXF1ZXN0KCkpOworICAgICAgICAgICAgcmVxdWVzdC5tX3Jl
c3BvbnNlTUlNRVR5cGUgPSBkLT5tX21pbWV0eXBlOworICAgICAgICAgICAgbV9mcmFtZS0+c2V0
UmVzb3VyY2VSZXF1ZXN0KHJlcXVlc3QpOworICAgICAgICB9CisKKyAgICAgICAgbV9mcmFtZS0+
YmVnaW4oam9iLT51cmwoKSk7CisgICAgfQorfQorCit2b2lkIEZyYW1lUXRDbGllbnREZWZhdWx0
OjpyZWNlaXZlZEFsbERhdGEoUmVzb3VyY2VMb2FkZXIqIGpvYiwgUGxhdGZvcm1EYXRhIGRhdGEp
Cit7CisgICAgbV9mcmFtZS0+ZW5kKCk7CisgICAgbV9iZWdpbkNhbGxlZCA9IGZhbHNlOworfQor
Cit9CisKKy8vIHZpbTogdHM9NCBzdz00IGV0CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L0Zy
YW1lUXRDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0L0ZyYW1lUXRD
bGllbnQuaAkoUmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vcXQvRnJhbWVRdENsaWVu
dC5oCShSZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICogCisgKiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRnJhbWVRdENsaWVudF9ICisjZGVmaW5l
IEZyYW1lUXRDbGllbnRfSAorCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJDbGllbnQuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTdHJpbmc7CitjbGFzcyBGcmFtZVF0OworY2xh
c3MgRm9ybURhdGE7CisKK2NsYXNzIEZyYW1lUXRDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1
YWwgfkZyYW1lUXRDbGllbnQoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBzZXRGcmFtZShjb25z
dCBGcmFtZVF0KikgPSAwOworCisgICAgdmlydHVhbCB2b2lkIG9wZW5VUkwoY29uc3QgS1VSTCYp
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3VibWl0Rm9ybShjb25zdCBTdHJpbmcmIG1ldGhvZCwg
Y29uc3QgS1VSTCYsIGNvbnN0IEZvcm1EYXRhKikgPSAwOworfTsKKworY2xhc3MgRnJhbWVRdENs
aWVudERlZmF1bHQgOiBwdWJsaWMgRnJhbWVRdENsaWVudCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHVibGljIFJlc291cmNlTG9hZGVyQ2xpZW50Cit7CitwdWJsaWM6CisgICAgRnJh
bWVRdENsaWVudERlZmF1bHQoKTsKKyAgICB2aXJ0dWFsIH5GcmFtZVF0Q2xpZW50RGVmYXVsdCgp
OworCisgICAgLy8gRnJhbWVRdENsaWVudAorICAgIHZpcnR1YWwgdm9pZCBzZXRGcmFtZShjb25z
dCBGcmFtZVF0Kik7CisKKyAgICB2aXJ0dWFsIHZvaWQgb3BlblVSTChjb25zdCBLVVJMJik7Cisg
ICAgdmlydHVhbCB2b2lkIHN1Ym1pdEZvcm0oY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEtV
UkwmLCBjb25zdCBGb3JtRGF0YSopOworCisgICAgLy8gUmVzb3VyY2VMb2FkZXJDbGllbnQKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVjZWl2ZWRSZXNwb25zZShSZXNvdXJjZUxvYWRlciosIFBsYXRmb3Jt
UmVzcG9uc2UpOworICAgIHZpcnR1YWwgdm9pZCByZWNlaXZlZERhdGEoUmVzb3VyY2VMb2FkZXIq
LCBjb25zdCBjaGFyKiwgaW50KTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVjZWl2ZWRBbGxEYXRhKFJl
c291cmNlTG9hZGVyKiwgUGxhdGZvcm1EYXRhKTsKKworcHJpdmF0ZToKKyAgICBGcmFtZVF0KiBt
X2ZyYW1lOworICAgIGJvb2wgbV9iZWdpbkNhbGxlZCA6IDE7Cit9OworCit9CisKKyNlbmRpZgor
CisvLyB2aW06IHRzPTQgc3c9NCBldApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9GcmFtZVF0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9GcmFtZVF0LmgJKFJldmlzaW9u
IDE2MTI5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9GcmFtZVF0LmgJKEFyYmVpdHNrb3BpZSkK
QEAgLTMwLDMyICszMCwyMiBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIEZyYW1l
UXRfSF8KLSNkZWZpbmUgRnJhbWVRdF9IXworI2lmbmRlZiBGcmFtZVF0X0gKKyNkZWZpbmUgRnJh
bWVRdF9ICiAKICNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyQ2xp
ZW50LmgiCisjaW5jbHVkZSAiRnJhbWVRdENsaWVudC5oIgogCiBjbGFzcyBRV2lkZ2V0OwogY2xh
c3MgUVBhaW50RXZlbnQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRnJhbWVRdENs
aWVudCB7CitjbGFzcyBGcmFtZVF0IDogcHVibGljIEZyYW1lIHsKIHB1YmxpYzoKLSAgICB2aXJ0
dWFsIH5GcmFtZVF0Q2xpZW50KCk7CisgICAgRnJhbWVRdChQYWdlKiwgRWxlbWVudCosIEZyYW1l
UXRDbGllbnQqKTsKKyAgICB2aXJ0dWFsIH5GcmFtZVF0KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQg
b3BlblVSTChjb25zdCBEZXByZWNhdGVkU3RyaW5nJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBz
dWJtaXRGb3JtKGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBLVVJMJiwgY29uc3QgRm9ybURh
dGEqKSA9IDA7Ci19OwotCi1jbGFzcyBGcmFtZVF0IDogcHVibGljIEZyYW1lLAotICAgICAgICAg
ICAgICAgIHB1YmxpYyBSZXNvdXJjZUxvYWRlckNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgRnJhbWVR
dChRV2lkZ2V0KiBwYXJlbnQpOwotICAgIEZyYW1lUXQoKTsKLSAgICB+RnJhbWVRdCgpOwotCiAg
ICAgdmlydHVhbCBib29sIG9wZW5VUkwoY29uc3QgS1VSTCYpOwogICAgIHZpcnR1YWwgdm9pZCBv
cGVuVVJMUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2aXJ0dWFsIHZvaWQg
c3VibWl0Rm9ybShjb25zdCBSZXNvdXJjZVJlcXVlc3QmKTsKQEAgLTEzNSwxMCArMTI1LDYgQEAK
IAogICAgIGJvb2wga2V5RXZlbnQoY29uc3QgUGxhdGZvcm1LZXlib2FyZEV2ZW50JiBrZXlFdmVu
dCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVjZWl2ZWRSZXNwb25zZShSZXNvdXJjZUxvYWRlcios
IFBsYXRmb3JtUmVzcG9uc2UpOwotICAgIHZpcnR1YWwgdm9pZCByZWNlaXZlZERhdGEoUmVzb3Vy
Y2VMb2FkZXIqLCBjb25zdCBjaGFyKiwgaW50KTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVjZWl2ZWRB
bGxEYXRhKFJlc291cmNlTG9hZGVyKiwgUGxhdGZvcm1EYXRhKTsKLQogICAgIHZvaWQgc2V0RnJh
bWVHZW9tZXRyeShjb25zdCBJbnRSZWN0Jik7CiAKIHByaXZhdGU6CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL3F0L0ZyYW1lUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQv
RnJhbWVRdC5jcHAJKFJldmlzaW9uIDE2MTI5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9GcmFt
ZVF0LmNwcAkoQXJiZWl0c2tvcGllKQpAQCAtOTIsMzEgKzkyLDkgQEAKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotRnJhbWVRdDo6RnJhbWVRdCgpCi0gICAgOiBGcmFtZShuZXcgUGFnZSwgMCkKK0Zy
YW1lUXQ6OkZyYW1lUXQoUGFnZSogcGFnZSwgRWxlbWVudCogb3duZXJFbGVtZW50LCBGcmFtZVF0
Q2xpZW50KiBjbGllbnQpCisgICAgOiBGcmFtZShwYWdlLCBvd25lckVsZW1lbnQpCiB7Ci0gICAg
aW5pdCgpOwotCi0gICAgcGFnZSgpLT5zZXRNYWluRnJhbWUodGhpcyk7Ci0gICAgRnJhbWVWaWV3
KiB2aWV3ID0gbmV3IEZyYW1lVmlldyh0aGlzKTsKLSAgICBzZXRWaWV3KHZpZXcpOwotCi0gICAg
dmlldy0+c2V0UGFyZW50V2lkZ2V0KDApOwotfQotCi1GcmFtZVF0OjpGcmFtZVF0KFFXaWRnZXQq
IHBhcmVudCkKLSAgICAgOiBGcmFtZShuZXcgUGFnZSwgMCkKLXsKLSAgICBpbml0KCk7Ci0gICAg
cGFnZSgpLT5zZXRNYWluRnJhbWUodGhpcyk7Ci0gICAgRnJhbWVWaWV3KiB2aWV3ID0gbmV3IEZy
YW1lVmlldyh0aGlzKTsKLSAgICBzZXRWaWV3KHZpZXcpOwotCi0gICAgdmlldy0+c2V0UGFyZW50
V2lkZ2V0KHBhcmVudCk7Ci19Ci0KLXZvaWQgRnJhbWVRdDo6aW5pdCgpCi17CiAgICAgZC0+bV9l
eHRlbnNpb24gPSBuZXcgQnJvd3NlckV4dGVuc2lvblF0KHRoaXMpOwogICAgIFNldHRpbmdzKiBz
ZXR0aW5ncyA9IG5ldyBTZXR0aW5nczsKICAgICBzZXR0aW5ncy0+c2V0QXV0b0xvYWRJbWFnZXMo
dHJ1ZSk7CkBAIC0xMzEsMjEgKzEwOSwyNyBAQAogICAgIHNldHRpbmdzLT5zZXRTYW5zU2VyaWZG
b250TmFtZSgiQXJpYWwiKTsKICAgICBzZXR0aW5ncy0+c2V0Rml4ZWRGb250TmFtZSgiQ291cmll
ciIpOwogICAgIHNldHRpbmdzLT5zZXRTdGRGb250TmFtZSgiQXJpYWwiKTsKKwogICAgIHNldFNl
dHRpbmdzKHNldHRpbmdzKTsKKworICAgIG1fY2xpZW50ID0gY2xpZW50OworICAgIG1fY2xpZW50
LT5zZXRGcmFtZSh0aGlzKTsKIH0KIAogRnJhbWVRdDo6fkZyYW1lUXQoKQogewotICAgIGNsb3Nl
VVJMKCk7IC8vIGhhY2sgdG8gYXZvaWQgY3Jhc2guICBtdXN0IGZpeCBpbiB3ZWJraXQgKEZyYW1l
KS4gIEZJWE1FCisgICAgY2xvc2VVUkwoKTsKKworICAgIHNldFZpZXcoMCk7CisgICAgY2xlYXJS
ZWNvcmRlZEZvcm1WYWx1ZXMoKTsKIH0KIAogYm9vbCBGcmFtZVF0OjpvcGVuVVJMKGNvbnN0IEtV
UkwmIHVybCkKIHsKLSAgICBkaWRPcGVuVVJMKHVybCk7Ci0gICAgbV9iZWdpbkNhbGxlZCA9IGZh
bHNlOworICAgIGlmICghbV9jbGllbnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFJl
c291cmNlTG9hZGVyKiBqb2IgPSBuZXcgUmVzb3VyY2VMb2FkZXIodGhpcywgIkdFVCIsIHVybCk7
Ci0gICAgam9iLT5zdGFydCgwKTsKKyAgICBtX2NsaWVudC0+b3BlblVSTCh1cmwpOwogICAgIHJl
dHVybiB0cnVlOwogfQogCkBAIC0xNTcsMjkgKzE0MSwxOCBAQAogCiAgICAgZC0+bV9zdWJtaXR0
ZWRGb3JtVVJMID0gcmVxdWVzdC51cmwoKTsKIAotICAgIC8qIEZJWE1FOiBPbmNlIHdlIGhhdmUg
YSBLUGFydCAtIG5hbWVkICJGcmFtZVBhcnRRdCIgLSB3ZSBjYW4gbGV0IHRoYXQgaW5oZXJpdCBm
cm9tIEZyYW1lUXRDbGllbnQgYW5kIGltcGxlbWVudCB0aGUgZnVuY3Rpb25zLi4uKQogICAgIGlm
IChtX2NsaWVudCkKICAgICAgICAgbV9jbGllbnQtPnN1Ym1pdEZvcm0ocmVxdWVzdC5kb1Bvc3Qo
KSA/ICJQT1NUIiA6ICJHRVQiLCByZXF1ZXN0LnVybCgpLCAmcmVxdWVzdC5wb3N0RGF0YSk7Ci0g
ICAgKi8KIAotICAgIG1fYmVnaW5DYWxsZWQgPSBmYWxzZTsKLQotICAgIFJlc291cmNlTG9hZGVy
KiBqb2IgPSBuZXcgUmVzb3VyY2VMb2FkZXIodGhpcywgcmVxdWVzdC5kb1Bvc3QoKSA/ICJQT1NU
IiA6ICJHRVQiLCByZXF1ZXN0LnVybCgpLCByZXF1ZXN0LnBvc3REYXRhKTsKLSAgICBqb2ItPnN0
YXJ0KDApOwotICAgIAogICAgIGNsZWFyUmVjb3JkZWRGb3JtVmFsdWVzKCk7CiB9CiAKIHZvaWQg
RnJhbWVRdDo6dXJsU2VsZWN0ZWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewot
ICAgIC8vbmVlZCB0byBwb3RlbnRpYWxseSB1cGRhdGVMb2NhdGlvbkJhcihzdHIuYXNjaWkoKSk7
IG9yIG5vdGlmeSBzeXMgb2YgbmV3IHVybCBteWJlIGV2ZW50IG9yIGNhbGxiYWNrCi0gICAgY29u
c3QgS1VSTCB1cmwgPSByZXF1ZXN0LnVybCgpOworICAgIGlmICghbV9jbGllbnQpCisgICAgICAg
IHJldHVybjsKIAotICAgIGRpZE9wZW5VUkwodXJsKTsgCi0gICAgbV9iZWdpbkNhbGxlZCA9IGZh
bHNlOwotCi0gICAgUmVzb3VyY2VMb2FkZXIqIGpvYiA9IG5ldyBSZXNvdXJjZUxvYWRlcih0aGlz
LCAiR0VUIiwgdXJsKTsKLSAgICBqb2ItPnN0YXJ0KDApOworICAgIG1fY2xpZW50LT5vcGVuVVJM
KHJlcXVlc3QudXJsKCkpOwogfQogCiBTdHJpbmcgRnJhbWVRdDo6dXNlckFnZW50KCkgY29uc3QK
QEAgLTUyMiwzNiArNDk1LDYgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIEZyYW1l
UXQ6OnJlY2VpdmVkUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXIqLCBQbGF0Zm9ybVJlc3BvbnNlKQot
ewotICAgIC8vIG5vLW9wCi19Ci0KLXZvaWQgRnJhbWVRdDo6cmVjZWl2ZWREYXRhKFJlc291cmNl
TG9hZGVyKiBqb2IsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpCi17Ci0gICAgaWYgKCFt
X2JlZ2luQ2FsbGVkKSB7Ci0gICAgICAgIG1fYmVnaW5DYWxsZWQgPSB0cnVlOwotCi0gICAgICAg
IC8vIEFzc2lnbiBjb3JyZWN0IG1pbWV0eXBlIF9iZWZvcmVfIGNhbGxpbmcgYmVnaW4oKSEKLSAg
ICAgICAgUmVzb3VyY2VMb2FkZXJJbnRlcm5hbCogZCA9IGpvYi0+Z2V0SW50ZXJuYWwoKTsKLSAg
ICAgICAgaWYgKGQpIHsKLSAgICAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KHJlc291
cmNlUmVxdWVzdCgpKTsKLSAgICAgICAgICAgIHJlcXVlc3QubV9yZXNwb25zZU1JTUVUeXBlID0g
ZC0+bV9taW1ldHlwZTsKLSAgICAgICAgICAgIHNldFJlc291cmNlUmVxdWVzdChyZXF1ZXN0KTsK
LSAgICAgICAgfQotCi0gICAgICAgIGJlZ2luKGpvYi0+dXJsKCkpOwotICAgIH0KLQotICAgIHdy
aXRlKGRhdGEsIGxlbmd0aCk7Ci19Ci0KLXZvaWQgRnJhbWVRdDo6cmVjZWl2ZWRBbGxEYXRhKFJl
c291cmNlTG9hZGVyKiBqb2IsIFBsYXRmb3JtRGF0YSBkYXRhKQotewotICAgIGVuZCgpOwotICAg
IG1fYmVnaW5DYWxsZWQgPSBmYWxzZTsKLX0KLQogdm9pZCBGcmFtZVF0OjpzZXRGcmFtZUdlb21l
dHJ5KGNvbnN0IEludFJlY3QmIHIpCiB7CiAgICAgc2V0RnJhbWVHZW9tZXRyeShRUmVjdChyKSk7
CkluZGV4OiBXZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ01h
a2VMaXN0cy50eHQJKFJldmlzaW9uIDE2MTI5KQorKysgV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAko
QXJiZWl0c2tvcGllKQpAQCAtOTAwLDYgKzkwMCw3IEBACiAgICAgcGxhdGZvcm0vcXQvU2NyZWVu
UXQuY3BwCiAjICAgcGxhdGZvcm0vcXQvRmlsZUJ1dHRvblF0LmNwcAogICAgIHBsYXRmb3JtL3F0
L0ZyYW1lUXQuY3BwCisgICAgcGxhdGZvcm0vcXQvRnJhbWVRdENsaWVudC5jcHAKICMgICBwbGF0
Zm9ybS9xdC9UZXh0RWRpdFF0LmNwcAogICAgIHBsYXRmb3JtL3F0L1Njcm9sbFZpZXdDYW52YXNR
dC5jcHAKICAgICBwbGF0Zm9ybS9xdC9QbGF0Zm9ybU1vdXNlRXZlbnRRdC5jcHAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10324</attachid>
            <date>2006-08-30 15:08:52 -0700</date>
            <delta_ts>2006-09-04 14:28:25 -0700</delta_ts>
            <desc>Remove QtLauncher</desc>
            <filename>remove-qtlauncher.diff</filename>
            <type>text/plain</type>
            <size>5089</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKFJldmlzaW9uIDE2MTI5KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShBcmJl
aXRza29waWUpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDYtMDgtMzEgIE5pa29sYXMgWmltbWVybWFu
biAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGaXhlcyBwYXJ0cyBvZjogaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3
aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY0NAorICAgICAgICBSZW1vdmUgUXRMYXVuY2hlciwg
YXMgaXQgd2lsbCBiZSByZXBsYWNlZCBieSBXZWJLaXRQYXJ0LgorCisgICAgICAgICogUXRMYXVu
Y2hlci9DTWFrZUxpc3RzLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBRdExhdW5jaGVyL21haW4u
Y3BwOiBSZW1vdmVkLgorCiAyMDA2LTA4LTI5ICB3YXlsb25pcyAgPHdheWxvbmlzQGdvb2dsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgZ2dhcmVuLgpJbmRleDogV2ViS2l0VG9vbHMvUXRM
YXVuY2hlci9tYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9RdExhdW5jaGVyL21h
aW4uY3BwCShSZXZpc2lvbiAxNjEyOSkKKysrIFdlYktpdFRvb2xzL1F0TGF1bmNoZXIvbWFpbi5j
cHAJKEFyYmVpdHNrb3BpZSkKQEAgLTEsODQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwNiBHZW9yZ2UgU3RhaWtvcyA8c3RhaWtvc0BrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAy
MDA2IERpcmsgTXVlbGxlciA8bXVlbGxlckBrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2
IFphY2sgUnVzaW4gPHphY2tAa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNiBTaW1vbiBI
YXVzbWFubiA8aGF1c21hbm5Aa2RlLm9yZz4KLSAqCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVU
RVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRF
UiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KLQotI2luY2x1ZGUgPGthcHBsaWNhdGlv
bi5oPgotI2luY2x1ZGUgPGtjbWRsaW5lYXJncy5oPgotI2luY2x1ZGUgPGtkZWJ1Zy5oPgotCi0j
aW5jbHVkZSA8RG9jdW1lbnQuaD4KLQotI2luY2x1ZGUgPEZyYW1lUXQuaD4KLSNpbmNsdWRlIDxw
YWdlL1BhZ2UuaD4KLQotI2luY2x1ZGUgPFFWQm94TGF5b3V0PgotI2luY2x1ZGUgPFFEaXI+Ci0K
LXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1zdGF0aWMgS0NtZExpbmVPcHRpb25zIG9wdGlv
bnNbXSA9Ci17Ci0gICAgeyAiK2ZpbGUiLCAgICAgICAgIkZpbGUgdG8gbG9hZCIsIDAgfSwKLSAg
ICBLQ21kTGluZUxhc3RPcHRpb24KLX07Ci0KLWludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJn
dikKLXsKLSAgICBLQ21kTGluZUFyZ3M6OmluaXQoYXJnYywgYXJndiwgInRlc3R1bml0eSIsICJ0
ZXN0dW5pdHkiLAotICAgICAgICAgICAgICAgICAgICAgICAidW5pdHkgdGVzdGNhc2UgYXBwIiwg
IjAuMSIpOwotICAgIEtDbWRMaW5lQXJnczo6YWRkQ21kTGluZU9wdGlvbnMob3B0aW9ucyk7Ci0g
ICAgS0FwcGxpY2F0aW9uIGFwcDsKLSAgICBLQ21kTGluZUFyZ3MgKmFyZ3MgPSBLQ21kTGluZUFy
Z3M6OnBhcnNlZEFyZ3MoKTsKLSAgICAgCi0gICAgUVdpZGdldCB0b3BMZXZlbDsKLSAgICBRQm94
TGF5b3V0ICpsID0gbmV3IFFWQm94TGF5b3V0KCZ0b3BMZXZlbCk7Ci0gICAgICAgIAotICAgIEZy
YW1lUXQgKmYgPSBuZXcgRnJhbWVRdCgmdG9wTGV2ZWwpOwotCi0gICAgbC0+YWRkV2lkZ2V0KGYt
PnZpZXcoKS0+cXdpZGdldCgpKTsKLSAgICBsLT5hY3RpdmF0ZSgpOwotICAgIGYtPnZpZXcoKS0+
cXdpZGdldCgpLT5zaG93KCk7Ci0KLSAgICB0b3BMZXZlbC5zaG93KCk7Ci0KLSAgICBRU3RyaW5n
IHVybDsKLQotICAgIGlmIChhcmdzLT5jb3VudCgpID09IDApCi0gICAgICAgIHVybCA9IFFTdHJp
bmcoIiUxLyUyIikuYXJnKFFEaXI6OmhvbWVQYXRoKCkpLmFyZyhRTGF0aW4xU3RyaW5nKCJpbmRl
eC5odG1sIikpOwotICAgIGVsc2UKLSAgICAgICAgdXJsID0gYXJncy0+YXJnKDApOwotCi0gICAg
Zi0+b3BlblVSTChLVVJMKHVybC50b0xhdGluMSgpKSk7Ci0gICAgCi0gICAgYXBwLmV4ZWMoKTsK
LSAgICBkZWxldGUgZjsKLSAgICByZXR1cm4gMDsKLX0KSW5kZXg6IFdlYktpdFRvb2xzL1F0TGF1
bmNoZXIvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvUXRMYXVuY2hl
ci9DTWFrZUxpc3RzLnR4dAkoUmV2aXNpb24gMTYxMjkpCisrKyBXZWJLaXRUb29scy9RdExhdW5j
aGVyL0NNYWtlTGlzdHMudHh0CShBcmJlaXRza29waWUpCkBAIC0xLDI2ICswLDAgQEAKLWluY2x1
ZGVfZGlyZWN0b3JpZXMoCi0gICBCRUZPUkUgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4u
Ly4uL1dlYkNvcmUKLSAgIEJFRk9SRSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vLi4v
L0phdmFTY3JpcHRDb3JlCi0gICBCRUZPUkUgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4u
Ly4uL1dlYkNvcmUvYnJpZGdlCi0gICBCRUZPUkUgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9
Ly4uLy4uL1dlYkNvcmUvcGFnZQotICAgQkVGT1JFICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElS
fS8uLi8uLi9XZWJDb3JlL2xvYWRlcgotICAgQkVGT1JFICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0Vf
RElSfS8uLi8uLi9XZWJDb3JlL3BsYXRmb3JtCi0gICBCRUZPUkUgJHtDTUFLRV9DVVJSRU5UX1NP
VVJDRV9ESVJ9Ly4uLy4uL1dlYkNvcmUvcGxhdGZvcm0vcXQKLSAgIEJFRk9SRSAke0NNQUtFX0NV
UlJFTlRfU09VUkNFX0RJUn0vLi4vLi4vV2ViQ29yZS9rc3ZnMgotICAgQkVGT1JFICR7Q01BS0Vf
Q1VSUkVOVF9TT1VSQ0VfRElSfS8uLi8uLi9XZWJDb3JlL2tzdmcyL3N2ZwotICAgQkVGT1JFICR7
Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi8uLi9XZWJDb3JlL2tzdmcyL2NzcwotICAgQkVG
T1JFICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi8uLi9XZWJDb3JlL3JlbmRlcmluZwot
ICAgQkVGT1JFICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi8uLi9XZWJDb3JlL2VkaXRp
bmcKLSAgIEJFRk9SRSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vLi4vV2ViQ29yZS9o
dG1sCi0gICBCRUZPUkUgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uLy4uL1dlYkNvcmUv
Y3NzCi0gICBCRUZPUkUgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uLy4uL1dlYkNvcmUv
ZG9tCi0gICBCRUZPUkUgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uLy4uL1dlYkNvcmUv
eG1sCi0gICBCRUZPUkUgJHtDTUFLRV9TT1VSQ0VfRElSfS9rZGVjb3JlCi0pCi0KLWFkZF9kZWZp
bml0aW9ucygtV25vLXVuZGVmIC1Xbm8tdW51c2VkLXBhcmFtZXRlcikKLQotc2V0KHRlc3R1bml0
eV9TUkNTIG1haW4uY3BwKQota2RlNF9hdXRvbW9jKCR7dGVzdHVuaXR5X1NSQ1N9KQota2RlNF9h
ZGRfZXhlY3V0YWJsZSh0ZXN0dW5pdHkgUlVOX1VOSU5TVEFMTEVEICR7dGVzdHVuaXR5X1NSQ1N9
KQotdGFyZ2V0X2xpbmtfbGlicmFyaWVzKHRlc3R1bml0eSAgJHtLREU0X0tERUNPUkVfTElCU30g
V2ViQ29yZS11bml0eSApCg==
</data>
<flag name="review"
          id="3271"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10325</attachid>
            <date>2006-08-30 15:09:27 -0700</date>
            <delta_ts>2006-09-04 14:28:25 -0700</delta_ts>
            <desc>Adding WebKitPart.</desc>
            <filename>add-webkitpart.diff</filename>
            <type>text/plain</type>
            <size>28849</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NoYW5nZUxvZwko
UmV2aXNpb24gMTYxMzApCisrKyBXZWJLaXQvQ2hhbmdlTG9nCShBcmJlaXRza29waWUpCkBAIC0x
LDMgKzEsNDYgQEAKKzIwMDYtMDgtMzEgIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1hbm5A
a2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBGaXhlcyBwYXJ0cyBvZjogaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDY0NAorICAgICAgICBBZGQgV2ViS2l0UGFydCwgYW4gZW1iZWRkYWJsZSBLUGFy
dCBmb3IgdGhlIEtERSBwbGF0Zm9ybS4KKworICAgICAgICAqIFdlYktpdFBhcnQvQ01ha2VMaXN0
cy50eHQ6IEFkZGVkLgorICAgICAgICAqIFdlYktpdFBhcnQvV2ViS2l0RmFjdG9yeS5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViS2l0RmFjdG9yeTo6V2ViS2l0RmFjdG9yeSk6CisgICAgICAgIChX
ZWJLaXRGYWN0b3J5Ojp+V2ViS2l0RmFjdG9yeSk6CisgICAgICAgIChXZWJLaXRGYWN0b3J5Ojpj
cmVhdGVQYXJ0T2JqZWN0KToKKyAgICAgICAgKFdlYktpdEZhY3Rvcnk6Omluc3RhbmNlKToKKyAg
ICAgICAgKFdlYktpdEZhY3Rvcnk6OnJlZik6CisgICAgICAgIChXZWJLaXRGYWN0b3J5OjpkZXJl
Zik6CisgICAgICAgIChpbml0X2xpYldlYktpdFBhcnQpOgorICAgICAgICAqIFdlYktpdFBhcnQv
V2ViS2l0RmFjdG9yeS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJLaXRQYXJ0L1dlYktpdFBhcnQu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdFBhcnQ6OldlYktpdFBhcnQpOgorICAgICAgICAo
V2ViS2l0UGFydDo6fldlYktpdFBhcnQpOgorICAgICAgICAoV2ViS2l0UGFydDo6b3BlbkZpbGUp
OgorICAgICAgICAoV2ViS2l0UGFydDo6b3BlblVybCk6CisgICAgICAgIChXZWJLaXRQYXJ0Ojpj
bG9zZVVybCk6CisgICAgICAgIChXZWJLaXRQYXJ0OjpwYXJlbnRQYXJ0KToKKyAgICAgICAgKFdl
YktpdFBhcnQ6OmZyYW1lKToKKyAgICAgICAgKFdlYktpdFBhcnQ6OmluaXRWaWV3KToKKyAgICAg
ICAgKiBXZWJLaXRQYXJ0L1dlYktpdFBhcnQuZGVza3RvcDogQWRkZWQuCisgICAgICAgICogV2Vi
S2l0UGFydC9XZWJLaXRQYXJ0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0UGFydDo6KToKKyAg
ICAgICAgKiBXZWJLaXRQYXJ0L1dlYktpdFBhcnQucmM6IEFkZGVkLgorICAgICAgICAqIFdlYktp
dFBhcnQvV2ViS2l0UGFydEJyb3dzZXIucmM6IEFkZGVkLgorICAgICAgICAqIFdlYktpdFBhcnQv
V2ViS2l0UGFydENsaWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0UGFydENsaWVudDo6
V2ViS2l0UGFydENsaWVudCk6CisgICAgICAgIChXZWJLaXRQYXJ0Q2xpZW50Ojp+V2ViS2l0UGFy
dENsaWVudCk6CisgICAgICAgICogV2ViS2l0UGFydC9XZWJLaXRQYXJ0Q2xpZW50Lmg6IEFkZGVk
LgorICAgICAgICAqIFdlYktpdFBhcnQvV2ViS2l0UGFydEludGVyZmFjZS5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViS2l0UGFydEludGVyZmFjZTo6V2ViS2l0UGFydEludGVyZmFjZSk6CisgICAg
ICAgIChXZWJLaXRQYXJ0SW50ZXJmYWNlOjp+V2ViS2l0UGFydEludGVyZmFjZSk6CisgICAgICAg
IChXZWJLaXRQYXJ0SW50ZXJmYWNlOjp1cmwpOgorICAgICAgICAoV2ViS2l0UGFydEludGVyZmFj
ZTo6Y2xvc2VVUkwpOgorICAgICAgICAqIFdlYktpdFBhcnQvV2ViS2l0UGFydEludGVyZmFjZS5o
OiBBZGRlZC4KKyAgICAgICAgKiBXZWJLaXRQYXJ0L29yZy5rZGUuV2ViS2l0UGFydC54bWw6IEFk
ZGVkLgorCiAyMDA2LTA4LTMwICBTYW0gV2VpbmlnICA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEguCkluZGV4OiBDTWFrZUxpc3RzLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBDTWFrZUxpc3RzLnR4dAkoUmV2aXNpb24gMTYxMjkpCisrKyBDTWFrZUxpc3RzLnR4
dAkoQXJiZWl0c2tvcGllKQpAQCAtNTQsNyArNTQsMTAgQEAKIAogYWRkX3N1YmRpcmVjdG9yeSAo
SmF2YVNjcmlwdENvcmUpCiBhZGRfc3ViZGlyZWN0b3J5IChXZWJDb3JlKQotYWRkX3N1YmRpcmVj
dG9yeSAoV2ViS2l0VG9vbHMvUXRMYXVuY2hlcikKIGFkZF9zdWJkaXJlY3RvcnkgKFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0cHJvaikKIAorSUYgKFdFQktJVF9V
U0VfS0RFX1NVUFBPUlQpCisgICAgYWRkX3N1YmRpcmVjdG9yeSAoV2ViS2l0L1dlYktpdFBhcnQp
CitFTkRJRiAoV0VCS0lUX1VTRV9LREVfU1VQUE9SVCkKKwogaW5jbHVkZV9kaXJlY3RvcmllcyAo
QkVGT1JFICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfSkKSW5kZXg6IFdlYktpdC9XZWJLaXRQ
YXJ0L1dlYktpdFBhcnQucmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1dlYktpdFBhcnQvV2ViS2l0
UGFydC5yYwkoUmV2aXNpb24gMCkKKysrIFdlYktpdC9XZWJLaXRQYXJ0L1dlYktpdFBhcnQucmMJ
KFJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBrcGFydGd1aSBTWVNURU0g
ImtwYXJ0Z3VpLmR0ZCI+Cis8a3BhcnRndWkgbmFtZT0iV2ViS2l0UGFydCIgdmVyc2lvbj0iMSI+
Cis8TWVudUJhcj4KKyA8TWVudSBuYW1lPSJlZGl0Ij48dGV4dD4mYW1wO0VkaXQ8L3RleHQ+Cisg
IDxBY3Rpb24gbmFtZT0ic2VsZWN0QWxsIiAvPgorICA8U2VwYXJhdG9yIC8+CisgIDxBY3Rpb24g
bmFtZT0iZmluZCIgLz4KKyAgPEFjdGlvbiBuYW1lPSJmaW5kTmV4dCIgLz4KKyAgPEFjdGlvbiBu
YW1lPSJmaW5kUHJldmlvdXMiIC8+CisgIDxBY3Rpb24gbmFtZT0iZmluZEFoZWFkVGV4dCIgLz4K
KyAgPEFjdGlvbiBuYW1lPSJmaW5kQWhlYWRMaW5rIiAvPgorIDwvTWVudT4KKzwvTWVudUJhcj4K
KzxBY3Rpb25Qcm9wZXJ0aWVzPgorPC9BY3Rpb25Qcm9wZXJ0aWVzPgorPC9rcGFydGd1aT4KSW5k
ZXg6IFdlYktpdC9XZWJLaXRQYXJ0L1dlYktpdFBhcnRDbGllbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQvV2ViS2l0UGFydC9XZWJLaXRQYXJ0Q2xpZW50LmgJKFJldmlzaW9uIDApCisrKyBXZWJL
aXQvV2ViS2l0UGFydC9XZWJLaXRQYXJ0Q2xpZW50LmgJKFJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1t
ZXJtYW5uQGtkZS5vcmc+CisgKiAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBXZWJLaXRQYXJ0Q2xpZW50X0gKKyNkZWZpbmUgV2ViS2l0UGFydENsaWVudF9ICisKKyNp
bmNsdWRlICJGcmFtZVF0LmgiCisKK2NsYXNzIFdlYktpdFBhcnRDbGllbnQgOiBwdWJsaWMgV2Vi
Q29yZTo6RnJhbWVRdENsaWVudERlZmF1bHQKK3sKK3B1YmxpYzoKKyAgICBXZWJLaXRQYXJ0Q2xp
ZW50KCk7CisgICAgdmlydHVhbCB+V2ViS2l0UGFydENsaWVudCgpOworfTsKKworI2VuZGlmCisK
Ky8vIHZpbTogdHM9NCBzdz00IGV0CkluZGV4OiBXZWJLaXQvV2ViS2l0UGFydC9XZWJLaXRQYXJ0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L1dlYktpdFBhcnQvV2ViS2l0UGFydC5oCShSZXZpc2lv
biAwKQorKysgV2ViS2l0L1dlYktpdFBhcnQvV2ViS2l0UGFydC5oCShSZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDEwNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtvbGFzIFppbW1lcm1h
bm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIs
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgV2ViS2l0UGFydF9ICisjZGVmaW5lIFdlYktpdFBhcnRfSAorCisjaW5jbHVk
ZSA8UU9iamVjdD4KKworI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDxrcGFydHMv
cGFydC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgY2xhc3MgRnJhbWU7CisgICAgY2xh
c3MgRnJhbWVWaWV3OworfQorCitjbGFzcyBXZWJLaXRQYXJ0Q2xpZW50OworCitjbGFzcyBXZWJL
aXRQYXJ0IDogcHVibGljIEtQYXJ0czo6UmVhZE9ubHlQYXJ0Cit7CitRX09CSkVDVAorUV9QUk9Q
RVJUWShRU3RyaW5nIHVybCBSRUFEIHVybCkgIAorCitwdWJsaWM6CisgICAgZW51bSBHVUlQcm9m
aWxlIHsKKyAgICAgICAgRGVmYXVsdEdVSSwKKyAgICAgICAgQnJvd3NlclZpZXdHVUkKKyAgICB9
OworCisgICAgV2ViS2l0UGFydChRV2lkZ2V0KiBwYXJlbnRXaWRnZXQgPSAwLAorICAgICAgICAg
ICAgICAgUU9iamVjdCogcGFyZW50T2JqZWN0ID0gMCwKKyAgICAgICAgICAgICAgIEdVSVByb2Zp
bGUgcHJvZiA9IERlZmF1bHRHVUkpOworCisgICAgdmlydHVhbCB+V2ViS2l0UGFydCgpOworCisg
ICAgLyoqCisgICAgICogT3BlbnMgdGhlIHNwZWNpZmllZCBVUkwgQHAgdXJsLgorICAgICAqCisg
ICAgICogUmVpbXBsZW1lbnRlZCBmcm9tIEtQYXJ0czo6UmVhZE9ubHlQYXJ0OjpvcGVuVVJMIC4K
KyAgICAgKi8KKyAgICB2aXJ0dWFsIGJvb2wgb3BlblVybChjb25zdCBLVXJsJik7CisKKyAgICAv
KioKKyAgICAgKiBTdG9wcyBsb2FkaW5nIHRoZSBkb2N1bWVudCBhbmQga2lsbHMgYWxsIGRhdGEg
cmVxdWVzdHMgKGZvciBpbWFnZXMsIGV0Yy4pCisgICAgICovCisgICAgdmlydHVhbCBib29sIGNs
b3NlVXJsKCk7CisKKyAgICAvKioKKyAgICAgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgcGFy
ZW50IFdlYktpdFBhcnQKKyAgICAgKiBpZiB0aGUgcGFydCBpcyBhIGZyYW1lIGluIGFuIEhUTUwg
ZnJhbWVzZXQuCisgICAgICoKKyAgICAgKiBSZXR1cm5zIDAgb3RoZXJ3aXNlLgorICAgICAqLwor
ICAgIFdlYktpdFBhcnQqIHBhcmVudFBhcnQoKTsKKworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xh
c3MgV2ViS2l0UGFydENsaWVudDsKKyAgICAKKyAgICAvKioKKyAgICAgKiBSZXR1cm5zIHBvaW50
ZXIgdGhlIGN1cnJlbnQgZnJhbWUuCisgICAgICovCisgICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1l
KCk7CisKKyAgICAvKioKKyAgICAgKiBJbnRlcm5hbCBlbXB0eSByZWltcGxlbWVudGF0aW9uIG9m
IEtQYXJ0czo6UmVhZE9ubHlQYXJ0OjpvcGVuRmlsZSAuCisgICAgICovCisgICAgdmlydHVhbCBi
b29sIG9wZW5GaWxlKCk7CisKKyAgICAvKioKKyAgICAgKiBJbnRlcm5hbCBoZWxwZXIgbWV0aG9k
CisgICAgICovCisgICAgdm9pZCBpbml0VmlldyhRV2lkZ2V0KiwgR1VJUHJvZmlsZSk7CisKK3By
aXZhdGU6CisgICAgV1RGOjpSZWZQdHI8V2ViQ29yZTo6RnJhbWU+IG1fZnJhbWU7CisgICAgV1RG
OjpSZWZQdHI8V2ViQ29yZTo6RnJhbWVWaWV3PiBtX2ZyYW1lVmlldzsKKworICAgIFdlYktpdFBh
cnRDbGllbnQqIG1fY2xpZW50OworfTsKKworI2VuZGlmCkluZGV4OiBXZWJLaXQvV2ViS2l0UGFy
dC9vcmcua2RlLldlYktpdFBhcnQueG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9XZWJLaXRQYXJ0
L29yZy5rZGUuV2ViS2l0UGFydC54bWwJKFJldmlzaW9uIDApCisrKyBXZWJLaXQvV2ViS2l0UGFy
dC9vcmcua2RlLldlYktpdFBhcnQueG1sCShSZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwIEBACis8
IURPQ1RZUEUgbm9kZSBQVUJMSUMgIi0vL2ZyZWVkZXNrdG9wLy9EVEQgRC1CVVMgT2JqZWN0IElu
dHJvc3BlY3Rpb24gMS4wLy9FTiIKKyJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zdGFuZGFy
ZHMvZGJ1cy8xLjAvaW50cm9zcGVjdC5kdGQiPgorPG5vZGU+CisgIDxpbnRlcmZhY2UgbmFtZT0i
b3JnLmtkZS5XZWJLaXRQYXJ0Ij4KKyAgICA8cHJvcGVydHkgbmFtZT0idXJsIiB0eXBlPSJzIiBh
Y2Nlc3M9InJlYWQiLz4KKyAgICA8bWV0aG9kIG5hbWU9ImNsb3NlVVJMIj4KKyAgICAgIDxhcmcg
dHlwZT0iYiIgZGlyZWN0aW9uPSJvdXQiLz4KKyAgICA8L21ldGhvZD4KKyAgPC9pbnRlcmZhY2U+
Cis8L25vZGU+CkluZGV4OiBXZWJLaXQvV2ViS2l0UGFydC9XZWJLaXRQYXJ0SW50ZXJmYWNlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L1dlYktpdFBhcnQvV2ViS2l0UGFydEludGVyZmFjZS5oCShS
ZXZpc2lvbiAwKQorKysgV2ViS2l0L1dlYktpdFBhcnQvV2ViS2l0UGFydEludGVyZmFjZS5oCShS
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IE5p
a29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICoKKyAqIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJLaXRQYXJ0SW50ZXJmYWNlX0gKKyNkZWZpbmUg
V2ViS2l0UGFydEludGVyZmFjZV9ICisKKyNpbmNsdWRlIDxRT2JqZWN0PgorCitjbGFzcyBLVXJs
OworY2xhc3MgV2ViS2l0UGFydDsKKworY2xhc3MgV2ViS2l0UGFydEludGVyZmFjZSA6IHB1Ymxp
YyBRT2JqZWN0Cit7CitRX09CSkVDVAorCitwdWJsaWM6CisgICAgV2ViS2l0UGFydEludGVyZmFj
ZShXZWJLaXRQYXJ0Kik7CisgICAgdmlydHVhbCB+V2ViS2l0UGFydEludGVyZmFjZSgpOworCitw
dWJsaWMgUV9TTE9UUzoKKyAgICBLVXJsIHVybCgpIGNvbnN0OworCisgICAgYm9vbCBjbG9zZVVS
TCgpOworCitwcml2YXRlOgorICAgIFdlYktpdFBhcnQqIG1fcGFydDsKK307CisKKyNlbmRpZgpJ
bmRleDogV2ViS2l0L1dlYktpdFBhcnQvV2ViS2l0UGFydEJyb3dzZXIucmMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L1dlYktpdFBhcnQvV2ViS2l0UGFydEJyb3dzZXIucmMJKFJldmlzaW9uIDApCisr
KyBXZWJLaXQvV2ViS2l0UGFydC9XZWJLaXRQYXJ0QnJvd3Nlci5yYwkoUmV2aXNpb24gMCkKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGtwYXJ0Z3VpIFNZU1RFTSAia3BhcnRndWkuZHRkIj4K
KzxrcGFydGd1aSBuYW1lPSJXZWJLaXRQYXJ0IiB2ZXJzaW9uPSIxIj4KKzxNZW51QmFyPgorIDxN
ZW51IG5hbWU9ImZpbGUiPjx0ZXh0PiZhbXA7RmlsZTwvdGV4dD4KKyAgPEFjdGlvbiBuYW1lPSJz
YXZlQmFja2dyb3VuZCIgLz4KKyAgPEFjdGlvbiBuYW1lPSJzYXZlRG9jdW1lbnQiIC8+CisgIDxB
Y3Rpb24gbmFtZT0ic2F2ZUZyYW1lIiAvPgorICA8U2VwYXJhdG9yIC8+CisgIDxBY3Rpb24gbmFt
ZT0icHJpbnRGcmFtZSIgZ3JvdXA9InByaW50IiAvPgorIDwvTWVudT4KKyA8TWVudSBuYW1lPSJl
ZGl0Ij48dGV4dD4mYW1wO0VkaXQ8L3RleHQ+CisgIDxBY3Rpb24gbmFtZT0ic2VsZWN0QWxsIiAv
PgorICA8U2VwYXJhdG9yIC8+CisgIDxBY3Rpb24gbmFtZT0iZmluZCIgLz4KKyAgPEFjdGlvbiBu
YW1lPSJmaW5kTmV4dCIgLz4KKyAgPEFjdGlvbiBuYW1lPSJmaW5kUHJldmlvdXMiIC8+CisgIDxB
Y3Rpb24gbmFtZT0iZmluZEFoZWFkVGV4dCIgLz4KKyAgPEFjdGlvbiBuYW1lPSJmaW5kQWhlYWRM
aW5rIiAvPgorIDwvTWVudT4KKyA8TWVudSBuYW1lPSJ2aWV3Ij48dGV4dD4mYW1wO1ZpZXc8L3Rl
eHQ+CisgIDxBY3Rpb24gbmFtZT0iaW5jRm9udFNpemVzIiAvPgorICA8QWN0aW9uIG5hbWU9ImRl
Y0ZvbnRTaXplcyIgLz4KKyAgPEFjdGlvbiBuYW1lPSJ2aWV3RG9jdW1lbnRTb3VyY2UiIC8+Cisg
IDxBY3Rpb24gbmFtZT0idmlld1BhZ2VJbmZvIiAvPgorICA8QWN0aW9uIG5hbWU9InNldEVuY29k
aW5nIiAvPgorICA8QWN0aW9uIG5hbWU9InVzZVN0eWxlc2hlZXQiIC8+CisgIDxBY3Rpb25MaXN0
IG5hbWU9ImRlYnVnU2NyaXB0TGlzdCIgLz4KKzwhLS0KKzwhLS0KKyAgPFNlcGFyYXRvciAvPgor
ICA8QWN0aW9uIG5hbWU9ImRlYnVnUmVuZGVyVHJlZSIgLz4KKyAgPEFjdGlvbiBuYW1lPSJkZWJ1
Z0RPTVRyZWUiIC8+CistLT4KKyA8L01lbnU+Cis8L01lbnVCYXI+Cis8VG9vbEJhciBuYW1lPSJt
YWluVG9vbEJhciI+PHRleHQ+TWFpbiBUb29sYmFyPC90ZXh0PgorIDxBY3Rpb24gbmFtZT0iZmlu
ZCIgLz4gCisgPFNlcGFyYXRvciAvPgorIDxBY3Rpb24gbmFtZT0iaW5jRm9udFNpemVzIiAvPgor
IDxBY3Rpb24gbmFtZT0iZGVjRm9udFNpemVzIiAvPgorIDxBY3Rpb25MaXN0IG5hbWU9ImxvYWRJ
bWFnZXMiIC8+Cis8L1Rvb2xCYXI+Cis8QWN0aW9uUHJvcGVydGllcz4KKyA8QWN0aW9uIHNob3J0
Y3V0PSJGNyIgbmFtZT0iY2FyZXRNb2RlIiAvPgorPC9BY3Rpb25Qcm9wZXJ0aWVzPgorPC9rcGFy
dGd1aT4KSW5kZXg6IFdlYktpdC9XZWJLaXRQYXJ0L1dlYktpdEZhY3RvcnkuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvV2ViS2l0UGFydC9XZWJLaXRGYWN0b3J5LmgJKFJldmlzaW9uIDApCisrKyBX
ZWJLaXQvV2ViS2l0UGFydC9XZWJLaXRGYWN0b3J5LmgJKFJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1t
ZXJtYW5uQGtkZS5vcmc+CisgKgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFdlYktpdEZhY3RvcnlfSAorI2RlZmluZSBXZWJLaXRGYWN0b3J5X0gKKworI2luY2x1ZGUg
PFFPYmplY3Q+CisKKyNpbmNsdWRlIDxrcGFydHMvZmFjdG9yeS5oPgorCitjbGFzcyBLSW5zdGFu
Y2U7CitjbGFzcyBLQWJvdXREYXRhOworCitjbGFzcyBXZWJLaXRGYWN0b3J5IDogcHVibGljIEtQ
YXJ0czo6RmFjdG9yeQoreworUV9PQkpFQ1QKKworcHVibGljOgorICAgIFdlYktpdEZhY3Rvcnko
Ym9vbCBjbG9uZSA9IGZhbHNlKTsKKyAgICB2aXJ0dWFsIH5XZWJLaXRGYWN0b3J5KCk7CisKKyAg
ICB2aXJ0dWFsIEtQYXJ0czo6UGFydCogY3JlYXRlUGFydE9iamVjdChRV2lkZ2V0KiBwYXJlbnRX
aWRnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUU9iamVj
dCogcGFyZW50T2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IGNoYXIqIGNsYXNzTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBRU3RyaW5nTGlzdCYgYXJncyk7CisgICAgCisgICAgc3RhdGlj
IEtJbnN0YW5jZSogaW5zdGFuY2UoKTsKKworCitwcm90ZWN0ZWQ6CisgICAgc3RhdGljIHZvaWQg
cmVmKCk7CisgICAgc3RhdGljIHZvaWQgZGVyZWYoKTsKKworcHJpdmF0ZToKKyAgICBzdGF0aWMg
dW5zaWduZWQgbG9uZyBzX3JlZkNvdW50OworCisgICAgc3RhdGljIFdlYktpdEZhY3RvcnkqIHNf
c2VsZjsKKyAgICBzdGF0aWMgS0luc3RhbmNlKiBzX2luc3RhbmNlOworICAgIHN0YXRpYyBLQWJv
dXREYXRhKiBzX2Fib3V0OworfTsKKworI2VuZGlmCkluZGV4OiBXZWJLaXQvV2ViS2l0UGFydC9X
ZWJLaXRQYXJ0LmRlc2t0b3AKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1dlYktpdFBhcnQvV2ViS2l0
UGFydC5kZXNrdG9wCShSZXZpc2lvbiAwKQorKysgV2ViS2l0L1dlYktpdFBhcnQvV2ViS2l0UGFy
dC5kZXNrdG9wCShSZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACitbRGVza3RvcCBFbnRyeV0K
K0VuY29kaW5nPVVURi04CitUeXBlPVNlcnZpY2UKK0NvbW1lbnQ9RW1iZWRkYWJsZSBIVE1ML1NW
RyB2aWV3aW5nIGNvbXBvbmVudAorQ29tbWVudFt4LXRlc3RdPXh4RW1iZWRkYWJsZSBIVE1ML1NW
ZyB2aWV3aW5nIGNvbXBvbmVudHh4CitNaW1lVHlwZT10ZXh0L2h0bWw7dGV4dC94bWw7YXBwbGlj
YXRpb24veGh0bWwreG1sO2ltYWdlL3N2Zyt4bWw7aW1hZ2Uvc3ZnLXhtbAorSWNvbj1rb25xdWVy
b3IKK05hbWU9V2ViS2l0CitOYW1lW3gtdGVzdF09eHhXZWJLaXRMeHgKK1NlcnZpY2VUeXBlcz1L
UGFydHMvUmVhZE9ubHlQYXJ0LEJyb3dzZXIvVmlldworWC1LREUtTGlicmFyeT1saWJXZWJLaXRQ
YXJ0CitJbml0aWFsUHJlZmVyZW5jZT0xMApJbmRleDogV2ViS2l0L1dlYktpdFBhcnQvV2ViS2l0
UGFydENsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1dlYktpdFBhcnQvV2ViS2l0UGFy
dENsaWVudC5jcHAJKFJldmlzaW9uIDApCisrKyBXZWJLaXQvV2ViS2l0UGFydC9XZWJLaXRQYXJ0
Q2xpZW50LmNwcAkoUmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIAor
ICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiV2ViS2l0UGFydENsaWVudC5oIgorCisjaW5jbHVkZSAiV2ViS2l0UGFydC5oIgorCit1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworV2ViS2l0UGFydENsaWVudDo6V2ViS2l0UGFydENs
aWVudCgpCisgICAgOiBGcmFtZVF0Q2xpZW50RGVmYXVsdCgpCit7Cit9CisKK1dlYktpdFBhcnRD
bGllbnQ6On5XZWJLaXRQYXJ0Q2xpZW50KCkKK3sKK30KKworLy8gdmltOiB0cz00IHN3PTQgZXQK
SW5kZXg6IFdlYktpdC9XZWJLaXRQYXJ0L0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9XZWJLaXRQYXJ0L0NNYWtlTGlzdHMudHh0CShSZXZpc2lvbiAwKQorKysgV2ViS2l0L1dl
YktpdFBhcnQvQ01ha2VMaXN0cy50eHQJKFJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzUgQEAKK2lu
Y2x1ZGVfZGlyZWN0b3JpZXMgKAorICAgQkVGT1JFICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElS
fS8uLi8uLi9XZWJDb3JlCisgICBCRUZPUkUgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4u
Ly4uLy9KYXZhU2NyaXB0Q29yZQorICAgQkVGT1JFICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElS
fS8uLi8uLi9XZWJDb3JlL2JyaWRnZQorICAgQkVGT1JFICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0Vf
RElSfS8uLi8uLi9XZWJDb3JlL3BhZ2UKKyAgIEJFRk9SRSAke0NNQUtFX0NVUlJFTlRfU09VUkNF
X0RJUn0vLi4vLi4vV2ViQ29yZS9sb2FkZXIKKyAgIEJFRk9SRSAke0NNQUtFX0NVUlJFTlRfU09V
UkNFX0RJUn0vLi4vLi4vV2ViQ29yZS9wbGF0Zm9ybQorICAgQkVGT1JFICR7Q01BS0VfQ1VSUkVO
VF9TT1VSQ0VfRElSfS8uLi8uLi9XZWJDb3JlL3BsYXRmb3JtL3F0CisgICBCRUZPUkUgJHtDTUFL
RV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uLy4uL1dlYkNvcmUva3N2ZzIKKyAgIEJFRk9SRSAke0NN
QUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vLi4vV2ViQ29yZS9rc3ZnMi9jc3MKKyAgIEJFRk9S
RSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vLi4vV2ViQ29yZS9rc3ZnMi9zdmcKKyAg
IEJFRk9SRSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vLi4vV2ViQ29yZS9yZW5kZXJp
bmcKKyAgIEJFRk9SRSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vLi4vV2ViQ29yZS9l
ZGl0aW5nCisgICBCRUZPUkUgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uLy4uL1dlYkNv
cmUvaHRtbAorICAgQkVGT1JFICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi8uLi9XZWJD
b3JlL2NzcworICAgQkVGT1JFICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi8uLi9XZWJD
b3JlL2RvbQorICAgQkVGT1JFICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi8uLi9XZWJD
b3JlL3htbAorICAgQkVGT1JFICR7Q01BS0VfU09VUkNFX0RJUn0va2RlY29yZQorKQorCithZGRf
ZGVmaW5pdGlvbnMgKC1Xbm8tdW5kZWYgLVduby11bnVzZWQtcGFyYW1ldGVyKQorCitzZXQgKFdl
YktpdFBhcnRfU1JDUyBXZWJLaXRGYWN0b3J5LmNwcCBXZWJLaXRQYXJ0LmNwcCBXZWJLaXRQYXJ0
SW50ZXJmYWNlLmNwcCBXZWJLaXRQYXJ0Q2xpZW50LmNwcCkKKworcXQ0X2FkZF9kYnVzX2FkYXB0
b3IgKFdlYktpdFBhcnRfU1JDUyBvcmcua2RlLldlYktpdFBhcnQueG1sIFdlYktpdFBhcnRJbnRl
cmZhY2UuaCBXZWJLaXRQYXJ0SW50ZXJmYWNlKQorCitrZGU0X2F1dG9tb2MgKCR7V2ViS2l0UGFy
dF9TUkNTfSkKK2tkZTRfYWRkX3BsdWdpbiAoV2ViS2l0UGFydCBXSVRIX1BSRUZJWCAke1dlYktp
dFBhcnRfU1JDU30pCit0YXJnZXRfbGlua19saWJyYXJpZXMgKFdlYktpdFBhcnQgJHtLREU0X0tE
RUNPUkVfTElCU30ga3BhcnRzIFdlYkNvcmUtdW5pdHkpCisKK2tkZTRfaW5zdGFsbF9saWJ0b29s
X2ZpbGUgKCR7UExVR0lOX0lOU1RBTExfRElSfS8gV2ViS2l0UGFydCkKK2luc3RhbGwgKFRBUkdF
VFMgV2ViS2l0UGFydCBERVNUSU5BVElPTiAke1BMVUdJTl9JTlNUQUxMX0RJUn0pCisKK2luc3Rh
bGwgKEZJTEVTIFdlYktpdFBhcnQuZGVza3RvcCBERVNUSU5BVElPTiAke1NFUlZJQ0VTX0lOU1RB
TExfRElSfSkKK2luc3RhbGwgKEZJTEVTIFdlYktpdFBhcnQucmMgV2ViS2l0UGFydEJyb3dzZXIu
cmMgREVTVElOQVRJT04gJHtEQVRBX0lOU1RBTExfRElSfS9XZWJLaXRQYXJ0KQpJbmRleDogV2Vi
S2l0L1dlYktpdFBhcnQvV2ViS2l0UGFydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1dlYktp
dFBhcnQvV2ViS2l0UGFydC5jcHAJKFJldmlzaW9uIDApCisrKyBXZWJLaXQvV2ViS2l0UGFydC9X
ZWJLaXRQYXJ0LmNwcAkoUmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Cisg
KgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiV2ViS2l0UGFydC5oIgorCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIkZy
YW1lUXQuaCIKKyNpbmNsdWRlICJXZWJLaXRGYWN0b3J5LmgiCisjaW5jbHVkZSAiV2ViS2l0UGFy
dENsaWVudC5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworV2ViS2l0UGFydDo6V2Vi
S2l0UGFydChRV2lkZ2V0KiBwYXJlbnRXaWRnZXQsIFFPYmplY3QqIHBhcmVudE9iamVjdCwgR1VJ
UHJvZmlsZSBwcm9mKQorICAgIDogS1BhcnRzOjpSZWFkT25seVBhcnQocGFyZW50T2JqZWN0KQor
ICAgICwgbV9mcmFtZSgwKQorICAgICwgbV9mcmFtZVZpZXcoMCkKKyAgICAsIG1fY2xpZW50KDAp
Cit7CisgICAgc2V0SW5zdGFuY2UoV2ViS2l0RmFjdG9yeTo6aW5zdGFuY2UoKSwgcHJvZiA9PSBC
cm93c2VyVmlld0dVSSAmJiAhcGFyZW50UGFydCgpKTsKKworICAgIGluaXRWaWV3KHBhcmVudFdp
ZGdldCwgcHJvZik7Cit9CisKK1dlYktpdFBhcnQ6On5XZWJLaXRQYXJ0KCkKK3sKKyAgICBpZiAo
bV9mcmFtZSkKKyAgICAgICAgZGVsZXRlIG1fZnJhbWUtPnBhZ2UoKTsKKworICAgIGRlbGV0ZSBt
X2NsaWVudDsKK30KKworYm9vbCBXZWJLaXRQYXJ0OjpvcGVuRmlsZSgpCit7CisgICAgcmV0dXJu
IHRydWU7Cit9CisKK2Jvb2wgV2ViS2l0UGFydDo6b3BlblVybChjb25zdCBLVXJsJiB1cmwpCit7
CisgICAgcmV0dXJuIG1fZnJhbWUtPm9wZW5VUkwoS1VSTCh1cmwudG9FbmNvZGVkKCkpKTsKK30K
KworYm9vbCBXZWJLaXRQYXJ0OjpjbG9zZVVybCgpCit7CisgICAgcmV0dXJuIG1fZnJhbWUtPmNs
b3NlVVJMKCk7Cit9CisKK1dlYktpdFBhcnQqIFdlYktpdFBhcnQ6OnBhcmVudFBhcnQoKQorewor
ICAgIHJldHVybiBxb2JqZWN0X2Nhc3Q8V2ViS2l0UGFydCo+KHBhcmVudCgpKTsKK30KKworRnJh
bWUqIFdlYktpdFBhcnQ6OmZyYW1lKCkKK3sKKyAgICByZXR1cm4gbV9mcmFtZS5nZXQoKTsKK30K
Kwordm9pZCBXZWJLaXRQYXJ0Ojppbml0VmlldyhRV2lkZ2V0KiBwYXJlbnRXaWRnZXQsIEdVSVBy
b2ZpbGUgcHJvZikKK3sKKyAgICBpZiAocHJvZiA9PSBEZWZhdWx0R1VJKQorICAgICAgICBzZXRY
TUxGaWxlKCJXZWJLaXRQYXJ0LnJjIik7CisgICAgZWxzZSBpZiAocHJvZiA9PSBCcm93c2VyVmll
d0dVSSkKKyAgICAgICAgc2V0WE1MRmlsZSgiV2ViS2l0UGFydEJyb3dzZXIucmMiKTsKKworICAg
IG1fY2xpZW50ID0gbmV3IFdlYktpdFBhcnRDbGllbnQoKTsKKyAKKyAgICAvLyBJbml0aWFsaXpl
IFdlYkNvcmUgaW4gUXQgcGxhdGZvcm0gbW9kZS4uLgorICAgIFBhZ2UqIHBhZ2UgPSBuZXcgUGFn
ZSgpOworICAgIEZyYW1lKiBmcmFtZSA9IG5ldyBGcmFtZVF0KHBhZ2UsIDAsIG1fY2xpZW50KTsK
KworICAgIG1fZnJhbWUgPSBmcmFtZTsKKyAgICBmcmFtZS0+ZGVyZWYoKTsgLy8gRnJhbWVzIGFy
ZSBjcmVhdGVkIHdpdGggYSByZWZjb3VudCBvZiAxLiAgUmVsZWFzZSB0aGlzIHJlZiwgc2luY2Ug
d2UndmUgYXNzaWduZWQgaXQgdG8gYSBSZWZQdHIKKworICAgIHBhZ2UtPnNldE1haW5GcmFtZShm
cmFtZSk7CisKKyAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IG5ldyBGcmFtZVZpZXcoZnJhbWUp
OworICAgIG1fZnJhbWVWaWV3ID0gZnJhbWVWaWV3OworICAgIGZyYW1lVmlldy0+ZGVyZWYoKTsg
Ly8gRnJhbWVWaWV3cyBhcmUgY3JlYXRlZCB3aXRoIGEgcmVmY291bnQgb2YgMS4gIFJlbGVhc2Ug
dGhpcyByZWYsIHNpbmNlIHdlJ3ZlIGFzc2lnbmVkIGl0IHRvIGEgUmVmUHRyCisKKyAgICBtX2Zy
YW1lLT5zZXRWaWV3KGZyYW1lVmlldyk7CisgICAgbV9mcmFtZVZpZXctPnNldFBhcmVudFdpZGdl
dChwYXJlbnRXaWRnZXQpOworCisgICAgLy8gSW5pdGlhbGl6ZSBLUGFydHMgd2lkZ2V0Li4uCisg
ICAgc2V0V2lkZ2V0KG1fZnJhbWUtPnZpZXcoKS0+cXdpZGdldCgpKTsKK30KKworI2luY2x1ZGUg
IldlYktpdFBhcnQubW9jIgpJbmRleDogV2ViS2l0L1dlYktpdFBhcnQvV2ViS2l0UGFydEludGVy
ZmFjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1dlYktpdFBhcnQvV2ViS2l0UGFydEludGVy
ZmFjZS5jcHAJKFJldmlzaW9uIDApCisrKyBXZWJLaXQvV2ViS2l0UGFydC9XZWJLaXRQYXJ0SW50
ZXJmYWNlLmNwcAkoUmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqCisg
KiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJXZWJLaXRQYXJ0SW50ZXJmYWNlLmgiCisKKyNpbmNsdWRlICJXZWJLaXRQYXJ0LmgiCisK
K1dlYktpdFBhcnRJbnRlcmZhY2U6OldlYktpdFBhcnRJbnRlcmZhY2UoV2ViS2l0UGFydCogcGFy
dCkKKyAgICA6IFFPYmplY3QocGFydCkKKyAgICAsIG1fcGFydChwYXJ0KQoreworICAgIFFfQVNT
RVJUKG1fcGFydCAhPSAwKTsKK30KKworV2ViS2l0UGFydEludGVyZmFjZTo6fldlYktpdFBhcnRJ
bnRlcmZhY2UoKQoreworfQorCisKK0tVcmwgV2ViS2l0UGFydEludGVyZmFjZTo6dXJsKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9wYXJ0LT51cmwoKTsKK30KKworYm9vbCBXZWJLaXRQYXJ0SW50
ZXJmYWNlOjpjbG9zZVVSTCgpCit7CisgICAgcmV0dXJuIG1fcGFydC0+Y2xvc2VVcmwoKTsKK30K
KworI2luY2x1ZGUgIldlYktpdFBhcnRJbnRlcmZhY2UubW9jIgpJbmRleDogV2ViS2l0L1dlYktp
dFBhcnQvV2ViS2l0RmFjdG9yeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1dlYktpdFBhcnQv
V2ViS2l0RmFjdG9yeS5jcHAJKFJldmlzaW9uIDApCisrKyBXZWJLaXQvV2ViS2l0UGFydC9XZWJL
aXRGYWN0b3J5LmNwcAkoUmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMTQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+Cisg
KgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiV2ViS2l0RmFjdG9yeS5oIgorCisjaW5jbHVkZSAiV2ViS2l0UGFydC5oIgorCisj
aW5jbHVkZSA8a2xvY2FsZS5oPgorI2luY2x1ZGUgPGtpbnN0YW5jZS5oPgorI2luY2x1ZGUgPGth
Ym91dGRhdGEuaD4KKworV2ViS2l0RmFjdG9yeSogV2ViS2l0RmFjdG9yeTo6c19zZWxmID0gMDsK
K3Vuc2lnbmVkIGxvbmcgaW50IFdlYktpdEZhY3Rvcnk6OnNfcmVmQ291bnQgPSAwOworS0luc3Rh
bmNlKiBXZWJLaXRGYWN0b3J5OjpzX2luc3RhbmNlID0gMDsKK0tBYm91dERhdGEqIFdlYktpdEZh
Y3Rvcnk6OnNfYWJvdXQgPSAwOworCitXZWJLaXRGYWN0b3J5OjpXZWJLaXRGYWN0b3J5KGJvb2wg
Y2xvbmUpCit7CisgICAgaWYgKGNsb25lKQorICAgICAgICByZWYoKTsKK30KKworV2ViS2l0RmFj
dG9yeTo6fldlYktpdEZhY3RvcnkoKQoreworICAgIGlmIChzX3NlbGYgPT0gdGhpcykgeworICAg
ICAgICBRX0FTU0VSVCghc19yZWZDb3VudCk7CisKKyAgICAgICAgZGVsZXRlIHNfaW5zdGFuY2U7
CisgICAgICAgIGRlbGV0ZSBzX2Fib3V0OworICAgICAgICAKKyAgICAgICAgc19pbnN0YW5jZSA9
IDA7CisgICAgICAgIHNfYWJvdXQgPSAwOworICAgIH0KKyAgICBlbHNlCisgICAgICAgIGRlcmVm
KCk7Cit9CisKK0tQYXJ0czo6UGFydCogV2ViS2l0RmFjdG9yeTo6Y3JlYXRlUGFydE9iamVjdChR
V2lkZ2V0KiBwYXJlbnRXaWRnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUU9iamVjdCogcGFyZW50T2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGNsYXNzTmFtZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBRU3RyaW5nTGlzdCYg
YXJncykKK3sKKyAgICBXZWJLaXRQYXJ0OjpHVUlQcm9maWxlIHByb2YgPSBXZWJLaXRQYXJ0OjpE
ZWZhdWx0R1VJOworCisgICAgaWYgKHN0cmNtcChjbGFzc05hbWUsICJCcm93c2VyL1ZpZXciKSA9
PSAwKQorICAgICAgICBwcm9mID0gV2ViS2l0UGFydDo6QnJvd3NlclZpZXdHVUk7CisKKyAgICBy
ZXR1cm4gbmV3IFdlYktpdFBhcnQocGFyZW50V2lkZ2V0LCBwYXJlbnRPYmplY3QsIHByb2YpOwor
fQorCitLSW5zdGFuY2UqIFdlYktpdEZhY3Rvcnk6Omluc3RhbmNlKCkKK3sKKyAgICBRX0FTU0VS
VChzX3NlbGYgIT0gMCk7CisKKyAgICBpZiAoIXNfaW5zdGFuY2UpIHsKKyAgICAgICAgc19hYm91
dCA9IG5ldyBLQWJvdXREYXRhKCJXZWJLaXRQYXJ0IiwgSTE4Tl9OT09QKCJXZWJLaXQiKSwgIjAu
MSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMThOX05PT1AoIkVtYmVkZGFi
bGUgSFRNTC9TVkcgY29tcG9uZW50IiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBLQWJvdXREYXRhOjpMaWNlbnNlX0xHUEwpOworCisgICAgICAgIC8vIEZJWE1FOiBBZGQgY29w
eXJpZ2h0IGluZm9ybWF0aW9uIGluIHRoZSBLQWJvdXREYXRhIQorICAgICAgICBzX2luc3RhbmNl
ID0gbmV3IEtJbnN0YW5jZShzX2Fib3V0KTsKKyAgICB9CisKKyAgICByZXR1cm4gc19pbnN0YW5j
ZTsKK30KKwordm9pZCBXZWJLaXRGYWN0b3J5OjpyZWYoKQoreworICAgIGlmICghc19yZWZDb3Vu
dCAmJiAhc19zZWxmKQorICAgICAgICBzX3NlbGYgPSBuZXcgV2ViS2l0RmFjdG9yeSgpOworCisg
ICAgc19yZWZDb3VudCsrOworfQorCit2b2lkIFdlYktpdEZhY3Rvcnk6OmRlcmVmKCkKK3sKKyAg
ICBpZighLS1zX3JlZkNvdW50ICYmIHNfc2VsZikgeworICAgICAgICBkZWxldGUgc19zZWxmOwor
ICAgICAgICBzX3NlbGYgPSAwOworICAgIH0KK30KKworLy8gRmFjdG9yeSBlbnRyeSBwb2ludAor
ZXh0ZXJuICJDIiB2b2lkKiBpbml0X2xpYldlYktpdFBhcnQoKQoreyAgICAgICAgCisgICAgcmV0
dXJuIG5ldyBXZWJLaXRGYWN0b3J5KHRydWUpOworfQorCisjaW5jbHVkZSAiV2ViS2l0RmFjdG9y
eS5tb2MiCg==
</data>
<flag name="review"
          id="3272"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10326</attachid>
            <date>2006-08-30 15:10:05 -0700</date>
            <delta_ts>2006-09-04 14:28:25 -0700</delta_ts>
            <desc>DumpRenderTree adjustements</desc>
            <filename>drt-fixes.diff</filename>
            <type>text/plain</type>
            <size>8331</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKFJldmlzaW9uIDE2MTMwKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShBcmJl
aXRza29waWUpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDYtMDgtMzEgIE5pa29sYXMgWmltbWVybWFu
biAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGaXhlcyBwYXJ0cyBvZjogaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3
aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY0NAorICAgICAgICBBZGp1c3QgRHVtcFJlbmRlclRy
ZWUgdG8gdGhlIEZyYW1lUXRDbGllbnQgY2hhbmdlcy4KKworICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL0R1bXBSZW5kZXJUcmVlLnF0cHJvai9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5xdHByb2ovRHVtcFJlbmRlclRyZWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6OkR1bXBSZW5kZXJUcmVlKToKKyAgICAgICAg
KFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjp+RHVtcFJlbmRlclRyZWUpOgorICAgICAgICAoV2Vi
Q29yZTo6RHVtcFJlbmRlclRyZWU6OmZyYW1lKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9E
dW1wUmVuZGVyVHJlZS5xdHByb2ovRHVtcFJlbmRlclRyZWUuaDoKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5xdHByb2ovRHVtcFJlbmRlclRyZWVDbGllbnQuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlQ2xpZW50OjpEdW1wUmVuZGVy
VHJlZUNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZUNsaWVudDo6fkR1
bXBSZW5kZXJUcmVlQ2xpZW50KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVy
VHJlZS5xdHByb2ovRHVtcFJlbmRlclRyZWVDbGllbnQuaDogQWRkZWQuCisKIDIwMDYtMDgtMjkg
IHdheWxvbmlzICA8d2F5bG9uaXNAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBn
Z2FyZW4uCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5x
dHByb2ovRHVtcFJlbmRlclRyZWVDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0cHJvai9EdW1wUmVuZGVyVHJlZUNsaWVu
dC5jcHAJKFJldmlzaW9uIDApCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVu
ZGVyVHJlZS5xdHByb2ovRHVtcFJlbmRlclRyZWVDbGllbnQuY3BwCShSZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFu
biA8emltbWVybWFubkBrZGUub3JnPgorICogCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIs
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZUNsaWVudC5o
IgorCisjaW5jbHVkZSAiRHVtcFJlbmRlclRyZWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitEdW1wUmVuZGVyVHJlZUNsaWVudDo6RHVtcFJlbmRlclRyZWVDbGllbnQoKQorICAgIDogRnJh
bWVRdENsaWVudERlZmF1bHQoKQoreworfQorCitEdW1wUmVuZGVyVHJlZUNsaWVudDo6fkR1bXBS
ZW5kZXJUcmVlQ2xpZW50KCkKK3sKK30KKworfQorCisvLyB2aW06IHRzPTQgc3c9NCBldApJbmRl
eDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUucXRwcm9qL0R1bXBS
ZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9E
dW1wUmVuZGVyVHJlZS5xdHByb2ovRHVtcFJlbmRlclRyZWUuY3BwCShSZXZpc2lvbiAxNjEyOSkK
KysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0cHJvai9EdW1w
UmVuZGVyVHJlZS5jcHAJKEFyYmVpdHNrb3BpZSkKQEAgLTI4LDkgKzI4LDExIEBACiAgKi8KIAog
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlLmgiCisKKyNpbmNs
dWRlICJQYWdlLmgiCiAjaW5jbHVkZSAibWFya3VwLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
LSNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZS5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVBc1RleHQu
aCIKIAogI2luY2x1ZGUgPFFUaW1lcj4KQEAgLTQ5LDEyICs1MSwyMiBAQAogCiBEdW1wUmVuZGVy
VHJlZTo6RHVtcFJlbmRlclRyZWUoKQogICAgIDogbV9mcmFtZSgwKQorICAgICwgbV9jbGllbnQo
bmV3IER1bXBSZW5kZXJUcmVlQ2xpZW50KCkpCiAgICAgLCBtX3N0ZGluKDApCiAgICAgLCBtX25v
dGlmaWVyKCkKIHsKLSAgICBtX2ZyYW1lID0gbmV3IEZyYW1lUXQoMCAvKiBubyB0b3BsZXZlbCB3
aWRnZXQgKi8pOwotICAgIG1fZnJhbWUtPnZpZXcoKS0+c2V0U2Nyb2xsQmFyc01vZGUoU2Nyb2xs
QmFyQWx3YXlzT2ZmKTsKKyAgICAvLyBJbml0aWFsaXplIFdlYkNvcmUgaW4gUXQgcGxhdGZvcm0g
bW9kZS4uLgorICAgIFBhZ2UqIHBhZ2UgPSBuZXcgUGFnZSgpOworICAgIG1fZnJhbWUgPSBuZXcg
RnJhbWVRdChwYWdlLCAwLCBtX2NsaWVudCk7CiAKKyAgICBwYWdlLT5zZXRNYWluRnJhbWUobV9m
cmFtZSk7CisKKyAgICBGcmFtZVZpZXcqIHZpZXcgPSBuZXcgRnJhbWVWaWV3KG1fZnJhbWUpOwor
ICAgIHZpZXctPnNldFNjcm9sbEJhcnNNb2RlKFNjcm9sbEJhckFsd2F5c09mZik7CisKKyAgICBt
X2ZyYW1lLT5zZXRWaWV3KHZpZXcpOworICAgIHZpZXctPnNldFBhcmVudFdpZGdldCgwIC8qIG5v
IHRvcGxldmVsIHdpZGdldCAqLyk7CisKICAgICAvLyBSZXZlcnNlIGNhbGN1bGF0aW9ucyBpbiBR
QWJzdHJhY3RTY3JvbGxBcmVhOjptYXhpbXVtVmlld3BvcnRTaXplKCkKICAgICBRU2Nyb2xsQXJl
YSogYXJlYSA9IHFvYmplY3RfY2FzdDxRU2Nyb2xsQXJlYSo+KG1fZnJhbWUtPnZpZXcoKS0+cXdp
ZGdldCgpKTsKIApAQCAtNjcsNiArNzksNyBAQAogRHVtcFJlbmRlclRyZWU6On5EdW1wUmVuZGVy
VHJlZSgpCiB7CiAgICAgZGVsZXRlIG1fZnJhbWU7CisgICAgZGVsZXRlIG1fY2xpZW50OwogCiAg
ICAgZGVsZXRlIG1fc3RkaW47CiAgICAgZGVsZXRlIG1fbm90aWZpZXI7CkBAIC0xMjEsNiArMTM0
LDExIEBACiAgICAgICAgIFFUaW1lcjo6c2luZ2xlU2hvdCgxMCwgdGhpcywgU0xPVChjaGVja0xv
YWRlZCgpKSk7CiB9CiAKK0ZyYW1lUXQqIER1bXBSZW5kZXJUcmVlOjpmcmFtZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fZnJhbWU7CiB9CiAKK30KKwogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVl
Lm1vYyIKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0
cHJvai9EdW1wUmVuZGVyVHJlZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0cHJvai9EdW1wUmVuZGVyVHJlZUNsaWVudC5o
CShSZXZpc2lvbiAwKQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRy
ZWUucXRwcm9qL0R1bXBSZW5kZXJUcmVlQ2xpZW50LmgJKFJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1t
ZXJtYW5uQGtkZS5vcmc+CisgKiAKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBEdW1wUmVuZGVyVHJlZUNsaWVudF9ICisjZGVmaW5lIER1bXBSZW5kZXJUcmVlQ2xpZW50
X0gKKworI2luY2x1ZGUgIkZyYW1lUXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBEdW1wUmVuZGVyVHJlZUNsaWVudCA6IHB1YmxpYyBGcmFtZVF0Q2xpZW50RGVmYXVsdAorewor
cHVibGljOgorICAgIER1bXBSZW5kZXJUcmVlQ2xpZW50KCk7CisgICAgdmlydHVhbCB+RHVtcFJl
bmRlclRyZWVDbGllbnQoKTsKK307CisKK30KKworI2VuZGlmCisKKy8vIHZpbTogdHM9NCBzdz00
IGV0CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5xdHBy
b2ovRHVtcFJlbmRlclRyZWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9EdW1wUmVuZGVyVHJlZS5xdHByb2ovRHVtcFJlbmRlclRyZWUuaAkoUmV2aXNpb24gMTYx
MjkpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5xdHByb2ov
RHVtcFJlbmRlclRyZWUuaAkoQXJiZWl0c2tvcGllKQpAQCAtMzMsNyArMzMsNyBAQAogI2luY2x1
ZGUgPFFUZXh0U3RyZWFtPgogI2luY2x1ZGUgPFFTb2NrZXROb3RpZmllcj4KIAotI2luY2x1ZGUg
IkZyYW1lUXQuaCIKKyNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZUNsaWVudC5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTU1LDcgKzU1LDEzIEBACiAgICAgdm9pZCBjaGVja0xvYWRlZCgp
OwogCiBwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBEdW1wUmVuZGVyVHJlZUNsaWVudDsKKwor
ICAgIEZyYW1lUXQqIGZyYW1lKCkgY29uc3Q7CisKK3ByaXZhdGU6CiAgICAgRnJhbWVRdCogbV9m
cmFtZTsKKyAgICBEdW1wUmVuZGVyVHJlZUNsaWVudCogbV9jbGllbnQ7CiAKICAgICBRVGV4dFN0
cmVhbSogbV9zdGRpbjsKICAgICBRU29ja2V0Tm90aWZpZXIqIG1fbm90aWZpZXI7CkluZGV4OiBX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5xdHByb2ovQ01ha2VMaXN0
cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRl
clRyZWUucXRwcm9qL0NNYWtlTGlzdHMudHh0CShSZXZpc2lvbiAxNjEyOSkKKysrIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0cHJvai9DTWFrZUxpc3RzLnR4dAko
QXJiZWl0c2tvcGllKQpAQCAtMjAsNyArMjAsNyBAQAogCiBhZGRfZGVmaW5pdGlvbnMoLVduby11
bmRlZiAtV25vLXVudXNlZC1wYXJhbWV0ZXIpCiAKLXNldChEdW1wUmVuZGVyVHJlZV9TUkNTIG1h
aW4uY3BwIER1bXBSZW5kZXJUcmVlLmNwcCkKK3NldChEdW1wUmVuZGVyVHJlZV9TUkNTIG1haW4u
Y3BwIER1bXBSZW5kZXJUcmVlLmNwcCBEdW1wUmVuZGVyVHJlZUNsaWVudC5jcHApCiBrZGU0X2F1
dG9tb2MoJHtEdW1wUmVuZGVyVHJlZV9TUkNTfSkKIGtkZTRfYWRkX2V4ZWN1dGFibGUoRHVtcFJl
bmRlclRyZWUgUlVOX1VOSU5TVEFMTEVEICR7RHVtcFJlbmRlclRyZWVfU1JDU30pCiB0YXJnZXRf
bGlua19saWJyYXJpZXMoRHVtcFJlbmRlclRyZWUgJHtLREU0X0tERUNPUkVfTElCU30gV2ViQ29y
ZS11bml0eSkK
</data>
<flag name="review"
          id="3273"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10327</attachid>
            <date>2006-08-30 15:37:07 -0700</date>
            <delta_ts>2006-09-04 14:28:25 -0700</delta_ts>
            <desc>Update patch: General Frame adjustments</desc>
            <filename>frame-fixes.diff</filename>
            <type>text/plain</type>
            <size>13138</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShSZXZpc2lvbiAxNjEyOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCShBcmJlaXRza29waWUpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMDYtMDgtMzEgIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1h
bm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXhlcyBwYXJ0cyBvZjogaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDY0NAorICAgICAgICBMZXQgRnJhbWVRdCBvcGVyYXRlIG9uIGEgRnJhbWVR
dENsaWVudCwganVzdCBsaWtlIFdpbi9NYWMgaGFuZGxlIGl0LgorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvRnJhbWVRdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVF0OjpGcmFtZVF0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lUXQ6On5G
cmFtZVF0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lUXQ6Om9wZW5VUkwpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVRdDo6c3VibWl0Rm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVF0
Ojp1cmxTZWxlY3RlZCk6CisgICAgICAgICogcGxhdGZvcm0vcXQvRnJhbWVRdC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL3F0L0ZyYW1lUXRDbGllbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lUXRDbGllbnREZWZhdWx0OjpGcmFtZVF0Q2xpZW50RGVmYXVsdCk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVF0Q2xpZW50RGVmYXVsdDo6fkZyYW1lUXRDbGllbnREZWZhdWx0KToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lUXRDbGllbnREZWZhdWx0OjpzZXRGcmFtZSk6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVF0Q2xpZW50RGVmYXVsdDo6b3BlblVSTCk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVF0Q2xpZW50RGVmYXVsdDo6c3VibWl0Rm9ybSk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVF0Q2xpZW50RGVmYXVsdDo6cmVjZWl2ZWRSZXNwb25zZSk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVF0Q2xpZW50RGVmYXVsdDo6cmVjZWl2ZWREYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lUXRDbGllbnREZWZhdWx0OjpyZWNlaXZlZEFsbERhdGEpOgorICAgICAgICAq
IHBsYXRmb3JtL3F0L0ZyYW1lUXRDbGllbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVF0Q2xpZW50Ojp+RnJhbWVRdENsaWVudCk6CisKIDIwMDYtMDgtMzAgIERhdmlkIEh5YXR0
ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBmb3IgYnVncyA5MDAwIGFuZCAxMDYw
Ni4gIEFkZCBjb2RlIHRvIHN1cHByZXNzIHBhaW50aW5nIHdoZW4KSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vcXQvRnJhbWVRdENsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9xdC9GcmFtZVF0Q2xpZW50LmNwcAkoUmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0v
cXQvRnJhbWVRdENsaWVudC5jcHAJKFJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA2IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUu
b3JnPgorICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkZyYW1lUXRDbGllbnQuaCIKKworI2luY2x1ZGUgIkZyYW1lUXQuaCIK
KyNpbmNsdWRlICJSZXNvdXJjZUxvYWRlci5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZGVySW50
ZXJuYWwuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitGcmFtZVF0Q2xpZW50RGVmYXVsdDo6
RnJhbWVRdENsaWVudERlZmF1bHQoKQorICAgIDogRnJhbWVRdENsaWVudCgpCisgICAgLCBSZXNv
dXJjZUxvYWRlckNsaWVudCgpCisgICAgLCBtX2ZyYW1lKDApCisgICAgLCBtX2JlZ2luQ2FsbGVk
KGZhbHNlKQoreworfQorCitGcmFtZVF0Q2xpZW50RGVmYXVsdDo6fkZyYW1lUXRDbGllbnREZWZh
dWx0KCkKK3sKK30KKwordm9pZCBGcmFtZVF0Q2xpZW50RGVmYXVsdDo6c2V0RnJhbWUoY29uc3Qg
RnJhbWVRdCogZnJhbWUpCit7CisgICAgUV9BU1NFUlQoZnJhbWUgIT0gMCk7CisgICAgbV9mcmFt
ZSA9IGNvbnN0X2Nhc3Q8RnJhbWVRdCo+KGZyYW1lKTsKK30KKwordm9pZCBGcmFtZVF0Q2xpZW50
RGVmYXVsdDo6b3BlblVSTChjb25zdCBLVVJMJiB1cmwpCit7CisgICAgbV9mcmFtZS0+ZGlkT3Bl
blVSTCh1cmwpOworICAgIG1fYmVnaW5DYWxsZWQgPSBmYWxzZTsKKworICAgIFJlc291cmNlTG9h
ZGVyKiBqb2IgPSBuZXcgUmVzb3VyY2VMb2FkZXIodGhpcywgIkdFVCIsIHVybCk7CisgICAgam9i
LT5zdGFydCgwKTsKK30KKwordm9pZCBGcmFtZVF0Q2xpZW50RGVmYXVsdDo6c3VibWl0Rm9ybShj
b25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBGb3JtRGF0YSogcG9z
dERhdGEpCit7CisgICAgbV9iZWdpbkNhbGxlZCA9IGZhbHNlOworCisgICAgUmVzb3VyY2VMb2Fk
ZXIqIGpvYiA9IG5ldyBSZXNvdXJjZUxvYWRlcih0aGlzLCBtZXRob2QsIHVybCwgKnBvc3REYXRh
KTsKKyAgICBqb2ItPnN0YXJ0KDApOworfQorCit2b2lkIEZyYW1lUXRDbGllbnREZWZhdWx0Ojpy
ZWNlaXZlZFJlc3BvbnNlKFJlc291cmNlTG9hZGVyKiwgUGxhdGZvcm1SZXNwb25zZSkKK3sKKyAg
ICAvLyBuby1vcAorfQorCit2b2lkIEZyYW1lUXRDbGllbnREZWZhdWx0OjpyZWNlaXZlZERhdGEo
UmVzb3VyY2VMb2FkZXIqIGpvYiwgY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkKK3sKKyAg
ICBpZiAoIW1fYmVnaW5DYWxsZWQpIHsKKyAgICAgICAgbV9iZWdpbkNhbGxlZCA9IHRydWU7CisK
KyAgICAgICAgLy8gQXNzaWduIGNvcnJlY3QgbWltZXR5cGUgX2JlZm9yZV8gY2FsbGluZyBiZWdp
bigpIQorICAgICAgICBSZXNvdXJjZUxvYWRlckludGVybmFsKiBkID0gam9iLT5nZXRJbnRlcm5h
bCgpOworICAgICAgICBpZiAoZCkgeworICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVl
c3QobV9mcmFtZS0+cmVzb3VyY2VSZXF1ZXN0KCkpOworICAgICAgICAgICAgcmVxdWVzdC5tX3Jl
c3BvbnNlTUlNRVR5cGUgPSBkLT5tX21pbWV0eXBlOworICAgICAgICAgICAgbV9mcmFtZS0+c2V0
UmVzb3VyY2VSZXF1ZXN0KHJlcXVlc3QpOworICAgICAgICB9CisKKyAgICAgICAgbV9mcmFtZS0+
YmVnaW4oam9iLT51cmwoKSk7CisgICAgfQorCisgICAgbV9mcmFtZS0+d3JpdGUoZGF0YSwgbGVu
Z3RoKTsKK30KKwordm9pZCBGcmFtZVF0Q2xpZW50RGVmYXVsdDo6cmVjZWl2ZWRBbGxEYXRhKFJl
c291cmNlTG9hZGVyKiBqb2IsIFBsYXRmb3JtRGF0YSBkYXRhKQoreworICAgIG1fZnJhbWUtPmVu
ZCgpOworICAgIG1fYmVnaW5DYWxsZWQgPSBmYWxzZTsKK30KKworfQorCisvLyB2aW06IHRzPTQg
c3c9NCBldApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9GcmFtZVF0Q2xpZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9GcmFtZVF0Q2xpZW50LmgJKFJldmlzaW9uIDAp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L0ZyYW1lUXRDbGllbnQuaAkoUmV2aXNpb24gMCkKQEAg
LTAsMCArMSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBOaWtvbGFzIFppbW1lcm1h
bm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAqIAorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVS
LCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIs
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIEZyYW1lUXRDbGllbnRfSAorI2RlZmluZSBGcmFtZVF0Q2xpZW50X0gKKwor
I2luY2x1ZGUgIlJlc291cmNlTG9hZGVyQ2xpZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgU3RyaW5nOworY2xhc3MgRnJhbWVRdDsKK2NsYXNzIEZvcm1EYXRhOworCitjbGFz
cyBGcmFtZVF0Q2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5GcmFtZVF0Q2xpZW50KCkg
eyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RnJhbWUoY29uc3QgRnJhbWVRdCopID0gMDsKKwor
ICAgIHZpcnR1YWwgdm9pZCBvcGVuVVJMKGNvbnN0IEtVUkwmKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIHN1Ym1pdEZvcm0oY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEtVUkwmLCBjb25zdCBG
b3JtRGF0YSopID0gMDsKK307CisKK2NsYXNzIEZyYW1lUXRDbGllbnREZWZhdWx0IDogcHVibGlj
IEZyYW1lUXRDbGllbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBSZXNv
dXJjZUxvYWRlckNsaWVudAoreworcHVibGljOgorICAgIEZyYW1lUXRDbGllbnREZWZhdWx0KCk7
CisgICAgdmlydHVhbCB+RnJhbWVRdENsaWVudERlZmF1bHQoKTsKKworICAgIC8vIEZyYW1lUXRD
bGllbnQKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RnJhbWUoY29uc3QgRnJhbWVRdCopOworCisgICAg
dmlydHVhbCB2b2lkIG9wZW5VUkwoY29uc3QgS1VSTCYpOworICAgIHZpcnR1YWwgdm9pZCBzdWJt
aXRGb3JtKGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBLVVJMJiwgY29uc3QgRm9ybURhdGEq
KTsKKworICAgIC8vIFJlc291cmNlTG9hZGVyQ2xpZW50CisgICAgdmlydHVhbCB2b2lkIHJlY2Vp
dmVkUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXIqLCBQbGF0Zm9ybVJlc3BvbnNlKTsKKyAgICB2aXJ0
dWFsIHZvaWQgcmVjZWl2ZWREYXRhKFJlc291cmNlTG9hZGVyKiwgY29uc3QgY2hhciosIGludCk7
CisgICAgdmlydHVhbCB2b2lkIHJlY2VpdmVkQWxsRGF0YShSZXNvdXJjZUxvYWRlciosIFBsYXRm
b3JtRGF0YSk7CisKK3ByaXZhdGU6CisgICAgRnJhbWVRdCogbV9mcmFtZTsKKyAgICBib29sIG1f
YmVnaW5DYWxsZWQgOiAxOworfTsKKworfQorCisjZW5kaWYKKworLy8gdmltOiB0cz00IHN3PTQg
ZXQKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQvRnJhbWVRdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vcXQvRnJhbWVRdC5oCShSZXZpc2lvbiAxNjEyOSkKKysrIFdlYkNvcmUv
cGxhdGZvcm0vcXQvRnJhbWVRdC5oCShBcmJlaXRza29waWUpCkBAIC0zMCwzMiArMzAsMjIgQEAK
ICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBGcmFtZVF0X0hfCi0jZGVmaW5lIEZyYW1l
UXRfSF8KKyNpZm5kZWYgRnJhbWVRdF9ICisjZGVmaW5lIEZyYW1lUXRfSAogCiAjaW5jbHVkZSAi
RnJhbWUuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUxvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIkZy
YW1lUXRDbGllbnQuaCIKIAogY2xhc3MgUVdpZGdldDsKIGNsYXNzIFFQYWludEV2ZW50OwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEZyYW1lUXRDbGllbnQgeworY2xhc3MgRnJhbWVR
dCA6IHB1YmxpYyBGcmFtZSB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+RnJhbWVRdENsaWVudCgp
OworICAgIEZyYW1lUXQoUGFnZSosIEVsZW1lbnQqLCBGcmFtZVF0Q2xpZW50Kik7CisgICAgdmly
dHVhbCB+RnJhbWVRdCgpOwogCi0gICAgdmlydHVhbCB2b2lkIG9wZW5VUkwoY29uc3QgRGVwcmVj
YXRlZFN0cmluZyYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc3VibWl0Rm9ybShjb25zdCBTdHJp
bmcmIG1ldGhvZCwgY29uc3QgS1VSTCYsIGNvbnN0IEZvcm1EYXRhKikgPSAwOwotfTsKLQotY2xh
c3MgRnJhbWVRdCA6IHB1YmxpYyBGcmFtZSwKLSAgICAgICAgICAgICAgICBwdWJsaWMgUmVzb3Vy
Y2VMb2FkZXJDbGllbnQgewotcHVibGljOgotICAgIEZyYW1lUXQoUVdpZGdldCogcGFyZW50KTsK
LSAgICBGcmFtZVF0KCk7Ci0gICAgfkZyYW1lUXQoKTsKLQogICAgIHZpcnR1YWwgYm9vbCBvcGVu
VVJMKGNvbnN0IEtVUkwmKTsKICAgICB2aXJ0dWFsIHZvaWQgb3BlblVSTFJlcXVlc3QoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIHN1Ym1pdEZvcm0oY29uc3QgUmVz
b3VyY2VSZXF1ZXN0Jik7CkBAIC0xMzUsMTAgKzEyNSw2IEBACiAKICAgICBib29sIGtleUV2ZW50
KGNvbnN0IFBsYXRmb3JtS2V5Ym9hcmRFdmVudCYga2V5RXZlbnQpOwogCi0gICAgdmlydHVhbCB2
b2lkIHJlY2VpdmVkUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXIqLCBQbGF0Zm9ybVJlc3BvbnNlKTsK
LSAgICB2aXJ0dWFsIHZvaWQgcmVjZWl2ZWREYXRhKFJlc291cmNlTG9hZGVyKiwgY29uc3QgY2hh
ciosIGludCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlY2VpdmVkQWxsRGF0YShSZXNvdXJjZUxvYWRl
ciosIFBsYXRmb3JtRGF0YSk7Ci0KICAgICB2b2lkIHNldEZyYW1lR2VvbWV0cnkoY29uc3QgSW50
UmVjdCYpOwogCiBwcml2YXRlOgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9GcmFtZVF0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0L0ZyYW1lUXQuY3BwCShSZXZpc2lv
biAxNjEyOSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vcXQvRnJhbWVRdC5jcHAJKEFyYmVpdHNrb3Bp
ZSkKQEAgLTkyLDMxICs5Miw5IEBACiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLUZyYW1lUXQ6OkZy
YW1lUXQoKQotICAgIDogRnJhbWUobmV3IFBhZ2UsIDApCitGcmFtZVF0OjpGcmFtZVF0KFBhZ2Uq
IHBhZ2UsIEVsZW1lbnQqIG93bmVyRWxlbWVudCwgRnJhbWVRdENsaWVudCogY2xpZW50KQorICAg
IDogRnJhbWUocGFnZSwgb3duZXJFbGVtZW50KQogewotICAgIGluaXQoKTsKLQotICAgIHBhZ2Uo
KS0+c2V0TWFpbkZyYW1lKHRoaXMpOwotICAgIEZyYW1lVmlldyogdmlldyA9IG5ldyBGcmFtZVZp
ZXcodGhpcyk7Ci0gICAgc2V0Vmlldyh2aWV3KTsKLQotICAgIHZpZXctPnNldFBhcmVudFdpZGdl
dCgwKTsKLX0KLQotRnJhbWVRdDo6RnJhbWVRdChRV2lkZ2V0KiBwYXJlbnQpCi0gICAgIDogRnJh
bWUobmV3IFBhZ2UsIDApCi17Ci0gICAgaW5pdCgpOwotICAgIHBhZ2UoKS0+c2V0TWFpbkZyYW1l
KHRoaXMpOwotICAgIEZyYW1lVmlldyogdmlldyA9IG5ldyBGcmFtZVZpZXcodGhpcyk7Ci0gICAg
c2V0Vmlldyh2aWV3KTsKLQotICAgIHZpZXctPnNldFBhcmVudFdpZGdldChwYXJlbnQpOwotfQot
Ci12b2lkIEZyYW1lUXQ6OmluaXQoKQotewogICAgIGQtPm1fZXh0ZW5zaW9uID0gbmV3IEJyb3dz
ZXJFeHRlbnNpb25RdCh0aGlzKTsKICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBuZXcgU2V0dGlu
Z3M7CiAgICAgc2V0dGluZ3MtPnNldEF1dG9Mb2FkSW1hZ2VzKHRydWUpOwpAQCAtMTMxLDIxICsx
MDksMjcgQEAKICAgICBzZXR0aW5ncy0+c2V0U2Fuc1NlcmlmRm9udE5hbWUoIkFyaWFsIik7CiAg
ICAgc2V0dGluZ3MtPnNldEZpeGVkRm9udE5hbWUoIkNvdXJpZXIiKTsKICAgICBzZXR0aW5ncy0+
c2V0U3RkRm9udE5hbWUoIkFyaWFsIik7CisKICAgICBzZXRTZXR0aW5ncyhzZXR0aW5ncyk7CisK
KyAgICBtX2NsaWVudCA9IGNsaWVudDsKKyAgICBtX2NsaWVudC0+c2V0RnJhbWUodGhpcyk7CiB9
CiAKIEZyYW1lUXQ6On5GcmFtZVF0KCkKIHsKLSAgICBjbG9zZVVSTCgpOyAvLyBoYWNrIHRvIGF2
b2lkIGNyYXNoLiAgbXVzdCBmaXggaW4gd2Via2l0IChGcmFtZSkuICBGSVhNRQorICAgIGNsb3Nl
VVJMKCk7CisKKyAgICBzZXRWaWV3KDApOworICAgIGNsZWFyUmVjb3JkZWRGb3JtVmFsdWVzKCk7
CiB9CiAKIGJvb2wgRnJhbWVRdDo6b3BlblVSTChjb25zdCBLVVJMJiB1cmwpCiB7Ci0gICAgZGlk
T3BlblVSTCh1cmwpOwotICAgIG1fYmVnaW5DYWxsZWQgPSBmYWxzZTsKKyAgICBpZiAoIW1fY2xp
ZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBSZXNvdXJjZUxvYWRlciogam9iID0g
bmV3IFJlc291cmNlTG9hZGVyKHRoaXMsICJHRVQiLCB1cmwpOwotICAgIGpvYi0+c3RhcnQoMCk7
CisgICAgbV9jbGllbnQtPm9wZW5VUkwodXJsKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAt
MTU3LDI5ICsxNDEsMTggQEAKIAogICAgIGQtPm1fc3VibWl0dGVkRm9ybVVSTCA9IHJlcXVlc3Qu
dXJsKCk7CiAKLSAgICAvKiBGSVhNRTogT25jZSB3ZSBoYXZlIGEgS1BhcnQgLSBuYW1lZCAiRnJh
bWVQYXJ0UXQiIC0gd2UgY2FuIGxldCB0aGF0IGluaGVyaXQgZnJvbSBGcmFtZVF0Q2xpZW50IGFu
ZCBpbXBsZW1lbnQgdGhlIGZ1bmN0aW9ucy4uLikKICAgICBpZiAobV9jbGllbnQpCiAgICAgICAg
IG1fY2xpZW50LT5zdWJtaXRGb3JtKHJlcXVlc3QuZG9Qb3N0KCkgPyAiUE9TVCIgOiAiR0VUIiwg
cmVxdWVzdC51cmwoKSwgJnJlcXVlc3QucG9zdERhdGEpOwotICAgICovCiAKLSAgICBtX2JlZ2lu
Q2FsbGVkID0gZmFsc2U7Ci0KLSAgICBSZXNvdXJjZUxvYWRlciogam9iID0gbmV3IFJlc291cmNl
TG9hZGVyKHRoaXMsIHJlcXVlc3QuZG9Qb3N0KCkgPyAiUE9TVCIgOiAiR0VUIiwgcmVxdWVzdC51
cmwoKSwgcmVxdWVzdC5wb3N0RGF0YSk7Ci0gICAgam9iLT5zdGFydCgwKTsKLSAgICAKICAgICBj
bGVhclJlY29yZGVkRm9ybVZhbHVlcygpOwogfQogCiB2b2lkIEZyYW1lUXQ6OnVybFNlbGVjdGVk
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAgICAvL25lZWQgdG8gcG90ZW50
aWFsbHkgdXBkYXRlTG9jYXRpb25CYXIoc3RyLmFzY2lpKCkpOyBvciBub3RpZnkgc3lzIG9mIG5l
dyB1cmwgbXliZSBldmVudCBvciBjYWxsYmFjawotICAgIGNvbnN0IEtVUkwgdXJsID0gcmVxdWVz
dC51cmwoKTsKKyAgICBpZiAoIW1fY2xpZW50KQorICAgICAgICByZXR1cm47CiAKLSAgICBkaWRP
cGVuVVJMKHVybCk7IAotICAgIG1fYmVnaW5DYWxsZWQgPSBmYWxzZTsKLQotICAgIFJlc291cmNl
TG9hZGVyKiBqb2IgPSBuZXcgUmVzb3VyY2VMb2FkZXIodGhpcywgIkdFVCIsIHVybCk7Ci0gICAg
am9iLT5zdGFydCgwKTsKKyAgICBtX2NsaWVudC0+b3BlblVSTChyZXF1ZXN0LnVybCgpKTsKIH0K
IAogU3RyaW5nIEZyYW1lUXQ6OnVzZXJBZ2VudCgpIGNvbnN0CkBAIC01MjIsMzYgKzQ5NSw2IEBA
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZCBGcmFtZVF0OjpyZWNlaXZlZFJlc3BvbnNl
KFJlc291cmNlTG9hZGVyKiwgUGxhdGZvcm1SZXNwb25zZSkKLXsKLSAgICAvLyBuby1vcAotfQot
Ci12b2lkIEZyYW1lUXQ6OnJlY2VpdmVkRGF0YShSZXNvdXJjZUxvYWRlciogam9iLCBjb25zdCBj
aGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQotewotICAgIGlmICghbV9iZWdpbkNhbGxlZCkgewotICAg
ICAgICBtX2JlZ2luQ2FsbGVkID0gdHJ1ZTsKLQotICAgICAgICAvLyBBc3NpZ24gY29ycmVjdCBt
aW1ldHlwZSBfYmVmb3JlXyBjYWxsaW5nIGJlZ2luKCkhCi0gICAgICAgIFJlc291cmNlTG9hZGVy
SW50ZXJuYWwqIGQgPSBqb2ItPmdldEludGVybmFsKCk7Ci0gICAgICAgIGlmIChkKSB7Ci0gICAg
ICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChyZXNvdXJjZVJlcXVlc3QoKSk7Ci0gICAg
ICAgICAgICByZXF1ZXN0Lm1fcmVzcG9uc2VNSU1FVHlwZSA9IGQtPm1fbWltZXR5cGU7Ci0gICAg
ICAgICAgICBzZXRSZXNvdXJjZVJlcXVlc3QocmVxdWVzdCk7Ci0gICAgICAgIH0KLQotICAgICAg
ICBiZWdpbihqb2ItPnVybCgpKTsKLSAgICB9Ci0KLSAgICB3cml0ZShkYXRhLCBsZW5ndGgpOwot
fQotCi12b2lkIEZyYW1lUXQ6OnJlY2VpdmVkQWxsRGF0YShSZXNvdXJjZUxvYWRlciogam9iLCBQ
bGF0Zm9ybURhdGEgZGF0YSkKLXsKLSAgICBlbmQoKTsKLSAgICBtX2JlZ2luQ2FsbGVkID0gZmFs
c2U7Ci19Ci0KIHZvaWQgRnJhbWVRdDo6c2V0RnJhbWVHZW9tZXRyeShjb25zdCBJbnRSZWN0JiBy
KQogewogICAgIHNldEZyYW1lR2VvbWV0cnkoUVJlY3QocikpOwpJbmRleDogV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NNYWtlTGlzdHMudHh0CShSZXZpc2lv
biAxNjEyOSkKKysrIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKEFyYmVpdHNrb3BpZSkKQEAgLTkw
MCw2ICs5MDAsNyBAQAogICAgIHBsYXRmb3JtL3F0L1NjcmVlblF0LmNwcAogIyAgIHBsYXRmb3Jt
L3F0L0ZpbGVCdXR0b25RdC5jcHAKICAgICBwbGF0Zm9ybS9xdC9GcmFtZVF0LmNwcAorICAgIHBs
YXRmb3JtL3F0L0ZyYW1lUXRDbGllbnQuY3BwCiAjICAgcGxhdGZvcm0vcXQvVGV4dEVkaXRRdC5j
cHAKICAgICBwbGF0Zm9ybS9xdC9TY3JvbGxWaWV3Q2FudmFzUXQuY3BwCiAgICAgcGxhdGZvcm0v
cXQvUGxhdGZvcm1Nb3VzZUV2ZW50UXQuY3BwCg==
</data>
<flag name="review"
          id="3274"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10395</attachid>
            <date>2006-09-04 14:28:25 -0700</date>
            <delta_ts>2006-09-04 14:30:57 -0700</delta_ts>
            <desc>Move QtLauncher down to WebKitQt</desc>
            <filename>qtlauncher.diff</filename>
            <type>text/plain</type>
            <size>6208</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFF0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRRdC9DaGFuZ2VM
b2cJKFJldmlzaW9uIDE2MjE4KQorKysgV2ViS2l0UXQvQ2hhbmdlTG9nCShBcmJlaXRza29waWUp
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMDktMDUgIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1l
cm1hbm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBub2JvZHkgKE9PUFMhKS4KKwor
ICAgICAgICBGaXhlcyBsYXN0IHBhcnQgb2Y6IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA2NDQKKyAgICAgICAgTW92ZSBRdExhdW5jaGVyIGRvd24gdG8g
V2ViS2l0UXQuCisKKyAgICAgICAgKiBRdExhdW5jaGVyL0NNYWtlTGlzdHMudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBRdExhdW5jaGVyL21haW4uY3BwOiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgor
CiAyMDA2LTA5LTA0ICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4uIEZpbmFsIHBvbGlzaCBieSBTYW0uCkluZGV4OiBX
ZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CShSZXZpc2lvbiAxNjIxOCkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkoQXJiZWl0c2tvcGll
KQpAQCAtMSwzICsxLDEzIEBACisyMDA2LTA5LTA1ICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1t
ZXJtYW5uQGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgbm9ib2R5IChPT1BTISkuCisK
KyAgICAgICAgRml4ZXMgbGFzdCBwYXJ0IG9mOiBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5v
cmcvc2hvd19idWcuY2dpP2lkPTEwNjQ0CisgICAgICAgIE1vdmUgUXRMYXVuY2hlciBkb3duIHRv
IFdlYktpdFF0LgorCisgICAgICAgICogUXRMYXVuY2hlci9DTWFrZUxpc3RzLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBRdExhdW5jaGVyL21haW4uY3BwOiBSZW1vdmVkLgorCiAyMDA2LTA5LTA0
ICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4uCkluZGV4OiBXZWJLaXRRdC9RdExhdW5jaGVyL21haW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdFF0L1F0TGF1bmNoZXIvbWFpbi5jcHAJKFJldmlzaW9uIDApCisrKyBX
ZWJLaXRRdC9RdExhdW5jaGVyL21haW4uY3BwCShSZXZpc2lvbiAwKQpAQCAtMCwwICsxLDg2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEdlb3JnZSBTdGFpa29zIDxzdGFpa29zQGtkZS5v
cmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgRGlyayBNdWVsbGVyIDxtdWVsbGVyQGtkZS5vcmc+
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgWmFjayBSdXNpbiA8emFja0BrZGUub3JnPgorICogQ29w
eXJpZ2h0IChDKSAyMDA2IFNpbW9uIEhhdXNtYW5uIDxoYXVzbWFubkBrZGUub3JnPgorICoKKyAq
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgor
CisjaW5jbHVkZSA8a2FwcGxpY2F0aW9uLmg+CisjaW5jbHVkZSA8a2NtZGxpbmVhcmdzLmg+Cisj
aW5jbHVkZSA8a2RlYnVnLmg+CisKKyNpbmNsdWRlIDxEb2N1bWVudC5oPgorCisjaW5jbHVkZSA8
RnJhbWVRdC5oPgorI2luY2x1ZGUgPHBhZ2UvUGFnZS5oPgorCisjaW5jbHVkZSA8UVZCb3hMYXlv
dXQ+CisjaW5jbHVkZSA8UURpcj4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK3N0YXRp
YyBLQ21kTGluZU9wdGlvbnMgb3B0aW9uc1tdID0KK3sKKyAgICB7ICIrZmlsZSIsICAgICAgICAi
RmlsZSB0byBsb2FkIiwgMCB9LAorICAgIEtDbWRMaW5lTGFzdE9wdGlvbgorfTsKKworaW50IG1h
aW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworICAgIEtDbWRMaW5lQXJnczo6aW5pdChhcmdj
LCBhcmd2LCAidGVzdHVuaXR5IiwgInRlc3R1bml0eSIsCisgICAgICAgICAgICAgICAgICAgICAg
ICJ1bml0eSB0ZXN0Y2FzZSBhcHAiLCAiMC4xIik7CisgICAgS0NtZExpbmVBcmdzOjphZGRDbWRM
aW5lT3B0aW9ucyhvcHRpb25zKTsKKyAgICBLQXBwbGljYXRpb24gYXBwOworICAgIEtDbWRMaW5l
QXJncyAqYXJncyA9IEtDbWRMaW5lQXJnczo6cGFyc2VkQXJncygpOworICAgICAKKyAgICBRV2lk
Z2V0IHRvcExldmVsOworICAgIFFCb3hMYXlvdXQgKmwgPSBuZXcgUVZCb3hMYXlvdXQoJnRvcExl
dmVsKTsKKyAKKyAgICAvLyBJbml0aWFsaXplIFdlYkNvcmUgaW4gUXQgcGxhdGZvcm0gbW9kZS4u
LgorICAgIFBhZ2UqIHBhZ2UgPSBuZXcgUGFnZSgpOworICAgIEZyYW1lKiBmcmFtZSA9IG5ldyBG
cmFtZVF0KHBhZ2UsIDAsIG5ldyBGcmFtZVF0Q2xpZW50RGVmYXVsdCgpKTsKKworICAgIGwtPmFk
ZFdpZGdldChmcmFtZS0+dmlldygpLT5xd2lkZ2V0KCkpOworICAgIGwtPmFjdGl2YXRlKCk7Cisg
ICAgZnJhbWUtPnZpZXcoKS0+cXdpZGdldCgpLT5zaG93KCk7CisKKyAgICB0b3BMZXZlbC5zaG93
KCk7CisKKyAgICBRU3RyaW5nIHVybDsKKworICAgIGlmIChhcmdzLT5jb3VudCgpID09IDApCisg
ICAgICAgIHVybCA9IFFTdHJpbmcoIiUxLyUyIikuYXJnKFFEaXI6OmhvbWVQYXRoKCkpLmFyZyhR
TGF0aW4xU3RyaW5nKCJpbmRleC5odG1sIikpOworICAgIGVsc2UKKyAgICAgICAgdXJsID0gYXJn
cy0+YXJnKDApOworCisgICAgZnJhbWUtPm9wZW5VUkwoS1VSTCh1cmwudG9MYXRpbjEoKSkpOwor
ICAgIAorICAgIGFwcC5leGVjKCk7CisgICAgZGVsZXRlIGZyYW1lOworICAgIHJldHVybiAwOwor
fQpJbmRleDogV2ViS2l0UXQvUXRMYXVuY2hlci9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXRRdC9RdExhdW5jaGVyL0NNYWtlTGlzdHMudHh0CShSZXZpc2lvbiAwKQorKysgV2Vi
S2l0UXQvUXRMYXVuY2hlci9DTWFrZUxpc3RzLnR4dAkoUmV2aXNpb24gMCkKQEAgLTAsMCArMSwy
NiBAQAoraW5jbHVkZV9kaXJlY3RvcmllcygKKyAgIEJFRk9SRSAke0NNQUtFX0NVUlJFTlRfU09V
UkNFX0RJUn0vLi4vLi4vV2ViQ29yZQorICAgQkVGT1JFICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0Vf
RElSfS8uLi8uLi8vSmF2YVNjcmlwdENvcmUKKyAgIEJFRk9SRSAke0NNQUtFX0NVUlJFTlRfU09V
UkNFX0RJUn0vLi4vLi4vV2ViQ29yZS9icmlkZ2UKKyAgIEJFRk9SRSAke0NNQUtFX0NVUlJFTlRf
U09VUkNFX0RJUn0vLi4vLi4vV2ViQ29yZS9wYWdlCisgICBCRUZPUkUgJHtDTUFLRV9DVVJSRU5U
X1NPVVJDRV9ESVJ9Ly4uLy4uL1dlYkNvcmUvbG9hZGVyCisgICBCRUZPUkUgJHtDTUFLRV9DVVJS
RU5UX1NPVVJDRV9ESVJ9Ly4uLy4uL1dlYkNvcmUvcGxhdGZvcm0KKyAgIEJFRk9SRSAke0NNQUtF
X0NVUlJFTlRfU09VUkNFX0RJUn0vLi4vLi4vV2ViQ29yZS9wbGF0Zm9ybS9xdAorICAgQkVGT1JF
ICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi8uLi9XZWJDb3JlL2tzdmcyCisgICBCRUZP
UkUgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uLy4uL1dlYkNvcmUva3N2ZzIvc3ZnCisg
ICBCRUZPUkUgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uLy4uL1dlYkNvcmUva3N2ZzIv
Y3NzCisgICBCRUZPUkUgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uLy4uL1dlYkNvcmUv
cmVuZGVyaW5nCisgICBCRUZPUkUgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uLy4uL1dl
YkNvcmUvZWRpdGluZworICAgQkVGT1JFICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi8u
Li9XZWJDb3JlL2h0bWwKKyAgIEJFRk9SRSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4v
Li4vV2ViQ29yZS9jc3MKKyAgIEJFRk9SRSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4v
Li4vV2ViQ29yZS9kb20KKyAgIEJFRk9SRSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4v
Li4vV2ViQ29yZS94bWwKKyAgIEJFRk9SRSAke0NNQUtFX1NPVVJDRV9ESVJ9L2tkZWNvcmUKKykK
KworYWRkX2RlZmluaXRpb25zKC1Xbm8tdW5kZWYgLVduby11bnVzZWQtcGFyYW1ldGVyKQorCitz
ZXQodGVzdHVuaXR5X1NSQ1MgbWFpbi5jcHApCitrZGU0X2F1dG9tb2MoJHt0ZXN0dW5pdHlfU1JD
U30pCitrZGU0X2FkZF9leGVjdXRhYmxlKHRlc3R1bml0eSBSVU5fVU5JTlNUQUxMRUQgJHt0ZXN0
dW5pdHlfU1JDU30pCit0YXJnZXRfbGlua19saWJyYXJpZXModGVzdHVuaXR5ICAke0tERTRfS0RF
Q09SRV9MSUJTfSBXZWJDb3JlLXVuaXR5ICkKSW5kZXg6IENNYWtlTGlzdHMudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIENNYWtlTGlzdHMudHh0CShSZXZpc2lvbiAxNjIxOCkKKysrIENNYWtlTGlzdHMudHh0
CShBcmJlaXRza29waWUpCkBAIC01Niw2ICs1Niw4IEBACiBhZGRfc3ViZGlyZWN0b3J5IChXZWJD
b3JlKQogYWRkX3N1YmRpcmVjdG9yeSAoV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJl
bmRlclRyZWUucXRwcm9qKQogCithZGRfc3ViZGlyZWN0b3J5IChXZWJLaXRRdC9RdExhdW5jaGVy
KQorCiBJRiAoV0VCS0lUX1VTRV9LREVfU1VQUE9SVCkKICAgICBhZGRfc3ViZGlyZWN0b3J5IChX
ZWJLaXRRdC9XZWJLaXRQYXJ0KQogRU5ESUYgKFdFQktJVF9VU0VfS0RFX1NVUFBPUlQpCg==
</data>
<flag name="review"
          id="3317"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>