<?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>90529</bug_id>
          
          <creation_ts>2012-07-04 01:46:42 -0700</creation_ts>
          <short_desc>Web Inspector: Add FileContentView for FileSystemView</short_desc>
          <delta_ts>2012-07-09 05:34:08 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>90439</dependson>
    
    <dependson>90518</dependson>
          <blocked>68203</blocked>
    
    <blocked>90592</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Taiju Tsuiki">tzik</reporter>
          <assigned_to name="Taiju Tsuiki">tzik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>vsevik</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>662753</commentid>
    <comment_count>0</comment_count>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2012-07-04 01:46:42 -0700</bug_when>
    <thetext>For FileSystem support of Inspector, I&apos;d like to add a view to show content of a file.
This patch adds FileContentView, this view is only for text file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662757</commentid>
    <comment_count>1</comment_count>
      <attachid>150738</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2012-07-04 01:49:15 -0700</bug_when>
    <thetext>Created attachment 150738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663718</commentid>
    <comment_count>2</comment_count>
      <attachid>150738</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-07-05 13:58:24 -0700</bug_when>
    <thetext>Comment on attachment 150738
Patch

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

&gt; Source/WebCore/inspector/front-end/FileContentView.js:49
&gt; +            if (this._file.resourceType.isTextType())

You should use another way to detect text files, see https://bugs.webkit.org/show_bug.cgi?id=90518 for details.

&gt; Source/WebCore/inspector/front-end/FileContentView.js:61
&gt; +        if (errorCode !== 0 || !metadata)

if (errorCode || !metadata)

&gt; Source/WebCore/inspector/front-end/FileContentView.js:82
&gt; +        if (this._file.resourceType.isTextType())

Ditto.

&gt; Source/WebCore/inspector/front-end/FileContentView.js:95
&gt; +WebInspector.FileContentView.Content = function(file, metadata)

WebInspector.FileContentProvider
I would move all this logic to WebInspector.FileSystemModel.File actually.

&gt; Source/WebCore/inspector/front-end/FileSystemView.js:114
&gt; +            if (this._entry.isDirectory) {

Please remove braces.

&gt; Source/WebCore/inspector/front-end/FileSystemView.js:196
&gt; +        } else {

No braces for one liners.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664746</commentid>
    <comment_count>3</comment_count>
      <attachid>151217</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2012-07-09 02:17:26 -0700</bug_when>
    <thetext>Created attachment 151217
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664750</commentid>
    <comment_count>4</comment_count>
      <attachid>150738</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2012-07-09 02:26:03 -0700</bug_when>
    <thetext>Comment on attachment 150738
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/FileContentView.js:49
&gt;&gt; +            if (this._file.resourceType.isTextType())
&gt; 
&gt; You should use another way to detect text files, see https://bugs.webkit.org/show_bug.cgi?id=90518 for details.

I moved it to back-end and added isTextFile property.

&gt;&gt; Source/WebCore/inspector/front-end/FileContentView.js:61
&gt;&gt; +        if (errorCode !== 0 || !metadata)
&gt; 
&gt; if (errorCode || !metadata)

Done

&gt;&gt; Source/WebCore/inspector/front-end/FileContentView.js:95
&gt;&gt; +WebInspector.FileContentView.Content = function(file, metadata)
&gt; 
&gt; WebInspector.FileContentProvider
&gt; I would move all this logic to WebInspector.FileSystemModel.File actually.

Renamed to FileContentProvider.
I&apos;d like to separate file and metadata to keep file immutable.
Anyway, should I move FileContentProvider under FileSystemModel?

&gt;&gt; Source/WebCore/inspector/front-end/FileSystemView.js:114
&gt;&gt; +            if (this._entry.isDirectory) {
&gt; 
&gt; Please remove braces.

Done

&gt;&gt; Source/WebCore/inspector/front-end/FileSystemView.js:196
&gt;&gt; +        } else {
&gt; 
&gt; No braces for one liners.

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664754</commentid>
    <comment_count>5</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-07-09 02:36:39 -0700</bug_when>
    <thetext>&gt; Anyway, should I move FileContentProvider under FileSystemModel?
Sounds reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664819</commentid>
    <comment_count>6</comment_count>
      <attachid>151217</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-09 05:34:03 -0700</bug_when>
    <thetext>Comment on attachment 151217
Patch

Clearing flags on attachment: 151217

Committed r122104: &lt;http://trac.webkit.org/changeset/122104&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664820</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-09 05:34:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150738</attachid>
            <date>2012-07-04 01:49:15 -0700</date>
            <delta_ts>2012-07-09 02:26:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90529-20120704174913.patch</filename>
            <type>text/plain</type>
            <size>12712</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxODE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmVmOGI3NmY4MjJhZDRk
ODQ2NGU5MDEwNzRmOTljNDFjYmVjZDY1Ni4uMjdjZDdiNTliMTk1NWYyNjNmMTY4ZGYxZWZhOThh
YjgxNjdjYjUwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACiAyMDEyLTA3LTA0ICBUYWlq
dSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
ZGQgRmlsZUNvbnRlbnRWaWV3IGZvciBGaWxlU3lzdGVtVmlldworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1MjkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBX
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29tcGls
ZS1mcm9udC1lbmQucHk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlQ29udGVu
dFZpZXcuanM6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3Rl
bVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVZpZXcucHJvdG90eXBl
LmdldCB2aXNpYmxlVmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVZpZXcu
RW50cnlUcmVlRWxlbWVudC5wcm90b3R5cGUub25zZWxlY3QpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkZpbGVTeXN0ZW1WaWV3LkVudHJ5VHJlZUVsZW1lbnQucHJvdG90eXBlLl9kaXJlY3RvcnlD
b250ZW50UmVjZWl2ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1WaWV3LkVu
dHJ5VHJlZUVsZW1lbnQucHJvdG90eXBlLnJlZnJlc2gpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvV2ViS2l0LnFyYzoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5odG1sOgorCisyMDEyLTA3LTA0ICBUYWlqdSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9y
Zz4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgdGV4dCBmaWxlIHN1cHBvcnQgZm9yIEZp
bGVTeXN0ZW1BZ2VudDo6cmVxdWVzdEZpbGVDb250ZW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDQzOQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYzcz
MzJkMjAzYzFmZGFkYTliMDE1ZTE3MzliZTMxZWJjZGNkY2U2NC4uZDdkZDQ1OGYyMDFlYzZiZmRj
MTBjNjg2MGIwN2JmNzA3OWExMjYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNjI3OCw2ICs2Mjc4
LDcgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblJlZ2lzdHJ5
U3R1Yi5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2
ZXIuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanMn
LAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZUNvbnRlbnRWaWV3LmpzJywK
ICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1Nb2RlbC5qcycsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtVmlldy5qcycsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJlZEl0ZW1TZWxlY3Rpb25EaWFsb2cu
anMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRl
eCBkMzAzM2M1OTdlZjRiNjhlYThiYjZiNGI5MWY3NzdlOTlhMDA5YjA4Li45ODVkMmUxNTlhZjQ4
MmNlZDE2NTRlMDhhYzdiMjMxMThkMjE3ZmRjIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNzQ5MjYsNiArNzQ5MjYsMTAgQEAKIAkJCQkJPgog
CQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxm
cm9udC1lbmRcRmlsZUNvbnRlbnRWaWV3LmpzIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxG
aWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxGaWxlTWFuYWdl
ci5qcyIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9j
b21waWxlLWZyb250LWVuZC5weQppbmRleCBkODQxYzI2ZTMwZDE4ZmIzYTY3ZTgzNjRmZjczNmU2
ZWE4MDk4NTNjLi5lNzFmM2IzZmIwM2FlN2RiY2ViMzYwZDY4ZjY5ZWY4YjhlYzNiM2ZlIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CkBAIC0yMTMs
NiArMjEzLDcgQEAgbW9kdWxlcyA9IFsKICAgICAgICAgICAgICJEYXRhYmFzZVRhYmxlVmlldy5q
cyIsCiAgICAgICAgICAgICAiRGlyZWN0b3J5Q29udGVudFZpZXcuanMiLAogICAgICAgICAgICAg
IkRPTVN0b3JhZ2VJdGVtc1ZpZXcuanMiLAorICAgICAgICAgICAgIkZpbGVDb250ZW50Vmlldy5q
cyIsCiAgICAgICAgICAgICAiRmlsZVN5c3RlbVZpZXcuanMiLAogICAgICAgICAgICAgIkluZGV4
ZWREQlZpZXdzLmpzIiwKICAgICAgICAgICAgICJSZXNvdXJjZXNQYW5lbC5qcyIsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVDb250ZW50Vmlldy5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZUNvbnRlbnRWaWV3Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVjZDBjNGUwNjAwYjFhYjVkMTEzNDk4MzU0NTQ0ODNmNTYxNzkzYTMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVD
b250ZW50Vmlldy5qcwpAQCAtMCwwICsxLDE2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKiBA
ZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLlZpZXd9CisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5GaWxl
U3lzdGVtTW9kZWwuRmlsZX0gZmlsZQorICovCitXZWJJbnNwZWN0b3IuRmlsZUNvbnRlbnRWaWV3
ID0gZnVuY3Rpb24oZmlsZSkKK3sKKyAgICBXZWJJbnNwZWN0b3IuVmlldy5jYWxsKHRoaXMpOwor
CisgICAgdGhpcy5faW5uZXJWaWV3ID0gbnVsbDsKKyAgICB0aGlzLl9maWxlID0gZmlsZTsKKyAg
ICB0aGlzLl9jb250ZW50ID0gbnVsbDsKK30KKworV2ViSW5zcGVjdG9yLkZpbGVDb250ZW50Vmll
dy5wcm90b3R5cGUgPSB7CisgICAgd2FzU2hvd246IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAg
IGlmICghdGhpcy5faW5uZXJWaWV3KSB7CisgICAgICAgICAgICBpZiAodGhpcy5fZmlsZS5yZXNv
dXJjZVR5cGUuaXNUZXh0VHlwZSgpKQorICAgICAgICAgICAgICAgIHRoaXMuX2lubmVyVmlldyA9
IG5ldyBXZWJJbnNwZWN0b3IuRW1wdHlWaWV3KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTG9hZGlu
ZyIpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0aGlzLl9pbm5lclZpZXcg
PSBuZXcgV2ViSW5zcGVjdG9yLkVtcHR5VmlldyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkJpbmFy
eSBGaWxlIikpOworICAgICAgICAgICAgdGhpcy5yZWZyZXNoKCk7CisgICAgICAgIH0KKworICAg
ICAgICB0aGlzLl9pbm5lclZpZXcuc2hvdyh0aGlzLmVsZW1lbnQpOworICAgIH0sCisKKyAgICBf
bWV0YWRhdGFSZWNlaXZlZDogZnVuY3Rpb24oZXJyb3JDb2RlLCBtZXRhZGF0YSkKKyAgICB7Cisg
ICAgICAgIGlmIChlcnJvckNvZGUgIT09IDAgfHwgIW1ldGFkYXRhKQorICAgICAgICAgICAgcmV0
dXJuOworCisgICAgICAgIGlmICh0aGlzLl9jb250ZW50KSB7CisgICAgICAgICAgICBpZiAoIXRo
aXMuX2NvbnRlbnQudXBkYXRlTWV0YWRhdGEobWV0YWRhdGEpKQorICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIHZhciBzb3VyY2VGcmFtZSA9IC8qKiBAdHlwZSB7V2ViSW5zcGVj
dG9yLlNvdXJjZUZyYW1lfSAqLyB0aGlzLl9pbm5lclZpZXc7CisgICAgICAgICAgICB0aGlzLl9j
b250ZW50LnJlcXVlc3RDb250ZW50KHNvdXJjZUZyYW1lLnNldENvbnRlbnQuYmluZChzb3VyY2VG
cmFtZSkpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdGhpcy5faW5uZXJWaWV3LmRl
dGFjaCgpOworICAgICAgICAgICAgdGhpcy5fY29udGVudCA9IG5ldyBXZWJJbnNwZWN0b3IuRmls
ZUNvbnRlbnRWaWV3LkNvbnRlbnQodGhpcy5fZmlsZSwgbWV0YWRhdGEpOworICAgICAgICAgICAg
dGhpcy5faW5uZXJWaWV3ID0gbmV3IFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZSh0aGlzLl9jb250
ZW50KTsKKyAgICAgICAgICAgIHRoaXMuX2lubmVyVmlldy5zaG93KHRoaXMuZWxlbWVudCk7Cisg
ICAgICAgIH0KKyAgICB9LAorCisgICAgcmVmcmVzaDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgaWYgKCF0aGlzLl9pbm5lclZpZXcpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
aWYgKHRoaXMuX2ZpbGUucmVzb3VyY2VUeXBlLmlzVGV4dFR5cGUoKSkKKyAgICAgICAgICAgIHRo
aXMuX2ZpbGUucmVxdWVzdE1ldGFkYXRhKHRoaXMuX21ldGFkYXRhUmVjZWl2ZWQuYmluZCh0aGlz
KSk7CisgICAgfQorfQorCitXZWJJbnNwZWN0b3IuRmlsZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5f
X3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGU7CisKKy8qKgorICogQGNvbnN0
cnVjdG9yCisgKiBAaW1wbGVtZW50cyB7V2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlcn0KKyAq
IEBwYXJhbSB7V2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1Nb2RlbC5GaWxlfSBmaWxlCisgKiBAcGFy
YW0ge0ZpbGVTeXN0ZW1BZ2VudC5NZXRhZGF0YX0gbWV0YWRhdGEKKyAqLworV2ViSW5zcGVjdG9y
LkZpbGVDb250ZW50Vmlldy5Db250ZW50ID0gZnVuY3Rpb24oZmlsZSwgbWV0YWRhdGEpCit7Cisg
ICAgdGhpcy5fZmlsZSA9IGZpbGU7CisgICAgdGhpcy5fbWV0YWRhdGEgPSBtZXRhZGF0YTsKK30K
KworV2ViSW5zcGVjdG9yLkZpbGVDb250ZW50Vmlldy5Db250ZW50LnByb3RvdHlwZSA9IHsKKyAg
ICAvKioKKyAgICAgKiBAcmV0dXJuIHs/c3RyaW5nfQorICAgICAqLworICAgIGNvbnRlbnRVUkw6
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9maWxlLnVybDsKKyAgICB9
LAorCisgICAgLyoqCisgICAgICogQHJldHVybiB7V2ViSW5zcGVjdG9yLlJlc291cmNlVHlwZX0K
KyAgICAgKi8KKyAgICBjb250ZW50VHlwZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHRoaXMuX2ZpbGUucmVzb3VyY2VUeXBlOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBA
cGFyYW0ge2Z1bmN0aW9uKD9zdHJpbmcsIGJvb2xlYW4sIHN0cmluZyl9IGNhbGxiYWNrCisgICAg
ICovCisgICAgcmVxdWVzdENvbnRlbnQ6IGZ1bmN0aW9uKGNhbGxiYWNrKQorICAgIHsKKyAgICAg
ICAgdmFyIHNpemUgPSAvKiogQHR5cGUge251bWJlcn0gKi8gdGhpcy5fbWV0YWRhdGEuc2l6ZTsK
KyAgICAgICAgdGhpcy5fZmlsZS5yZXF1ZXN0RmlsZUNvbnRlbnQoMCwgc2l6ZSwgdGhpcy5fY2hh
cnNldCB8fCAiIiwgdGhpcy5fZmlsZUNvbnRlbnRSZWNlaXZlZC5iaW5kKHRoaXMsIGNhbGxiYWNr
KSk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oP3N0cmluZywg
Ym9vbGVhbiwgc3RyaW5nKX0gY2FsbGJhY2sKKyAgICAgKiBAcGFyYW0ge251bWJlcn0gZXJyb3JD
b2RlCisgICAgICogQHBhcmFtIHtzdHJpbmc9fSBjb250ZW50CisgICAgICogQHBhcmFtIHtib29s
ZWFuPX0gYmFzZTY0RW5jb2RlZAorICAgICAqIEBwYXJhbSB7c3RyaW5nPX0gY2hhcnNldAorICAg
ICAqLworICAgIF9maWxlQ29udGVudFJlY2VpdmVkOiBmdW5jdGlvbihjYWxsYmFjaywgZXJyb3JD
b2RlLCBjb250ZW50LCBiYXNlNjRFbmNvZGVkLCBjaGFyc2V0KQorICAgIHsKKyAgICAgICAgaWYg
KGVycm9yQ29kZSAhPT0gMCB8fCAhY29udGVudCkgeworICAgICAgICAgICAgY2FsbGJhY2sobnVs
bCwgZmFsc2UsICIiKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAg
IHRoaXMuX2NoYXJzZXQgPSBjaGFyc2V0OworICAgICAgICBjYWxsYmFjayhjb250ZW50LCBmYWxz
ZSwgdGhpcy5jb250ZW50VHlwZSgpLmNhbm9uaWNhbE1pbWVUeXBlKCkpOworICAgIH0sCisKKyAg
ICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gcXVlcnkKKyAgICAgKiBAcGFyYW0ge2Jvb2xl
YW59IGNhc2VTZW5zaXRpdmUKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzUmVnZXgKKyAgICAg
KiBAcGFyYW0ge2Z1bmN0aW9uKEFycmF5LjxXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVyLlNl
YXJjaE1hdGNoPil9IGNhbGxiYWNrCisgICAgICovCisgICAgc2VhcmNoSW5Db250ZW50OiBmdW5j
dGlvbihxdWVyeSwgY2FzZVNlbnNpdGl2ZSwgaXNSZWdleCwgY2FsbGJhY2spCisgICAgeworICAg
ICAgICBzZXRUaW1lb3V0KGNhbGxiYWNrLmJpbmQobnVsbCwgW10pLCAwKTsKKyAgICB9LAorCisg
ICAgLyoqCisgICAgICogQHBhcmFtIHtGaWxlU3lzdGVtQWdlbnQuTWV0YWRhdGF9IG1ldGFkYXRh
CisgICAgICogQHJldHVybiB7Ym9vbGVhbn0KKyAgICAgKi8KKyAgICB1cGRhdGVNZXRhZGF0YTog
ZnVuY3Rpb24obWV0YWRhdGEpCisgICAgeworICAgICAgICBpZiAodGhpcy5fbWV0YWRhdGEubW9k
aWZpY2F0aW9uVGltZSA+PSBtZXRhZGF0YS5tb2RpZmljYXRpb25UaW1lKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICB0aGlzLl9tZXRhZGF0YSA9IG1ldGFkYXRhLm1vZGlmaWNh
dGlvblRpbWU7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1WaWV3LmpzCmluZGV4IDA5
MDA4YmVmN2Y0NjAwZDNkNmIyYzc5ZmI1NzRjMjRmYWI4YmZiMDguLjYwNWEzNTY2NmQwYTY0ZGU1
Mjk0YjZjMWFjYjc2ZDcyNmIxODE1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtVmlldy5qcwpAQCAtNjEsNiArNjEsMTEgQEAgV2Vi
SW5zcGVjdG9yLkZpbGVTeXN0ZW1WaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIFt0
aGlzLl9yZWZyZXNoQnV0dG9uLmVsZW1lbnRdOwogICAgIH0sCiAKKyAgICBnZXQgdmlzaWJsZVZp
ZXcoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVWaWV3OworICAgIH0sCisK
ICAgICAvKioKICAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5WaWV3fSB2aWV3CiAgICAgICov
CkBAIC0xMDYsMTAgKzExMSwxMiBAQCBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVZpZXcuRW50cnlU
cmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgb25zZWxlY3Q6IGZ1bmN0aW9uKCkKICAgICB7
CiAgICAgICAgIGlmICghdGhpcy5fdmlldykgewotICAgICAgICAgICAgaWYgKHRoaXMuX2VudHJ5
LmlzRGlyZWN0b3J5KQorICAgICAgICAgICAgaWYgKHRoaXMuX2VudHJ5LmlzRGlyZWN0b3J5KSB7
CiAgICAgICAgICAgICAgICAgdGhpcy5fdmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuRGlyZWN0b3J5
Q29udGVudFZpZXcoKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHZhciBmaWxlID0gLyoqIEB0
eXBlIHtXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbU1vZGVsLkZpbGV9ICovIHRoaXMuX2VudHJ5Owor
ICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXcgPSBuZXcgV2ViSW5zcGVjdG9yLkZpbGVDb250ZW50
VmlldyhmaWxlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICB0aGlzLl9maWxl
U3lzdGVtVmlldy5zaG93Vmlldyh0aGlzLl92aWV3KTsKICAgICAgICAgdGhpcy5yZWZyZXNoKCk7
CkBAIC0xNTQsNiArMTYxLDkgQEAgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1WaWV3LkVudHJ5VHJl
ZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKG9yZGVyID09PSAwKSB7CiAg
ICAgICAgICAgICAgICAgaWYgKG9sZENoaWxkLl9lbnRyeS5pc0RpcmVjdG9yeSkKICAgICAgICAg
ICAgICAgICAgICAgb2xkQ2hpbGQuc2hvdWxkUmVmcmVzaENoaWxkcmVuID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIG9sZENoaWxkLnJlZnJlc2goKTsK
KwogICAgICAgICAgICAgICAgICsrbmV3RW50cnlJbmRleDsKICAgICAgICAgICAgICAgICArK29s
ZENoaWxkSW5kZXg7CiAgICAgICAgICAgICAgICAgKytjdXJyZW50VHJlZUl0ZW07CkBAIC0xNzgs
OSArMTg4LDE0IEBAIFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtVmlldy5FbnRyeVRyZWVFbGVtZW50
LnByb3RvdHlwZSA9IHsKIAogICAgIHJlZnJlc2g6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAg
IGlmICghdGhpcy5fZW50cnkuaXNEaXJlY3RvcnkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIHRoaXMuX2VudHJ5LnJlcXVlc3REaXJlY3RvcnlDb250ZW50KHRoaXMuX2RpcmVjdG9yeUNv
bnRlbnRSZWNlaXZlZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgaWYgKCF0aGlzLl9lbnRyeS5pc0Rp
cmVjdG9yeSkgeworICAgICAgICAgICAgaWYgKHRoaXMuX3ZpZXcgJiYgdGhpcy5fdmlldyA9PT0g
dGhpcy5fZmlsZVN5c3RlbVZpZXcudmlzaWJsZVZpZXcpIHsKKyAgICAgICAgICAgICAgICB2YXIg
ZmlsZUNvbnRlbnRWaWV3ID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuRmlsZUNvbnRlbnRWaWV3
fSAqLyB0aGlzLl92aWV3OworICAgICAgICAgICAgICAgIGZpbGVDb250ZW50Vmlldy5yZWZyZXNo
KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0aGlzLl9l
bnRyeS5yZXF1ZXN0RGlyZWN0b3J5Q29udGVudCh0aGlzLl9kaXJlY3RvcnlDb250ZW50UmVjZWl2
ZWQuYmluZCh0aGlzKSk7CisgICAgICAgIH0KICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwppbmRleCAyZmRjNWIyYzAzYjA0N2I4YjAy
ZjE4Yzk1Mzk2ZjhjYzFmNGY0ODA0Li42MTM3NDcwMjY5NGRlYjkwZGE0MzA5M2UzOTE4NzllY2Yx
ODVkYWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dl
YktpdC5xcmMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQu
cXJjCkBAIC01OCw2ICs1OCw3IEBACiAgICAgPGZpbGU+RXh0ZW5zaW9uUGFuZWwuanM8L2ZpbGU+
CiAgICAgPGZpbGU+RXh0ZW5zaW9uUmVnaXN0cnlTdHViLmpzPC9maWxlPgogICAgIDxmaWxlPkV4
dGVuc2lvblNlcnZlci5qczwvZmlsZT4KKyAgICA8ZmlsZT5GaWxlQ29udGVudFZpZXcuanM8L2Zp
bGU+CiAgICAgPGZpbGU+RmlsZU1hbmFnZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+RmlsZVN5c3Rl
bU1vZGVsLmpzPC9maWxlPgogICAgIDxmaWxlPkZpbGVTeXN0ZW1WaWV3LmpzPC9maWxlPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRt
bCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5k
ZXggNGY1Y2ZmNTIzODRhMGMwYjlkMGNiNDFlMDY1MjA4YmYzMTQyZGIzZS4uZGEyOTJjYTcxMmI3
YTMxNjA1YTE4YTk4N2JiZGI4OWZhM2YwNTMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCkBAIC0xNjIsNiArMTYyLDcgQEAgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTb3VyY2VIVE1M
VG9rZW5pemVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJTb3VyY2VKYXZhU2NyaXB0VG9rZW5pemVyLmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJEaXJlY3RvcnlDb250ZW50Vmlldy5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRmlsZUNv
bnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJGaWxlU3lzdGVtTW9kZWwuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9IkZpbGVTeXN0ZW1WaWV3LmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJGb250Vmlldy5qcyI+PC9zY3JpcHQ+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151217</attachid>
            <date>2012-07-09 02:17:26 -0700</date>
            <delta_ts>2012-07-09 05:34:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90529-20120709181724.patch</filename>
            <type>text/plain</type>
            <size>12874</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmYwYzgxMDhmMTNlMDNl
YThiZjg0NDhhOTQ4YmNmM2U0NTBlYTkzOS4uODAyMzJjNzY4ODRiZmJlNTQ1MWY2MDk4ZjFjYmMy
MTMzZjE3NDI3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDEyLTA3LTA5ICBUYWlq
dSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
ZGQgRmlsZUNvbnRlbnRWaWV3IGZvciBGaWxlU3lzdGVtVmlldworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1MjkKKworICAgICAgICBBZGRpbmcgRmls
ZUNvbnRlbnRWaWV3IHRvIEluc3BlY3Rvci4KKyAgICAgICAgVGhpcyBjbGFzcyBwcm92aWRlcyBw
cmV2aWV3IG9mIHRleHQgZmlsZXMgaW4gRmlsZVN5c3RlbS4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBX
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29tcGls
ZS1mcm9udC1lbmQucHk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlQ29udGVu
dFZpZXcuanM6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3Rl
bVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVZpZXcucHJvdG90eXBl
LmdldCB2aXNpYmxlVmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVZpZXcu
RW50cnlUcmVlRWxlbWVudC5wcm90b3R5cGUub25zZWxlY3QpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkZpbGVTeXN0ZW1WaWV3LkVudHJ5VHJlZUVsZW1lbnQucHJvdG90eXBlLl9kaXJlY3RvcnlD
b250ZW50UmVjZWl2ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1WaWV3LkVu
dHJ5VHJlZUVsZW1lbnQucHJvdG90eXBlLnJlZnJlc2gpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvV2ViS2l0LnFyYzoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5odG1sOgorCisyMDEyLTA3LTA5ICBUYWlqdSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9y
Zz4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgdGV4dCBmaWxlIHN1cHBvcnQgZm9yIEZp
bGVTeXN0ZW1BZ2VudDo6cmVxdWVzdEZpbGVDb250ZW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDQzOQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZWZh
NDNjNzg1ODEyYjQxMWNkZGUwOWY5MGRlOWY5ZGM2M2VlN2U0OS4uYjVmNDA0ODBkZDA0N2Y5YTQ3
OTc5MjBiOGUyNDkxODQ0ZTk4MGJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNjI3OSw2ICs2Mjc5
LDcgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblJlZ2lzdHJ5
U3R1Yi5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2
ZXIuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanMn
LAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZUNvbnRlbnRWaWV3LmpzJywK
ICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1Nb2RlbC5qcycsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtVmlldy5qcycsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJlZEl0ZW1TZWxlY3Rpb25EaWFsb2cu
anMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRl
eCBkNGZjYTBjMTliMTMwMGRhZThkMzU2MzA4MjYxYTE1MzJhZGRlNmM2Li41ZWM1YzVkZGE3OGFj
ZDY5MDdhYzFlMDI5YzkzZjNiMDBmOGNmNTc5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNzQ5MjIsNiArNzQ5MjIsMTAgQEAKIAkJCQkJPgog
CQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxm
cm9udC1lbmRcRmlsZUNvbnRlbnRWaWV3LmpzIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxG
aWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxGaWxlTWFuYWdl
ci5qcyIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9j
b21waWxlLWZyb250LWVuZC5weQppbmRleCA2NGE3OWMyYzQ5NGFlMGM0OTE2ZDczYjFhOTZhOTk5
Nzk3ZDE5NTYxLi45N2E2MTcxN2ZmNTVjOTZiNTlhM2U2MTRjNmRmZjExOWU3ZDI0ZWYxIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CkBAIC0yMTIs
NiArMjEyLDcgQEAgbW9kdWxlcyA9IFsKICAgICAgICAgICAgICJEYXRhYmFzZVRhYmxlVmlldy5q
cyIsCiAgICAgICAgICAgICAiRGlyZWN0b3J5Q29udGVudFZpZXcuanMiLAogICAgICAgICAgICAg
IkRPTVN0b3JhZ2VJdGVtc1ZpZXcuanMiLAorICAgICAgICAgICAgIkZpbGVDb250ZW50Vmlldy5q
cyIsCiAgICAgICAgICAgICAiRmlsZVN5c3RlbVZpZXcuanMiLAogICAgICAgICAgICAgIkluZGV4
ZWREQlZpZXdzLmpzIiwKICAgICAgICAgICAgICJSZXNvdXJjZXNQYW5lbC5qcyIsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVDb250ZW50Vmlldy5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZUNvbnRlbnRWaWV3Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjk4Y2YyNjYxYTU5M2I3MjdjNzFiZmRkZDI3MzQwMzFkMDk4MzM0OGIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVD
b250ZW50Vmlldy5qcwpAQCAtMCwwICsxLDE3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKiBA
ZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLlZpZXd9CisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5GaWxl
U3lzdGVtTW9kZWwuRmlsZX0gZmlsZQorICovCitXZWJJbnNwZWN0b3IuRmlsZUNvbnRlbnRWaWV3
ID0gZnVuY3Rpb24oZmlsZSkKK3sKKyAgICBXZWJJbnNwZWN0b3IuVmlldy5jYWxsKHRoaXMpOwor
CisgICAgdGhpcy5faW5uZXJWaWV3ID0gbnVsbDsKKyAgICB0aGlzLl9maWxlID0gZmlsZTsKKyAg
ICB0aGlzLl9jb250ZW50ID0gbnVsbDsKK30KKworV2ViSW5zcGVjdG9yLkZpbGVDb250ZW50Vmll
dy5wcm90b3R5cGUgPSB7CisgICAgd2FzU2hvd246IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAg
IGlmICghdGhpcy5faW5uZXJWaWV3KSB7CisgICAgICAgICAgICBpZiAodGhpcy5fZmlsZS5pc1Rl
eHRGaWxlKQorICAgICAgICAgICAgICAgIHRoaXMuX2lubmVyVmlldyA9IG5ldyBXZWJJbnNwZWN0
b3IuRW1wdHlWaWV3KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTG9hZGluZy4uLiIpKTsKKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0aGlzLl9pbm5lclZpZXcgPSBuZXcgV2ViSW5z
cGVjdG9yLkVtcHR5VmlldyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkJpbmFyeSBGaWxlIikpOwor
ICAgICAgICAgICAgdGhpcy5yZWZyZXNoKCk7CisgICAgICAgIH0KKworICAgICAgICB0aGlzLl9p
bm5lclZpZXcuc2hvdyh0aGlzLmVsZW1lbnQpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBA
cGFyYW0ge251bWJlcn0gZXJyb3JDb2RlCisgICAgICogQHBhcmFtIHtGaWxlU3lzdGVtQWdlbnQu
TWV0YWRhdGF9IG1ldGFkYXRhCisgICAgICovCisgICAgX21ldGFkYXRhUmVjZWl2ZWQ6IGZ1bmN0
aW9uKGVycm9yQ29kZSwgbWV0YWRhdGEpCisgICAgeworICAgICAgICBpZiAoZXJyb3JDb2RlIHx8
ICFtZXRhZGF0YSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAodGhpcy5fY29u
dGVudCkgeworICAgICAgICAgICAgaWYgKCF0aGlzLl9jb250ZW50LnVwZGF0ZU1ldGFkYXRhKG1l
dGFkYXRhKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB2YXIgc291cmNl
RnJhbWUgPSAvKiogQHR5cGUge1dlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZX0gKi8gdGhpcy5faW5u
ZXJWaWV3OworICAgICAgICAgICAgdGhpcy5fY29udGVudC5yZXF1ZXN0Q29udGVudChzb3VyY2VG
cmFtZS5zZXRDb250ZW50LmJpbmQoc291cmNlRnJhbWUpKTsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIHRoaXMuX2lubmVyVmlldy5kZXRhY2goKTsKKyAgICAgICAgICAgIHRoaXMuX2Nv
bnRlbnQgPSBuZXcgV2ViSW5zcGVjdG9yLkZpbGVDb250ZW50Vmlldy5GaWxlQ29udGVudFByb3Zp
ZGVyKHRoaXMuX2ZpbGUsIG1ldGFkYXRhKTsKKyAgICAgICAgICAgIHRoaXMuX2lubmVyVmlldyA9
IG5ldyBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUodGhpcy5fY29udGVudCk7CisgICAgICAgICAg
ICB0aGlzLl9pbm5lclZpZXcuc2hvdyh0aGlzLmVsZW1lbnQpOworICAgICAgICB9CisgICAgfSwK
KworICAgIHJlZnJlc2g6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5faW5u
ZXJWaWV3KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmICh0aGlzLl9maWxlLmlz
VGV4dEZpbGUpCisgICAgICAgICAgICB0aGlzLl9maWxlLnJlcXVlc3RNZXRhZGF0YSh0aGlzLl9t
ZXRhZGF0YVJlY2VpdmVkLmJpbmQodGhpcykpOworICAgIH0KK30KKworV2ViSW5zcGVjdG9yLkZp
bGVDb250ZW50Vmlldy5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlZpZXcucHJv
dG90eXBlOworCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGltcGxlbWVudHMge1dlYkluc3Bl
Y3Rvci5Db250ZW50UHJvdmlkZXJ9CisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5GaWxlU3lzdGVt
TW9kZWwuRmlsZX0gZmlsZQorICogQHBhcmFtIHtGaWxlU3lzdGVtQWdlbnQuTWV0YWRhdGF9IG1l
dGFkYXRhCisgKi8KK1dlYkluc3BlY3Rvci5GaWxlQ29udGVudFZpZXcuRmlsZUNvbnRlbnRQcm92
aWRlciA9IGZ1bmN0aW9uKGZpbGUsIG1ldGFkYXRhKQoreworICAgIHRoaXMuX2ZpbGUgPSBmaWxl
OworICAgIHRoaXMuX21ldGFkYXRhID0gbWV0YWRhdGE7Cit9CisKK1dlYkluc3BlY3Rvci5GaWxl
Q29udGVudFZpZXcuRmlsZUNvbnRlbnRQcm92aWRlci5wcm90b3R5cGUgPSB7CisgICAgLyoqCisg
ICAgICogQHJldHVybiB7P3N0cmluZ30KKyAgICAgKi8KKyAgICBjb250ZW50VVJMOiBmdW5jdGlv
bigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fZmlsZS51cmw7CisgICAgfSwKKworICAg
IC8qKgorICAgICAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5SZXNvdXJjZVR5cGV9CisgICAgICov
CisgICAgY29udGVudFR5cGU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlz
Ll9maWxlLnJlc291cmNlVHlwZTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtm
dW5jdGlvbig/c3RyaW5nLCBib29sZWFuLCBzdHJpbmcpfSBjYWxsYmFjaworICAgICAqLworICAg
IHJlcXVlc3RDb250ZW50OiBmdW5jdGlvbihjYWxsYmFjaykKKyAgICB7CisgICAgICAgIHZhciBz
aXplID0gLyoqIEB0eXBlIHtudW1iZXJ9ICovIHRoaXMuX21ldGFkYXRhLnNpemU7CisgICAgICAg
IHRoaXMuX2ZpbGUucmVxdWVzdEZpbGVDb250ZW50KHRydWUsIDAsIHNpemUsIHRoaXMuX2NoYXJz
ZXQgfHwgIiIsIHRoaXMuX2ZpbGVDb250ZW50UmVjZWl2ZWQuYmluZCh0aGlzLCBjYWxsYmFjaykp
OworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9zdHJpbmcsIGJv
b2xlYW4sIHN0cmluZyl9IGNhbGxiYWNrCisgICAgICogQHBhcmFtIHtudW1iZXJ9IGVycm9yQ29k
ZQorICAgICAqIEBwYXJhbSB7c3RyaW5nPX0gY29udGVudAorICAgICAqIEBwYXJhbSB7Ym9vbGVh
bj19IGJhc2U2NEVuY29kZWQKKyAgICAgKiBAcGFyYW0ge3N0cmluZz19IGNoYXJzZXQKKyAgICAg
Ki8KKyAgICBfZmlsZUNvbnRlbnRSZWNlaXZlZDogZnVuY3Rpb24oY2FsbGJhY2ssIGVycm9yQ29k
ZSwgY29udGVudCwgYmFzZTY0RW5jb2RlZCwgY2hhcnNldCkKKyAgICB7CisgICAgICAgIGlmIChl
cnJvckNvZGUgfHwgIWNvbnRlbnQpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKG51bGwsIGZhbHNl
LCAiIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB0aGlzLl9j
aGFyc2V0ID0gY2hhcnNldDsKKyAgICAgICAgY2FsbGJhY2soY29udGVudCwgZmFsc2UsIHRoaXMu
Y29udGVudFR5cGUoKS5jYW5vbmljYWxNaW1lVHlwZSgpKTsKKyAgICB9LAorCisgICAgLyoqCisg
ICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CisgICAgICogQHBhcmFtIHtib29sZWFufSBjYXNl
U2Vuc2l0aXZlCisgICAgICogQHBhcmFtIHtib29sZWFufSBpc1JlZ2V4CisgICAgICogQHBhcmFt
IHtmdW5jdGlvbihBcnJheS48V2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlci5TZWFyY2hNYXRj
aD4pfSBjYWxsYmFjaworICAgICAqLworICAgIHNlYXJjaEluQ29udGVudDogZnVuY3Rpb24ocXVl
cnksIGNhc2VTZW5zaXRpdmUsIGlzUmVnZXgsIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgc2V0
VGltZW91dChjYWxsYmFjay5iaW5kKG51bGwsIFtdKSwgMCk7CisgICAgfSwKKworICAgIC8qKgor
ICAgICAqIEBwYXJhbSB7RmlsZVN5c3RlbUFnZW50Lk1ldGFkYXRhfSBtZXRhZGF0YQorICAgICAq
IEByZXR1cm4ge2Jvb2xlYW59CisgICAgICovCisgICAgdXBkYXRlTWV0YWRhdGE6IGZ1bmN0aW9u
KG1ldGFkYXRhKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX21ldGFkYXRhLm1vZGlmaWNhdGlv
blRpbWUgPj0gbWV0YWRhdGEubW9kaWZpY2F0aW9uVGltZSkKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgdGhpcy5fbWV0YWRhdGEgPSBtZXRhZGF0YS5tb2RpZmljYXRpb25UaW1l
OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1WaWV3LmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtVmlldy5qcwppbmRleCAwN2Y4NzgxN2My
NDZkZTUwMGRiNzVjZDBmZTA5YjFkNzkyYjAxMWYyLi45Yjg5YmVhYjEzYmMzNjRmM2JmMzI0YjI5
MDBiYjNmMmI0YjliMjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0ZpbGVTeXN0ZW1WaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMKQEAgLTY1LDYgKzY1LDE0IEBAIFdlYkluc3BlY3Rv
ci5GaWxlU3lzdGVtVmlldy5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgorICAgICAq
IEB0eXBlIHtXZWJJbnNwZWN0b3IuVmlld30KKyAgICAgKi8KKyAgICBnZXQgdmlzaWJsZVZpZXco
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVWaWV3OworICAgIH0sCisKKyAg
ICAvKioKICAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5WaWV3fSB2aWV3CiAgICAgICovCiAg
ICAgc2hvd1ZpZXc6IGZ1bmN0aW9uKHZpZXcpCkBAIC0xMTEsOCArMTE5LDEwIEBAIFdlYkluc3Bl
Y3Rvci5GaWxlU3lzdGVtVmlldy5FbnRyeVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAg
ICAgaWYgKCF0aGlzLl92aWV3KSB7CiAgICAgICAgICAgICBpZiAodGhpcy5fZW50cnkuaXNEaXJl
Y3RvcnkpCiAgICAgICAgICAgICAgICAgdGhpcy5fdmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuRGly
ZWN0b3J5Q29udGVudFZpZXcoKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICB2YXIgZmlsZSA9IC8q
KiBAdHlwZSB7V2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1Nb2RlbC5GaWxlfSAqLyB0aGlzLl9lbnRy
eTsKKyAgICAgICAgICAgICAgICB0aGlzLl92aWV3ID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlQ29u
dGVudFZpZXcoZmlsZSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5f
ZmlsZVN5c3RlbVZpZXcuc2hvd1ZpZXcodGhpcy5fdmlldyk7CiAgICAgICAgIHRoaXMucmVmcmVz
aCgpOwpAQCAtMTU3LDYgKzE2Nyw5IEBAIFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtVmlldy5FbnRy
eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmIChvcmRlciA9PT0gMCkg
ewogICAgICAgICAgICAgICAgIGlmIChvbGRDaGlsZC5fZW50cnkuaXNEaXJlY3RvcnkpCiAgICAg
ICAgICAgICAgICAgICAgIG9sZENoaWxkLnNob3VsZFJlZnJlc2hDaGlsZHJlbiA9IHRydWU7Cisg
ICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBvbGRDaGlsZC5yZWZyZXNo
KCk7CisKICAgICAgICAgICAgICAgICArK25ld0VudHJ5SW5kZXg7CiAgICAgICAgICAgICAgICAg
KytvbGRDaGlsZEluZGV4OwogICAgICAgICAgICAgICAgICsrY3VycmVudFRyZWVJdGVtOwpAQCAt
MTgxLDkgKzE5NCwxMyBAQCBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVZpZXcuRW50cnlUcmVlRWxl
bWVudC5wcm90b3R5cGUgPSB7CiAKICAgICByZWZyZXNoOiBmdW5jdGlvbigpCiAgICAgewotICAg
ICAgICBpZiAoIXRoaXMuX2VudHJ5LmlzRGlyZWN0b3J5KQotICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICB0aGlzLl9lbnRyeS5yZXF1ZXN0RGlyZWN0b3J5Q29udGVudCh0aGlzLl9kaXJlY3Rv
cnlDb250ZW50UmVjZWl2ZWQuYmluZCh0aGlzKSk7CisgICAgICAgIGlmICghdGhpcy5fZW50cnku
aXNEaXJlY3RvcnkpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLl92aWV3ICYmIHRoaXMuX3ZpZXcg
PT09IHRoaXMuX2ZpbGVTeXN0ZW1WaWV3LnZpc2libGVWaWV3KSB7CisgICAgICAgICAgICAgICAg
dmFyIGZpbGVDb250ZW50VmlldyA9IC8qKiBAdHlwZSB7V2ViSW5zcGVjdG9yLkZpbGVDb250ZW50
Vmlld30gKi8gdGhpcy5fdmlldzsKKyAgICAgICAgICAgICAgICBmaWxlQ29udGVudFZpZXcucmVm
cmVzaCgpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHRoaXMu
X2VudHJ5LnJlcXVlc3REaXJlY3RvcnlDb250ZW50KHRoaXMuX2RpcmVjdG9yeUNvbnRlbnRSZWNl
aXZlZC5iaW5kKHRoaXMpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvV2ViS2l0LnFyYwppbmRleCBlMWUwYWNlMTQ0MGRkM2FlZGQ4MWExMjJmMGUz
NmZiMThhMjdiMGVkLi42ZWM4ZmU2YzlhMjE2YmJlOWEyZDEwZjVhNDUzZjdlZjViZDQ4ZGJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCkBAIC01
Nyw2ICs1Nyw3IEBACiAgICAgPGZpbGU+RXh0ZW5zaW9uUGFuZWwuanM8L2ZpbGU+CiAgICAgPGZp
bGU+RXh0ZW5zaW9uUmVnaXN0cnlTdHViLmpzPC9maWxlPgogICAgIDxmaWxlPkV4dGVuc2lvblNl
cnZlci5qczwvZmlsZT4KKyAgICA8ZmlsZT5GaWxlQ29udGVudFZpZXcuanM8L2ZpbGU+CiAgICAg
PGZpbGU+RmlsZU1hbmFnZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+RmlsZVN5c3RlbU1vZGVsLmpz
PC9maWxlPgogICAgIDxmaWxlPkZpbGVTeXN0ZW1WaWV3LmpzPC9maWxlPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5kZXggOWQ0NThj
NDI3MTZkZDhiOWIzYzJkNWFjZjBjMzg1ODgwMTc4YTU4YS4uMGYxNjVkM2UzMWRmYzdjM2IyZWZi
NTNjZDZkOTdkNzZmYzRhNjYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCkBAIC0xNjIsNiArMTYyLDcgQEAgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTb3VyY2VIVE1MVG9rZW5pemVy
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJT
b3VyY2VKYXZhU2NyaXB0VG9rZW5pemVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJEaXJlY3RvcnlDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+
CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRmlsZUNvbnRlbnRWaWV3
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJG
aWxlU3lzdGVtTW9kZWwuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9IkZpbGVTeXN0ZW1WaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJGb250Vmlldy5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>