<?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>34040</bug_id>
          
          <creation_ts>2010-01-23 09:59:50 -0800</creation_ts>
          <short_desc>Web Inspector: Use conditional CSS for defining monospace fonts instead of native code in clients.</short_desc>
          <delta_ts>2010-01-28 12:28:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>mitz</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>184003</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-01-23 09:59:50 -0800</bug_when>
    <thetext>That would allow inspector to define its looks for platforms and would make sure inspectors on all macs look alike (no matter whether it is WebKit/Safari/Chromium/etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185455</commentid>
    <comment_count>1</comment_count>
      <attachid>47614</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-01-28 06:19:29 -0800</bug_when>
    <thetext>Created attachment 47614
[PATCH] Proposed solution</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185465</commentid>
    <comment_count>2</comment_count>
      <attachid>47614</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-01-28 06:50:28 -0800</bug_when>
    <thetext>Comment on attachment 47614
[PATCH] Proposed solution

&gt;  
&gt; -body.platform-windows .source-code {
&gt; -    font-family: Consolas, Lucida Console, monospace;
&gt; +body.platform-mac-tiger .source-code, body.platform-mac-leopard .source-code {
&gt; +    font-size: 10px;
&gt; +    font-family: Monaco, monospace;
&gt; +}

Could you group definitions for monospace and source-code?

&gt;          if (!(&quot;_platform&quot; in this))
&gt; -            this._platform = InspectorFrontendHost.platform();
&gt; -
&gt; +            this._detectPlatform();

I liked the lazy init pattern, should detectPlatform return a value?

&gt;          return this._platform;
&gt;      },
&gt;  
&gt; +    _detectPlatform: function()
&gt; +    {

&gt; +
&gt; +        function getOSFromUserAgent(userAgent)
&gt; +        {
&gt; +            if (userAgent) {
&gt; +                var platformInfo = userAgent.match(/\(([^\)]+);\s*([^\)]+);\s*([^\)]+);\s*([^\)]+)\s*\)/);
&gt; +                if (!platformInfo)
&gt; +                    return;
&gt; +                return platformInfo[3].trim();
&gt; +            }
&gt; +            return null;
&gt; +        }
&gt; +

I am not really sure whether this is needed. Why not to match Mac/Windows against original user agent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185479</commentid>
    <comment_count>3</comment_count>
      <attachid>47619</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-01-28 07:57:35 -0800</bug_when>
    <thetext>Created attachment 47619
[PATCH] Comments addressed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185488</commentid>
    <comment_count>4</comment_count>
      <attachid>47619</attachid>
    <who name="">mitz</who>
    <bug_when>2010-01-28 08:23:59 -0800</bug_when>
    <thetext>Comment on attachment 47619
[PATCH] Comments addressed

Isn’t this going to result in the wrong font size being used on Mac OS X versions later than 10.6?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185492</commentid>
    <comment_count>5</comment_count>
      <attachid>47619</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-28 08:28:47 -0800</bug_when>
    <thetext>Comment on attachment 47619
[PATCH] Comments addressed

Clearing flags on attachment: 47619

Committed r54001: &lt;http://trac.webkit.org/changeset/54001&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185493</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-28 08:28:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185573</commentid>
    <comment_count>7</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-01-28 12:25:54 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 47619 [details])
&gt; Isn’t this going to result in the wrong font size being used on Mac OS X
&gt; versions later than 10.6?

No.

body.platform-mac-snowleopard .monospace,
body.platform-mac-snowleopard .source-code {
    font-size: 11px;
    font-family: Menlo, monospace;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185575</commentid>
    <comment_count>8</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-01-28 12:28:21 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 47619 [details] [details])
&gt; &gt; Isn’t this going to result in the wrong font size being used on Mac OS X
&gt; &gt; versions later than 10.6?
&gt; 
&gt; No.
&gt; 
&gt; body.platform-mac-snowleopard .monospace,
&gt; body.platform-mac-snowleopard .source-code {
&gt;     font-size: 11px;
&gt;     font-family: Menlo, monospace;
&gt; }

I was talking about the earlier version of the patch that sent anything above 10.6 to the “Mac unknown” path, which was resulting in 10px.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47614</attachid>
            <date>2010-01-28 06:19:29 -0800</date>
            <delta_ts>2010-01-28 07:57:35 -0800</delta_ts>
            <desc>[PATCH] Proposed solution</desc>
            <filename>monospace.patch</filename>
            <type>text/plain</type>
            <size>11593</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODhkYjRhMS4uNjIyYTQ3ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMC0wMS0yOCAgQWxleGFuZGVyIFBh
dmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVzZSBwbGF0Zm9ybS1zcGVjaWZpYyBtb25vc3BhY2UgZm9u
dHMgaW4gdGhlIFdlYiBJbnNwZWN0b3IKKworICAgICAgICBNb3ZlIHRoZSBPUyB2ZXJzaW9uIGRl
dGVjdGlvbiBjb2RlIGludG8gdGhlIGZyb250ZW5kLCBhZGQgZGlmZmVyZW50aWF0ZWQKKyAgICAg
ICAgQ1NTIG1vbm9zcGFjZSBzdHlsZXMgZm9yIGtub3duIHBsYXRmb3Jtcy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0MDQwCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckZyb250ZW5kSG9zdDo6cGxhdGZvcm0pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5C
cmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fYXBwZW5kQnJlYWtwb2ludEVsZW1lbnQp
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2VRdWVyeVZpZXcuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YWJhc2VRdWVyeVZpZXcpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yQmFja2VuZFN0dWIuanM6CisgICAgICAgICguV2ViSW5z
cGVjdG9yLkluc3BlY3RvckJhY2tlbmRTdHViLnByb3RvdHlwZS5yZWxlYXNlV3JhcHBlck9iamVj
dEdyb3VwKToKKyAgICAgICAgKC5XZWJJbnNwZWN0b3IuSW5zcGVjdG9yQmFja2VuZFN0dWIucHJv
dG90eXBlLnNldEluamVjdGVkU2NyaXB0U291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL1NvdXJjZUZyYW1lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1l
LnByb3RvdHlwZS5fY3JlYXRlQ29uZGl0aW9uRWxlbWVudCk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVVJMUmVnRXhwLmkuZ2V0IHBsYXRmb3JtKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5fZGV0ZWN0UGxhdGZvcm0pOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLl9kZXRlY3RQbGF0Zm9ybS5nZXRNYWNWZXJzaW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5fZGV0ZWN0UGxhdGZvcm0uZ2V0T1NGcm9tVXNlckFnZW50KToKKwogMjAxMC0wMS0yOCAgTWlr
aGFpbCBOYWdhbm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFRpbW90aHkgSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kSG9zdC5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZEhvc3QuY3BwCmluZGV4IDJlMjM1YWIuLjFhZWIxZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcApAQCAtMTIxLDEzICsxMjEsMTEgQEAgU3RyaW5nIElu
c3BlY3RvckZyb250ZW5kSG9zdDo6aGlkZGVuUGFuZWxzKCkKIGNvbnN0IFN0cmluZyYgSW5zcGVj
dG9yRnJvbnRlbmRIb3N0OjpwbGF0Zm9ybSgpIGNvbnN0CiB7CiAjaWYgUExBVEZPUk0oTUFDKQot
I2lmZGVmIEJVSUxESU5HX09OX1RJR0VSCi0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBT
dHJpbmcsIHBsYXRmb3JtLCAoIm1hYy10aWdlciIpKTsKLSNlbHNlCi0gICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChjb25zdCBTdHJpbmcsIHBsYXRmb3JtLCAoIm1hYy1sZW9wYXJkIikpOwotI2VuZGlm
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHBsYXRmb3JtLCAoIm1hYyIp
KTsKICNlbGlmIE9TKFdJTkRPV1MpCiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJp
bmcsIHBsYXRmb3JtLCAoIndpbmRvd3MiKSk7CisjZWxpZiBPUyhMSU5VWCkKKyAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgcGxhdGZvcm0sICgibGludXgiKSk7CiAjZWxzZQog
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBwbGF0Zm9ybSwgKCJ1bmtub3du
IikpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJl
YWtwb2ludHNTaWRlYmFyUGFuZS5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVh
a3BvaW50c1NpZGViYXJQYW5lLmpzCmluZGV4IDlkNGZlNTUuLjg4NjVmMGIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzCisr
KyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpz
CkBAIC05OSw3ICs5OSw3IEBAIFdlYkluc3BlY3Rvci5CcmVha3BvaW50c1NpZGViYXJQYW5lLnBy
b3RvdHlwZSA9IHsKIAogICAgICAgICB2YXIgc291cmNlVGV4dEVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgc291cmNlVGV4dEVsZW1lbnQudGV4dENvbnRl
bnQgPSBicmVha3BvaW50LnNvdXJjZVRleHQ7Ci0gICAgICAgIHNvdXJjZVRleHRFbGVtZW50LmNs
YXNzTmFtZSA9ICJzb3VyY2UtdGV4dCI7CisgICAgICAgIHNvdXJjZVRleHRFbGVtZW50LmNsYXNz
TmFtZSA9ICJzb3VyY2UtdGV4dCBtb25vc3BhY2UiOwogICAgICAgICBicmVha3BvaW50RWxlbWVu
dC5hcHBlbmRDaGlsZChzb3VyY2VUZXh0RWxlbWVudCk7CiAKICAgICAgICAgdmFyIGN1cnJlbnRF
bGVtZW50ID0gdGhpcy5saXN0RWxlbWVudC5maXJzdENoaWxkOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlUXVlcnlWaWV3LmpzIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlUXVlcnlWaWV3LmpzCmluZGV4IDYxYjIzNmMuLjI2NTY4
NDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZVF1ZXJ5
Vmlldy5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2VRdWVyeVZp
ZXcuanMKQEAgLTMxLDYgKzMxLDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFiYXNlUXVlcnlWaWV3ID0g
ZnVuY3Rpb24oZGF0YWJhc2UpCiAKICAgICB0aGlzLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygic3Rv
cmFnZS12aWV3Iik7CiAgICAgdGhpcy5lbGVtZW50LmFkZFN0eWxlQ2xhc3MoInF1ZXJ5Iik7Cisg
ICAgdGhpcy5lbGVtZW50LmFkZFN0eWxlQ2xhc3MoIm1vbm9zcGFjZSIpOwogICAgIHRoaXMuZWxl
bWVudC50YWJJbmRleCA9IDA7CiAKICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
c2VsZWN0c3RhcnQiLCB0aGlzLl9zZWxlY3RTdGFydC5iaW5kKHRoaXMpLCBmYWxzZSk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yQmFja2VuZFN0dWIu
anMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yQmFja2VuZFN0dWIuanMK
aW5kZXggMGI0NTVjYi4uNWRkYjc0YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0luc3BlY3RvckJhY2tlbmRTdHViLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5qcwpAQCAtMjY1LDYgKzI2NSwxMCBAQCBXZWJJ
bnNwZWN0b3IuSW5zcGVjdG9yQmFja2VuZFN0dWIucHJvdG90eXBlID0gewogCiAgICAgcmVsZWFz
ZVdyYXBwZXJPYmplY3RHcm91cDogZnVuY3Rpb24oKQogICAgIHsKKyAgICB9LAorCisgICAgc2V0
SW5qZWN0ZWRTY3JpcHRTb3VyY2U6IGZ1bmN0aW9uKCkKKyAgICB7CiAgICAgfQogfQogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMgYi9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKaW5kZXggOWI0ZTk1Mi4uODUw
ODcyMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1l
LmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcwpAQCAt
Mzc2LDYgKzM3Niw3IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAK
ICAgICAgICAgdmFyIGVkaXRvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1
dCIpOwogICAgICAgICBlZGl0b3JFbGVtZW50LmlkID0gInNvdXJjZS1icmVha3BvaW50LWNvbmRp
dGlvbiI7CisgICAgICAgIGVkaXRvckVsZW1lbnQuY2xhc3NOYW1lID0gIm1vbm9zcGFjZSI7CiAg
ICAgICAgIGVkaXRvckVsZW1lbnQudHlwZSA9ICJ0ZXh0IgogICAgICAgICBjb25kaXRpb25FbGVt
ZW50LmFwcGVuZENoaWxkKGVkaXRvckVsZW1lbnQpOwogICAgICAgICB0aGlzLl9jb25kaXRpb25F
ZGl0b3JFbGVtZW50ID0gZWRpdG9yRWxlbWVudDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5jc3MKaW5kZXggZTZjNzNjYy4uZGRmYjliNyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKQEAgLTQ5NSw2ICs0OTUsMjYgQEAgYm9keS5kcmF3
ZXItdmlzaWJsZSAjZHJhd2VyIHsKICAgICBiYWNrZ3JvdW5kOiBub25lOwogfQogCisubW9ub3Nw
YWNlIHsKKyAgICBmb250LXNpemU6IDEwcHg7CisgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsK
K30KKworYm9keS5wbGF0Zm9ybS1tYWMtdGlnZXIgLm1vbm9zcGFjZSwgYm9keS5wbGF0Zm9ybS1t
YWMtbGVvcGFyZCAubW9ub3NwYWNlIHsKKyAgICBmb250LXNpemU6IDEwcHg7CisgICAgZm9udC1m
YW1pbHk6IE1vbmFjbywgbW9ub3NwYWNlOworfQorCitib2R5LnBsYXRmb3JtLW1hYy1zbm93bGVv
cGFyZCAubW9ub3NwYWNlIHsKKyAgICBmb250LXNpemU6IDExcHg7CisgICAgZm9udC1mYW1pbHk6
IE1lbmxvLCBtb25vc3BhY2U7Cit9CisKK2JvZHkucGxhdGZvcm0td2luZG93cyAubW9ub3NwYWNl
LCBib2R5LnBsYXRmb3JtLXdpbmRvd3MtdmlzdGEtb3ItbGF0ZXIgLm1vbm9zcGFjZSB7CisgICAg
Zm9udC1zaXplOiAxMnB4OworICAgIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgTHVjaWRhIENvbnNv
bGUsIG1vbm9zcGFjZTsKK30KKwogI2NvbnNvbGUtbWVzc2FnZXMgewogICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKICAgICB6LWluZGV4OiAwOwpAQCAtNTAyLDggKzUyMiw2IEBAIGJvZHkuZHJhd2Vy
LXZpc2libGUgI2RyYXdlciB7CiAgICAgbGVmdDogMDsKICAgICByaWdodDogMDsKICAgICBib3R0
b206IDIzcHg7Ci0gICAgZm9udC1zaXplOiBpbml0aWFsOwotICAgIGZvbnQtZmFtaWx5OiBtb25v
c3BhY2U7CiAgICAgcGFkZGluZzogMnB4IDA7CiAgICAgb3ZlcmZsb3cteTogb3ZlcmxheTsKICAg
ICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CkBAIC0xMDk4LDEzICsxMTE2LDIzIEBAIGJvZHkuZHJh
d2VyLXZpc2libGUgI2RyYXdlciB7CiAKIC5zb3VyY2UtY29kZSB7CiAgICAgZm9udC1mYW1pbHk6
IG1vbm9zcGFjZTsKLSAgICBmb250LXNpemU6IG1lZGl1bTsKKyAgICBmb250LXNpemU6IDEwcHg7
CiAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogfQogCi1ib2R5LnBsYXRmb3JtLXdpbmRvd3Mg
LnNvdXJjZS1jb2RlIHsKLSAgICBmb250LWZhbWlseTogQ29uc29sYXMsIEx1Y2lkYSBDb25zb2xl
LCBtb25vc3BhY2U7Citib2R5LnBsYXRmb3JtLW1hYy10aWdlciAuc291cmNlLWNvZGUsIGJvZHku
cGxhdGZvcm0tbWFjLWxlb3BhcmQgLnNvdXJjZS1jb2RlIHsKKyAgICBmb250LXNpemU6IDEwcHg7
CisgICAgZm9udC1mYW1pbHk6IE1vbmFjbywgbW9ub3NwYWNlOworfQorCitib2R5LnBsYXRmb3Jt
LW1hYy1zbm93bGVvcGFyZCAuc291cmNlLWNvZGUgeworICAgIGZvbnQtc2l6ZTogMTFweDsKKyAg
ICBmb250LWZhbWlseTogTWVubG8sIG1vbm9zcGFjZTsKK30KKworYm9keS5wbGF0Zm9ybS13aW5k
b3dzIC5zb3VyY2UtY29kZSwgYm9keS5wbGF0Zm9ybS13aW5kb3dzLXZpc3RhLW9yLWxhdGVyIC5z
b3VyY2UtY29kZSB7CiAgICAgZm9udC1zaXplOiAxMnB4OworICAgIGZvbnQtZmFtaWx5OiBDb25z
b2xhcywgTHVjaWRhIENvbnNvbGUsIG1vbm9zcGFjZTsKIH0KIAogLm91dGxpbmUtZGlzY2xvc3Vy
ZSBsaSB7CkBAIC0yMTIzLDggKzIxNTEsNiBAQCBib2R5LmluYWN0aXZlIC5kYXRhLWdyaWQgdGgu
c29ydC1hc2NlbmRpbmcsIGJvZHkuaW5hY3RpdmUgLmRhdGEtZ3JpZCB0aC5zb3J0LWRlcwogfQog
CiAuc3RvcmFnZS12aWV3LnF1ZXJ5IHsKLSAgICBmb250LXNpemU6IGluaXRpYWw7Ci0gICAgZm9u
dC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICBwYWRkaW5nOiAycHggMDsKICAgICBvdmVyZmxvdy15
OiBvdmVybGF5OwogICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKQEAgLTM3ODcsNyArMzgxMyw2IEBA
IG9sLmJyZWFrcG9pbnQtbGlzdCB7CiB9CiAKIC5icmVha3BvaW50LWxpc3QgLnNvdXJjZS10ZXh0
IHsKLSAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7
CiAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKQEAg
LTM4MjEsNyArMzg0Niw2IEBAIG9sLmJyZWFrcG9pbnQtbGlzdCB7CiB9CiAKICNzb3VyY2UtYnJl
YWtwb2ludC1jb25kaXRpb24gewotICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgbWFy
Z2luOiAwOwogICAgIGJvcmRlcjogMXB4IGluc2V0IHJnYigxOTAsIDE5MCwgMTkwKSAhaW1wb3J0
YW50OwogICAgIHdpZHRoOiAxMDAlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5odG1sIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5odG1sCmluZGV4IGE4NjYwMDMuLmU2NmRjNmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAgLTEzMyw3ICsxMzMsNyBAQCBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAg
ICAgICA8ZGl2IGlkPSJtYWluLXN0YXR1cy1iYXIiIGNsYXNzPSJzdGF0dXMtYmFyIj48ZGl2IGlk
PSJhbmNob3JlZC1zdGF0dXMtYmFyLWl0ZW1zIj48YnV0dG9uIGlkPSJkb2NrLXN0YXR1cy1iYXIt
aXRlbSIgY2xhc3M9InN0YXR1cy1iYXItaXRlbSI+PGRpdiBjbGFzcz0iZ2x5cGgiPjwvZGl2Pjxk
aXYgY2xhc3M9ImdseXBoIHNoYWRvdyI+PC9kaXY+PC9idXR0b24+PGJ1dHRvbiBpZD0iY29uc29s
ZS1zdGF0dXMtYmFyLWl0ZW0iIGNsYXNzPSJzdGF0dXMtYmFyLWl0ZW0iPjxkaXYgY2xhc3M9Imds
eXBoIj48L2Rpdj48ZGl2IGNsYXNzPSJnbHlwaCBzaGFkb3ciPjwvZGl2PjwvYnV0dG9uPjxidXR0
b24gaWQ9ImNoYW5nZXMtc3RhdHVzLWJhci1pdGVtIiBjbGFzcz0ic3RhdHVzLWJhci1pdGVtIGhp
ZGRlbiI+PC9idXR0b24+PGRpdiBpZD0iY291bnQtaXRlbXMiPjxkaXYgaWQ9ImNoYW5nZXMtY291
bnQiIGNsYXNzPSJoaWRkZW4iPjwvZGl2PjxkaXYgaWQ9ImVycm9yLXdhcm5pbmctY291bnQiIGNs
YXNzPSJoaWRkZW4iPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PgogICAgIDwvZGl2PgogICAgIDxk
aXYgaWQ9ImRyYXdlciI+Ci0gICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUtdmlldyI+PGRpdiBpZD0i
Y29uc29sZS1tZXNzYWdlcyI+PGRpdiBpZD0iY29uc29sZS1wcm9tcHQiIHNwZWxsY2hlY2s9ImZh
bHNlIj48YnI+PC9kaXY+PC9kaXY+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUtdmll
dyI+PGRpdiBpZD0iY29uc29sZS1tZXNzYWdlcyIgY2xhc3M9Im1vbm9zcGFjZSI+PGRpdiBpZD0i
Y29uc29sZS1wcm9tcHQiIHNwZWxsY2hlY2s9ImZhbHNlIj48YnI+PC9kaXY+PC9kaXY+PC9kaXY+
CiAgICAgICAgIDxkaXYgaWQ9ImRyYXdlci1zdGF0dXMtYmFyIiBjbGFzcz0ic3RhdHVzLWJhciI+
PGRpdiBpZD0ib3RoZXItZHJhd2VyLXN0YXR1cy1iYXItaXRlbXMiPjxidXR0b24gaWQ9ImNsZWFy
LWNvbnNvbGUtc3RhdHVzLWJhci1pdGVtIiBjbGFzcz0ic3RhdHVzLWJhci1pdGVtIj48ZGl2IGNs
YXNzPSJnbHlwaCI+PC9kaXY+PGRpdiBjbGFzcz0iZ2x5cGggc2hhZG93Ij48L2Rpdj48L2J1dHRv
bj48ZGl2IGlkPSJjb25zb2xlLWZpbHRlciIgY2xhc3M9InNjb3BlLWJhciBzdGF0dXMtYmFyLWl0
ZW0iPjwvZGl2PjwvZGl2PjwvZGl2PgogICAgIDwvZGl2PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggN2QzZDFmYy4uMmE2NjQxNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcworKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC01NSw2ICs1NSwxMyBAQCB2
YXIgV2ViSW5zcGVjdG9yID0gewogICAgIGNvb2tpZURvbWFpbnM6IHt9LAogICAgIG1pc3NpbmdM
b2NhbGl6ZWRTdHJpbmdzOiB7fSwKICAgICBwZW5kaW5nRGlzcGF0Y2hlczogMCwKKyAgICBPUzog
eworICAgICAgICBXaW5kb3dzOiAid2luZG93cyIsCisgICAgICAgIFdpbmRvd3NWaXN0YU9yTGF0
ZXI6ICJ3aW5kb3dzLXZpc3RhLW9yLWxhdGVyIiwKKyAgICAgICAgTWFjVGlnZXI6ICJtYWMtdGln
ZXIiLAorICAgICAgICBNYWNMZW9wYXJkOiAibWFjLWxlb3BhcmQiLAorICAgICAgICBNYWNTbm93
TGVvcGFyZDogIm1hYy1zbm93bGVvcGFyZCIKKyAgICB9LAogCiAgICAgLy8gUmVnRXhwIGdyb3Vw
czoKICAgICAvLyAxIC0gc2NoZW1lCkBAIC02NywxMSArNzQsNjMgQEAgdmFyIFdlYkluc3BlY3Rv
ciA9IHsKICAgICBnZXQgcGxhdGZvcm0oKQogICAgIHsKICAgICAgICAgaWYgKCEoIl9wbGF0Zm9y
bSIgaW4gdGhpcykpCi0gICAgICAgICAgICB0aGlzLl9wbGF0Zm9ybSA9IEluc3BlY3RvckZyb250
ZW5kSG9zdC5wbGF0Zm9ybSgpOwotCisgICAgICAgICAgICB0aGlzLl9kZXRlY3RQbGF0Zm9ybSgp
OwogICAgICAgICByZXR1cm4gdGhpcy5fcGxhdGZvcm07CiAgICAgfSwKIAorICAgIF9kZXRlY3RQ
bGF0Zm9ybTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gZ2V0V2luZG93c1Zl
cnNpb24ob3NGcm9tVXNlckFnZW50KQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIW9zRnJv
bVVzZXJBZ2VudC5tYXRjaCgvXldpbmRvd3MvKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gV2Vi
SW5zcGVjdG9yLk9TLldpbmRvd3M7CisgICAgICAgICAgICB2YXIgbWF0Y2ggPSBvc0Zyb21Vc2Vy
QWdlbnQubWF0Y2goL15XaW5kb3dzIE5UIChcZCspXC4oPzpcZCspLyk7CisgICAgICAgICAgICBp
ZiAobWF0Y2ggJiYgbWF0Y2hbMV0gPj0gNikKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5z
cGVjdG9yLk9TLldpbmRvd3NWaXN0YU9yTGF0ZXI7CisgICAgICAgICAgICByZXR1cm4gV2ViSW5z
cGVjdG9yLk9TLldpbmRvd3M7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBnZXRNYWNW
ZXJzaW9uKG9zRnJvbVVzZXJBZ2VudCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFvc0Zy
b21Vc2VyQWdlbnQubWF0Y2goL01hYyBPUyBYLykpCisgICAgICAgICAgICAgICAgcmV0dXJuIFdl
Ykluc3BlY3Rvci5PUy5NYWNMZW9wYXJkOworICAgICAgICAgICAgdmFyIG1hdGNoID0gb3NGcm9t
VXNlckFnZW50Lm1hdGNoKC9NYWMgT1MgWFxzKig/OihcZCspXyhcZCspXyhcZCspKT8vKTsKKyAg
ICAgICAgICAgIGlmIChtYXRjaFsxXSA9PSAxMCkgeworICAgICAgICAgICAgICAgIHN3aXRjaCAo
TnVtYmVyKG1hdGNoWzJdKSkgeworICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6CisgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLk9TLk1hY1RpZ2VyOworICAgICAg
ICAgICAgICAgICAgICBjYXNlIDU6CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gV2Vi
SW5zcGVjdG9yLk9TLk1hY0xlb3BhcmQ7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgNjoKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuT1MuTWFjU25vd0xlb3Bh
cmQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJu
IFdlYkluc3BlY3Rvci5PUy5NYWNVbmtub3duOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rp
b24gZ2V0T1NGcm9tVXNlckFnZW50KHVzZXJBZ2VudCkKKyAgICAgICAgeworICAgICAgICAgICAg
aWYgKHVzZXJBZ2VudCkgeworICAgICAgICAgICAgICAgIHZhciBwbGF0Zm9ybUluZm8gPSB1c2Vy
QWdlbnQubWF0Y2goL1woKFteXCldKyk7XHMqKFteXCldKyk7XHMqKFteXCldKyk7XHMqKFteXCld
KylccypcKS8pOworICAgICAgICAgICAgICAgIGlmICghcGxhdGZvcm1JbmZvKQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgcmV0dXJuIHBsYXRmb3JtSW5mb1sz
XS50cmltKCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAg
ICAgfQorCisgICAgICAgIHRoaXMuX3BsYXRmb3JtID0gSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnBs
YXRmb3JtKCk7CisKKyAgICAgICAgdmFyIG9zRnJvbVVzZXJBZ2VudCA9IGdldE9TRnJvbVVzZXJB
Z2VudChuYXZpZ2F0b3IudXNlckFnZW50KTsKKyAgICAgICAgaWYgKCFvc0Zyb21Vc2VyQWdlbnQp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKHRoaXMuX3BsYXRmb3JtID09PSAi
d2luZG93cyIpCisgICAgICAgICAgICB0aGlzLl9wbGF0Zm9ybSA9IGdldFdpbmRvd3NWZXJzaW9u
KG9zRnJvbVVzZXJBZ2VudCk7CisgICAgICAgIGVsc2UgaWYgKHRoaXMuX3BsYXRmb3JtID09PSAi
bWFjIikgeworICAgICAgICAgICAgdGhpcy5fcGxhdGZvcm0gPSBnZXRNYWNWZXJzaW9uKG9zRnJv
bVVzZXJBZ2VudCk7CisgICAgfSwKKwogICAgIGdldCBwb3J0KCkKICAgICB7CiAgICAgICAgIGlm
ICghKCJfcG9ydCIgaW4gdGhpcykpCg==
</data>
<flag name="review"
          id="30098"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47619</attachid>
            <date>2010-01-28 07:57:35 -0800</date>
            <delta_ts>2010-01-28 08:28:47 -0800</delta_ts>
            <desc>[PATCH] Comments addressed</desc>
            <filename>monospace.patch</filename>
            <type>text/plain</type>
            <size>10478</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODhkYjRhMS4uNDc2MjEyZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0wMS0yOCAgQWxleGFuZGVyIFBh
dmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVzZSBwbGF0Zm9ybS1zcGVjaWZpYyBtb25vc3BhY2UgZm9u
dHMgaW4gdGhlIFdlYiBJbnNwZWN0b3IKKworICAgICAgICBNb3ZlIHRoZSBPUyB2ZXJzaW9uIGRl
dGVjdGlvbiBjb2RlIGludG8gdGhlIGZyb250ZW5kLAorICAgICAgICBhZGQgY3VzdG9tIENTUyBt
b25vc3BhY2Ugc3R5bGVzIGZvciBrbm93biBwbGF0Zm9ybXMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDA0MAorCisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JG
cm9udGVuZEhvc3Q6OnBsYXRmb3JtKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0Jy
ZWFrcG9pbnRzU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtwb2lu
dHNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX2FwcGVuZEJyZWFrcG9pbnRFbGVtZW50KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlUXVlcnlWaWV3LmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkRhdGFiYXNlUXVlcnlWaWV3KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0luc3BlY3RvckJhY2tlbmRTdHViLmpzOgorICAgICAgICAoLldlYkluc3BlY3Rvci5J
bnNwZWN0b3JCYWNrZW5kU3R1Yi5wcm90b3R5cGUucmVsZWFzZVdyYXBwZXJPYmplY3RHcm91cCk6
CisgICAgICAgICguV2ViSW5zcGVjdG9yLkluc3BlY3RvckJhY2tlbmRTdHViLnByb3RvdHlwZS5z
ZXRJbmplY3RlZFNjcmlwdFNvdXJjZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9T
b3VyY2VGcmFtZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5
cGUuX2NyZWF0ZUNvbmRpdGlvbkVsZW1lbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmNzczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlVSTFJlZ0V4cC5pLmdldCBwbGF0Zm9ybSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuX2RldGVjdFBsYXRmb3JtKToKKwogMjAxMC0wMS0yOCAgTWlraGFpbCBOYWdh
bm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbW90
aHkgSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3Bw
CmluZGV4IDJlMjM1YWIuLjFhZWIxZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmNwcApAQCAtMTIxLDEzICsxMjEsMTEgQEAgU3RyaW5nIEluc3BlY3RvckZy
b250ZW5kSG9zdDo6aGlkZGVuUGFuZWxzKCkKIGNvbnN0IFN0cmluZyYgSW5zcGVjdG9yRnJvbnRl
bmRIb3N0OjpwbGF0Zm9ybSgpIGNvbnN0CiB7CiAjaWYgUExBVEZPUk0oTUFDKQotI2lmZGVmIEJV
SUxESU5HX09OX1RJR0VSCi0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHBs
YXRmb3JtLCAoIm1hYy10aWdlciIpKTsKLSNlbHNlCi0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChj
b25zdCBTdHJpbmcsIHBsYXRmb3JtLCAoIm1hYy1sZW9wYXJkIikpOwotI2VuZGlmCisgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHBsYXRmb3JtLCAoIm1hYyIpKTsKICNlbGlm
IE9TKFdJTkRPV1MpCiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHBsYXRm
b3JtLCAoIndpbmRvd3MiKSk7CisjZWxpZiBPUyhMSU5VWCkKKyAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKGNvbnN0IFN0cmluZywgcGxhdGZvcm0sICgibGludXgiKSk7CiAjZWxzZQogICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBwbGF0Zm9ybSwgKCJ1bmtub3duIikpOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludHNT
aWRlYmFyUGFuZS5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1Np
ZGViYXJQYW5lLmpzCmluZGV4IDlkNGZlNTUuLjg4NjVmMGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzCkBAIC05OSw3
ICs5OSw3IEBAIFdlYkluc3BlY3Rvci5CcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZSA9
IHsKIAogICAgICAgICB2YXIgc291cmNlVGV4dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKICAgICAgICAgc291cmNlVGV4dEVsZW1lbnQudGV4dENvbnRlbnQgPSBicmVh
a3BvaW50LnNvdXJjZVRleHQ7Ci0gICAgICAgIHNvdXJjZVRleHRFbGVtZW50LmNsYXNzTmFtZSA9
ICJzb3VyY2UtdGV4dCI7CisgICAgICAgIHNvdXJjZVRleHRFbGVtZW50LmNsYXNzTmFtZSA9ICJz
b3VyY2UtdGV4dCBtb25vc3BhY2UiOwogICAgICAgICBicmVha3BvaW50RWxlbWVudC5hcHBlbmRD
aGlsZChzb3VyY2VUZXh0RWxlbWVudCk7CiAKICAgICAgICAgdmFyIGN1cnJlbnRFbGVtZW50ID0g
dGhpcy5saXN0RWxlbWVudC5maXJzdENoaWxkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RhdGFiYXNlUXVlcnlWaWV3LmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RhdGFiYXNlUXVlcnlWaWV3LmpzCmluZGV4IDYxYjIzNmMuLjI2NTY4NDIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZVF1ZXJ5Vmlldy5qcwor
KysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2VRdWVyeVZpZXcuanMKQEAg
LTMxLDYgKzMxLDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFiYXNlUXVlcnlWaWV3ID0gZnVuY3Rpb24o
ZGF0YWJhc2UpCiAKICAgICB0aGlzLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygic3RvcmFnZS12aWV3
Iik7CiAgICAgdGhpcy5lbGVtZW50LmFkZFN0eWxlQ2xhc3MoInF1ZXJ5Iik7CisgICAgdGhpcy5l
bGVtZW50LmFkZFN0eWxlQ2xhc3MoIm1vbm9zcGFjZSIpOwogICAgIHRoaXMuZWxlbWVudC50YWJJ
bmRleCA9IDA7CiAKICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0c3Rh
cnQiLCB0aGlzLl9zZWxlY3RTdGFydC5iaW5kKHRoaXMpLCBmYWxzZSk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yQmFja2VuZFN0dWIuanMgYi9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yQmFja2VuZFN0dWIuanMKaW5kZXggMGI0
NTVjYi4uNWRkYjc0YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0lu
c3BlY3RvckJhY2tlbmRTdHViLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9J
bnNwZWN0b3JCYWNrZW5kU3R1Yi5qcwpAQCAtMjY1LDYgKzI2NSwxMCBAQCBXZWJJbnNwZWN0b3Iu
SW5zcGVjdG9yQmFja2VuZFN0dWIucHJvdG90eXBlID0gewogCiAgICAgcmVsZWFzZVdyYXBwZXJP
YmplY3RHcm91cDogZnVuY3Rpb24oKQogICAgIHsKKyAgICB9LAorCisgICAgc2V0SW5qZWN0ZWRT
Y3JpcHRTb3VyY2U6IGZ1bmN0aW9uKCkKKyAgICB7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKaW5kZXggOWI0ZTk1Mi4uODUwODcyMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcwpAQCAtMzc2LDYgKzM3
Niw3IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAKICAgICAgICAg
dmFyIGVkaXRvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwogICAg
ICAgICBlZGl0b3JFbGVtZW50LmlkID0gInNvdXJjZS1icmVha3BvaW50LWNvbmRpdGlvbiI7Cisg
ICAgICAgIGVkaXRvckVsZW1lbnQuY2xhc3NOYW1lID0gIm1vbm9zcGFjZSI7CiAgICAgICAgIGVk
aXRvckVsZW1lbnQudHlwZSA9ICJ0ZXh0IgogICAgICAgICBjb25kaXRpb25FbGVtZW50LmFwcGVu
ZENoaWxkKGVkaXRvckVsZW1lbnQpOwogICAgICAgICB0aGlzLl9jb25kaXRpb25FZGl0b3JFbGVt
ZW50ID0gZWRpdG9yRWxlbWVudDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuY3NzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5jc3MKaW5kZXggZTZjNzNjYy4uMTQ3N2Y5NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5jc3MKQEAgLTQ5NSw2ICs0OTUsMjkgQEAgYm9keS5kcmF3ZXItdmlzaWJs
ZSAjZHJhd2VyIHsKICAgICBiYWNrZ3JvdW5kOiBub25lOwogfQogCisubW9ub3NwYWNlIHsKKyAg
ICBmb250LXNpemU6IDEwcHg7CisgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKK30KKworYm9k
eS5wbGF0Zm9ybS1tYWMtdGlnZXIgLm1vbm9zcGFjZSwgYm9keS5wbGF0Zm9ybS1tYWMtbGVvcGFy
ZCAubW9ub3NwYWNlLAorYm9keS5wbGF0Zm9ybS1tYWMtdGlnZXIgLnNvdXJjZS1jb2RlLCBib2R5
LnBsYXRmb3JtLW1hYy1sZW9wYXJkIC5zb3VyY2UtY29kZSB7CisgICAgZm9udC1zaXplOiAxMHB4
OworICAgIGZvbnQtZmFtaWx5OiBNb25hY28sIG1vbm9zcGFjZTsKK30KKworYm9keS5wbGF0Zm9y
bS1tYWMtc25vd2xlb3BhcmQgLm1vbm9zcGFjZSwKK2JvZHkucGxhdGZvcm0tbWFjLXNub3dsZW9w
YXJkIC5zb3VyY2UtY29kZSB7CisgICAgZm9udC1zaXplOiAxMXB4OworICAgIGZvbnQtZmFtaWx5
OiBNZW5sbywgbW9ub3NwYWNlOworfQorCitib2R5LnBsYXRmb3JtLXdpbmRvd3MgLm1vbm9zcGFj
ZSwgYm9keS5wbGF0Zm9ybS13aW5kb3dzLXZpc3RhLW9yLWxhdGVyIC5tb25vc3BhY2UsCitib2R5
LnBsYXRmb3JtLXdpbmRvd3MgLnNvdXJjZS1jb2RlLCBib2R5LnBsYXRmb3JtLXdpbmRvd3Mtdmlz
dGEtb3ItbGF0ZXIgLnNvdXJjZS1jb2RlIHsKKyAgICBmb250LXNpemU6IDEycHg7CisgICAgZm9u
dC1mYW1pbHk6IENvbnNvbGFzLCBMdWNpZGEgQ29uc29sZSwgbW9ub3NwYWNlOworfQorCiAjY29u
c29sZS1tZXNzYWdlcyB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIHotaW5kZXg6IDA7
CkBAIC01MDIsOCArNTI1LDYgQEAgYm9keS5kcmF3ZXItdmlzaWJsZSAjZHJhd2VyIHsKICAgICBs
ZWZ0OiAwOwogICAgIHJpZ2h0OiAwOwogICAgIGJvdHRvbTogMjNweDsKLSAgICBmb250LXNpemU6
IGluaXRpYWw7Ci0gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICBwYWRkaW5nOiAycHgg
MDsKICAgICBvdmVyZmxvdy15OiBvdmVybGF5OwogICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsK
QEAgLTEwOTgsMTUgKzExMTksMTAgQEAgYm9keS5kcmF3ZXItdmlzaWJsZSAjZHJhd2VyIHsKIAog
LnNvdXJjZS1jb2RlIHsKICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwotICAgIGZvbnQtc2l6
ZTogbWVkaXVtOworICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICB3aGl0ZS1zcGFjZTogcHJlLXdy
YXA7CiB9CiAKLWJvZHkucGxhdGZvcm0td2luZG93cyAuc291cmNlLWNvZGUgewotICAgIGZvbnQt
ZmFtaWx5OiBDb25zb2xhcywgTHVjaWRhIENvbnNvbGUsIG1vbm9zcGFjZTsKLSAgICBmb250LXNp
emU6IDEycHg7Ci19Ci0KIC5vdXRsaW5lLWRpc2Nsb3N1cmUgbGkgewogICAgIHBhZGRpbmc6IDAg
MCAwIDE0cHg7CiAgICAgbWFyZ2luLXRvcDogMXB4OwpAQCAtMjEyMyw4ICsyMTM5LDYgQEAgYm9k
eS5pbmFjdGl2ZSAuZGF0YS1ncmlkIHRoLnNvcnQtYXNjZW5kaW5nLCBib2R5LmluYWN0aXZlIC5k
YXRhLWdyaWQgdGguc29ydC1kZXMKIH0KIAogLnN0b3JhZ2Utdmlldy5xdWVyeSB7Ci0gICAgZm9u
dC1zaXplOiBpbml0aWFsOwotICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgcGFkZGlu
ZzogMnB4IDA7CiAgICAgb3ZlcmZsb3cteTogb3ZlcmxheTsKICAgICBvdmVyZmxvdy14OiBoaWRk
ZW47CkBAIC0zNzg3LDcgKzM4MDEsNiBAQCBvbC5icmVha3BvaW50LWxpc3QgewogfQogCiAuYnJl
YWtwb2ludC1saXN0IC5zb3VyY2UtdGV4dCB7Ci0gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsK
ICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwog
ICAgIG92ZXJmbG93OiBoaWRkZW47CkBAIC0zODIxLDcgKzM4MzQsNiBAQCBvbC5icmVha3BvaW50
LWxpc3QgewogfQogCiAjc291cmNlLWJyZWFrcG9pbnQtY29uZGl0aW9uIHsKLSAgICBmb250LWZh
bWlseTogbW9ub3NwYWNlOwogICAgIG1hcmdpbjogMDsKICAgICBib3JkZXI6IDFweCBpbnNldCBy
Z2IoMTkwLCAxOTAsIDE5MCkgIWltcG9ydGFudDsKICAgICB3aWR0aDogMTAwJTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAppbmRleCBhODY2MDAzLi5lNjZkYzZi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCkBAIC0xMzMs
NyArMTMzLDcgQEAgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KICAgICAgICAgPGRpdiBpZD0ibWFpbi1zdGF0dXMtYmFyIiBj
bGFzcz0ic3RhdHVzLWJhciI+PGRpdiBpZD0iYW5jaG9yZWQtc3RhdHVzLWJhci1pdGVtcyI+PGJ1
dHRvbiBpZD0iZG9jay1zdGF0dXMtYmFyLWl0ZW0iIGNsYXNzPSJzdGF0dXMtYmFyLWl0ZW0iPjxk
aXYgY2xhc3M9ImdseXBoIj48L2Rpdj48ZGl2IGNsYXNzPSJnbHlwaCBzaGFkb3ciPjwvZGl2Pjwv
YnV0dG9uPjxidXR0b24gaWQ9ImNvbnNvbGUtc3RhdHVzLWJhci1pdGVtIiBjbGFzcz0ic3RhdHVz
LWJhci1pdGVtIj48ZGl2IGNsYXNzPSJnbHlwaCI+PC9kaXY+PGRpdiBjbGFzcz0iZ2x5cGggc2hh
ZG93Ij48L2Rpdj48L2J1dHRvbj48YnV0dG9uIGlkPSJjaGFuZ2VzLXN0YXR1cy1iYXItaXRlbSIg
Y2xhc3M9InN0YXR1cy1iYXItaXRlbSBoaWRkZW4iPjwvYnV0dG9uPjxkaXYgaWQ9ImNvdW50LWl0
ZW1zIj48ZGl2IGlkPSJjaGFuZ2VzLWNvdW50IiBjbGFzcz0iaGlkZGVuIj48L2Rpdj48ZGl2IGlk
PSJlcnJvci13YXJuaW5nLWNvdW50IiBjbGFzcz0iaGlkZGVuIj48L2Rpdj48L2Rpdj48L2Rpdj48
L2Rpdj4KICAgICA8L2Rpdj4KICAgICA8ZGl2IGlkPSJkcmF3ZXIiPgotICAgICAgICA8ZGl2IGlk
PSJjb25zb2xlLXZpZXciPjxkaXYgaWQ9ImNvbnNvbGUtbWVzc2FnZXMiPjxkaXYgaWQ9ImNvbnNv
bGUtcHJvbXB0IiBzcGVsbGNoZWNrPSJmYWxzZSI+PGJyPjwvZGl2PjwvZGl2PjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJjb25zb2xlLXZpZXciPjxkaXYgaWQ9ImNvbnNvbGUtbWVzc2FnZXMiIGNs
YXNzPSJtb25vc3BhY2UiPjxkaXYgaWQ9ImNvbnNvbGUtcHJvbXB0IiBzcGVsbGNoZWNrPSJmYWxz
ZSI+PGJyPjwvZGl2PjwvZGl2PjwvZGl2PgogICAgICAgICA8ZGl2IGlkPSJkcmF3ZXItc3RhdHVz
LWJhciIgY2xhc3M9InN0YXR1cy1iYXIiPjxkaXYgaWQ9Im90aGVyLWRyYXdlci1zdGF0dXMtYmFy
LWl0ZW1zIj48YnV0dG9uIGlkPSJjbGVhci1jb25zb2xlLXN0YXR1cy1iYXItaXRlbSIgY2xhc3M9
InN0YXR1cy1iYXItaXRlbSI+PGRpdiBjbGFzcz0iZ2x5cGgiPjwvZGl2PjxkaXYgY2xhc3M9Imds
eXBoIHNoYWRvdyI+PC9kaXY+PC9idXR0b24+PGRpdiBpZD0iY29uc29sZS1maWx0ZXIiIGNsYXNz
PSJzY29wZS1iYXIgc3RhdHVzLWJhci1pdGVtIj48L2Rpdj48L2Rpdj48L2Rpdj4KICAgICA8L2Rp
dj4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4
IDdkM2QxZmMuLmNhNzYzZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3IuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5qcwpAQCAtNTUsNiArNTUsMTMgQEAgdmFyIFdlYkluc3BlY3RvciA9IHsKICAgICBjb29raWVE
b21haW5zOiB7fSwKICAgICBtaXNzaW5nTG9jYWxpemVkU3RyaW5nczoge30sCiAgICAgcGVuZGlu
Z0Rpc3BhdGNoZXM6IDAsCisgICAgT1M6IHsKKyAgICAgICAgV2luZG93czogIndpbmRvd3MiLAor
ICAgICAgICBXaW5kb3dzVmlzdGFPckxhdGVyOiAid2luZG93cy12aXN0YS1vci1sYXRlciIsCisg
ICAgICAgIE1hY1RpZ2VyOiAibWFjLXRpZ2VyIiwKKyAgICAgICAgTWFjTGVvcGFyZDogIm1hYy1s
ZW9wYXJkIiwKKyAgICAgICAgTWFjU25vd0xlb3BhcmQ6ICJtYWMtc25vd2xlb3BhcmQiCisgICAg
fSwKIAogICAgIC8vIFJlZ0V4cCBncm91cHM6CiAgICAgLy8gMSAtIHNjaGVtZQpAQCAtNjcsMTEg
Kzc0LDM5IEBAIHZhciBXZWJJbnNwZWN0b3IgPSB7CiAgICAgZ2V0IHBsYXRmb3JtKCkKICAgICB7
CiAgICAgICAgIGlmICghKCJfcGxhdGZvcm0iIGluIHRoaXMpKQotICAgICAgICAgICAgdGhpcy5f
cGxhdGZvcm0gPSBJbnNwZWN0b3JGcm9udGVuZEhvc3QucGxhdGZvcm0oKTsKKyAgICAgICAgICAg
IHRoaXMuX3BsYXRmb3JtID0gdGhpcy5fZGV0ZWN0UGxhdGZvcm0oKTsKIAogICAgICAgICByZXR1
cm4gdGhpcy5fcGxhdGZvcm07CiAgICAgfSwKIAorICAgIF9kZXRlY3RQbGF0Zm9ybTogZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgY29uc3QgdXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2Vu
dDsKKyAgICAgICAgdmFyIG5hdGl2ZVBsYXRmb3JtID0gSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnBs
YXRmb3JtKCk7CisKKyAgICAgICAgaWYgKG5hdGl2ZVBsYXRmb3JtID09PSAid2luZG93cyIpIHsK
KyAgICAgICAgICAgIHZhciBtYXRjaCA9IHVzZXJBZ2VudC5tYXRjaCgvV2luZG93cyBOVCAoXGQr
KVwuKD86XGQrKS8pOworICAgICAgICAgICAgaWYgKG1hdGNoICYmIG1hdGNoWzFdID49IDYpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5PUy5XaW5kb3dzVmlzdGFPckxhdGVy
OworICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5PUy5XaW5kb3dzOworICAgICAgICB9
IGVsc2UgaWYgKG5hdGl2ZVBsYXRmb3JtID09PSAibWFjIikgeworICAgICAgICAgICAgdmFyIG1h
dGNoID0gdXNlckFnZW50Lm1hdGNoKC9NYWMgT1MgWFxzKig/OihcZCspXyhcZCspXyg/OlxkKykp
Py8pOworICAgICAgICAgICAgaWYgKCFtYXRjaCB8fCBtYXRjaFsxXSAhPSAxMCkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLk9TLk1hY0xlb3BhcmQ7CisgICAgICAgICAgICBz
d2l0Y2ggKE51bWJlcihtYXRjaFsyXSkpIHsKKyAgICAgICAgICAgICAgICBjYXNlIDQ6CisgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuT1MuTWFjVGlnZXI7CisgICAgICAg
ICAgICAgICAgY2FzZSA1OgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9y
Lk9TLk1hY0xlb3BhcmQ7CisgICAgICAgICAgICAgICAgY2FzZSA2OgorICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLk9TLk1hY1Nub3dMZW9wYXJkOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5PUy5NYWNMZW9wYXJkOworICAgICAg
ICB9CisKKyAgICAgICAgcmV0dXJuIG5hdGl2ZVBsYXRmb3JtOworICAgIH0sCisKICAgICBnZXQg
cG9ydCgpCiAgICAgewogICAgICAgICBpZiAoISgiX3BvcnQiIGluIHRoaXMpKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>