<?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>80205</bug_id>
          
          <creation_ts>2012-03-02 21:06:48 -0800</creation_ts>
          <short_desc>window.frameElement should return null if there isn&apos;t the Element for the browsing context container</short_desc>
          <delta_ts>2012-04-02 11:31:47 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#dom-frameelement</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Syoichi Tsuyuhara">syoichi</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>570107</commentid>
    <comment_count>0</comment_count>
    <who name="Syoichi Tsuyuhara">syoichi</who>
    <bug_when>2012-03-02 21:06:48 -0800</bug_when>
    <thetext>see http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#navigating-nested-browsing-contexts-in-the-dom .

&gt;window . frameElement
&gt;Returns the Element for the browsing context container.
&gt;
&gt;Returns null if there isn&apos;t one.
&gt;
&gt;Throws a SecurityError exception in cross-origin situations.

Internet Explorer 9.0.5, Firefox Nightly 13.0a1(buildID 20120302031112), Opera Next 12.00 alpha(build 1317) return null, but WebKit r109602 returns undefined, on Windows 7 Home Premium SP1 64bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578022</commentid>
    <comment_count>1</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-13 17:17:04 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; see http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#navigating-nested-browsing-contexts-in-the-dom .
&gt; 
&gt; &gt;window . frameElement
&gt; &gt;Returns the Element for the browsing context container.
&gt; &gt;
&gt; &gt;Returns null if there isn&apos;t one.
&gt; &gt;
&gt; &gt;Throws a SecurityError exception in cross-origin situations.
&gt; 
&gt; Internet Explorer 9.0.5, Firefox Nightly 13.0a1(buildID 20120302031112), Opera Next 12.00 alpha(build 1317) return null, but WebKit r109602 returns undefined, on Windows 7 Home Premium SP1 64bit.

Makes sense. I am making a bug-fix patch...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578041</commentid>
    <comment_count>2</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-13 17:32:43 -0700</bug_when>
    <thetext>Maybe this is not only a problem of frameElement. contentDocument also requires null if the access is not allowed.

http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-iframe-contentdocument

It would make sense to fix code generators to return null when shouldAllowAccessToNode() fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578060</commentid>
    <comment_count>3</comment_count>
      <attachid>131764</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-13 17:55:09 -0700</bug_when>
    <thetext>Created attachment 131764
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578105</commentid>
    <comment_count>4</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-13 19:08:52 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=131764) [details]
&gt; Patch

- Does the change covers all expectations? I wonder why there is no expected.txt for mac changed.
&gt; Maybe this is not only a problem of frameElement. contentDocument also requires null if the access is not allowed.
Why not cover this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578122</commentid>
    <comment_count>5</comment_count>
      <attachid>131775</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-13 19:53:47 -0700</bug_when>
    <thetext>Created attachment 131775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578124</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-13 19:57:17 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; - Does the change covers all expectations? I wonder why there is no expected.txt for mac changed.
&gt; &gt; Maybe this is not only a problem of frameElement. contentDocument also requires null if the access is not allowed.
&gt; Why not cover this?

- The test of frameElement is cross-frame-access-frameelement.html. I updated cross-frame-access-frameelement-expected.txt.
- Another test of frameElement is cross-frame-access-put.html. This is skipped on mac and other ports, and I just updated platform/chromium/.../cross-frame-access-put-expected.txt.
- The test of contentDocument is local-iFrame-from-remote.html. I didn&apos;t update expected.txt because there is no change in the test result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578200</commentid>
    <comment_count>7</comment_count>
      <attachid>131775</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-14 00:06:21 -0700</bug_when>
    <thetext>Comment on attachment 131775
Patch

Clearing flags on attachment: 131775

Committed r110667: &lt;http://trac.webkit.org/changeset/110667&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578202</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-14 00:06:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578406</commentid>
    <comment_count>9</comment_count>
    <who name="Syoichi Tsuyuhara">syoichi</who>
    <bug_when>2012-03-14 08:17:08 -0700</bug_when>
    <thetext>I confirmed this bug fix on WebKit r110696. Thanks, Kentaro Hara, Hajime Morrita, Adam Barth!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593560</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-04-02 10:08:20 -0700</bug_when>
    <thetext>This patch fixed both JSC and v8, but cross-platform results in http/tests/security/cross-frame-access-put-expected.txt have not been updated: bug 82751. Neither have been Qt results.

Was there a reason to keep old cross-platform results?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593630</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-02 11:31:47 -0700</bug_when>
    <thetext>&gt; Was there a reason to keep old cross-platform results?

Probably not.  They likely need to be updated to show the new behavior.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131764</attachid>
            <date>2012-03-13 17:55:09 -0700</date>
            <delta_ts>2012-03-13 19:53:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80205-20120314095504.patch</filename>
            <type>text/plain</type>
            <size>12258</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjc2MjNjMDA3YTdkZDJj
MThiMmI4YzdkODZkZDQ4NzQxM2U0NzhlZS4uZGU3ZmEyYTBkZTgwZWE3NGQ2MGE0ZTQ5MzY4ZjU0
ZDcyM2JjNzVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAzLTEzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXR1cm4gbnVsbCB3
aGVuIHNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKCkgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUoKSBpcyB1
c2VkIGZvciB3aW5kb3cuZnJhbWVFbGVtZW50LCBIVE1MRnJhbWVFbGVtZW50LmNvbnRlbnREb2N1
bWVudCwKKyAgICAgICAgYW5kIGdldFNWR0RvY3VtZW50KCkuIFRoZSBzcGVjIG9mIHdpbmRvdy5m
cmFtZUVsZW1lbnQgYW5kIEhUTUxGcmFtZUVsZW1lbnQuY29udGVudERvY3VtZW50CisgICAgICAg
IHJlcXVpcmVzIHRoYXQgdGhleSBzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgc2VjdXJpdHkg
Y2hlY2sgZmFpbHMuCisgICAgICAgIFRodXMgdGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSByZXR1cm4g
dmFsdWUgZnJvbSB1bmRlZmluZWQgdG8gbnVsbC4KKworICAgICAgICBodHRwOi8vd3d3LndoYXR3
Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9icm93c2Vycy5odG1s
I25hdmlnYXRpbmctbmVzdGVkLWJyb3dzaW5nLWNvbnRleHRzLWluLXRoZS1kb20KKyAgICAgICAg
aHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBh
Z2UvdGhlLWlmcmFtZS1lbGVtZW50Lmh0bWwjZG9tLWlmcmFtZS1jb250ZW50ZG9jdW1lbnQKKwor
ICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtZnJh
bWVlbGVtZW50Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mt
ZnJhbWUtYWNjZXNzLXB1dC5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoR2VuZXJh
dGVOb3JtYWxBdHRyR2V0dGVyKToKKyAgICAgICAgKEdlbmVyYXRlRnVuY3Rpb25DYWxsYmFjayk6
CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDogVXBk
YXRlZCBydW4tYmluZGluZ3MtdGVzdHMgcmVzdWx0cy4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVz
dE9iakNvbnRlbnREb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvbkdldFNWR0RvY3VtZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpJbnRlcm5hbDo6
Y29udGVudERvY3VtZW50QXR0ckdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqSW50
ZXJuYWw6OmdldFNWR0RvY3VtZW50Q2FsbGJhY2spOgorCiAyMDEyLTAzLTEzICBLaW51a28gWWFz
dWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBbGxvdyBXZWJGaWxlQ2hvb3Nl
ciB0byByZXR1cm4gZXh0cmEgZmlsZSBpbmZvIChsaWtlIGRpc3BsYXlOYW1lKSBpbiBhZGRpdGlv
biB0byBtZXJlIGZpbGUgcGF0aHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggOWQ2MDA2M2RkNzRmYjQzMTY2YzAwNThmN2M1
MWI2MGVlOWNlNDRkNS4uYjZjMWNiYWJhMWE5OWI0NmJmMzE1ZTlhZjhkYWRkMjEwOGY5NzViNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KQEAgLTE3MDQsNyArMTcwNCw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAg
ICAgICAgICAgICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiQ2hlY2tTZWN1cml0eUZvck5vZGUifSkgewogICAgICAgICAgICAgICAgICAg
ICAkaW1wbEluY2x1ZGVzeyJKU0RPTUJpbmRpbmcuaCJ9ID0gMTsKICAgICAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGltcGxDbGFzc05hbWUqIGltcGwgPSBzdGF0aWNf
Y2FzdDwkaW1wbENsYXNzTmFtZSo+KGNhc3RlZFRoaXMtPmltcGwoKSk7XG4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIHNob3VsZEFsbG93QWNj
ZXNzVG9Ob2RlKGV4ZWMsIGltcGwtPiIgLiAkYXR0cmlidXRlLT5zaWduYXR1cmUtPm5hbWUgLiAi
KCkpID8gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUsIDAsICRpbXBs
Q2xhc3NOYW1lLCAiaW1wbC0+JGltcGxHZXR0ZXJGdW5jdGlvbk5hbWUoKSIsICJjYXN0ZWRUaGlz
IikgLiAiIDoganNVbmRlZmluZWQoKTtcbiIpOworICAgICAgICAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICByZXR1cm4gc2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUoZXhlYywgaW1w
bC0+IiAuICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+bmFtZSAuICIoKSkgPyAiIC4gTmF0aXZlVG9K
U1ZhbHVlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgMCwgJGltcGxDbGFzc05hbWUsICJpbXBsLT4k
aW1wbEdldHRlckZ1bmN0aW9uTmFtZSgpIiwgImNhc3RlZFRoaXMiKSAuICIgOiBqc051bGwoKTtc
biIpOwogICAgICAgICAgICAgICAgIH0gZWxzaWYgKCR0eXBlIGVxICJFdmVudExpc3RlbmVyIikg
ewogICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJFdmVudExpc3RlbmVyLmgifSA9
IDE7CiAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIFVOVVNFRF9Q
QVJBTShleGVjKTtcbiIpOwpAQCAtMjEzNyw3ICsyMTM3LDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVt
ZW50YXRpb24KIAogICAgICAgICAgICAgICAgICAgICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja1NlY3VyaXR5Rm9yTm9kZSJ9KSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIXNob3VsZEFsbG93
QWNjZXNzVG9Ob2RlKGV4ZWMsIGltcGwtPiIgLiAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZSAu
ICIoIiAuIChAeyRmdW5jdGlvbi0+cmFpc2VzRXhjZXB0aW9uc30gPyAiZWMiIDogIiIpIC4iKSkp
XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpO1xuIik7CisgICAgICAgICAg
ICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc051bGwoKSk7XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5j
bHVkZXN7IkpTRE9NQmluZGluZy5oIn0gPSAxOwogICAgICAgICAgICAgICAgICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4
LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0K
aW5kZXggYWE0OTQ5NmRhOGYzZDE5OTY1YWE4MzRmNmJlYmIwNGFhYzQ0MjNlNC4uNTc3ZWZlMzkx
MjUzNjk0MGE0MjIxOWNiOTgxZGI0MDI2ZWZlNWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTg1Niw3ICs4NTYsNyBA
QCBFTkQKIAogICAgICMgR2VuZXJhdGUgc2VjdXJpdHkgY2hlY2tzIGlmIG5lY2Vzc2FyeQogICAg
IGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja1Nl
Y3VyaXR5Rm9yTm9kZSJ9KSB7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAg
aWYgKCFWOEJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUoVjhCaW5kaW5n
U3RhdGU6Ok9ubHkoKSwgaW1wLT4iIC4gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5uYW1lIC4gIigp
KSlcbiAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7XG5cbiIpOworICAgICAgICBw
dXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIGlmICghVjhCaW5kaW5nU2VjdXJpdHk6OnNob3Vs
ZEFsbG93QWNjZXNzVG9Ob2RlKFY4QmluZGluZ1N0YXRlOjpPbmx5KCksIGltcC0+IiAuICRhdHRy
aWJ1dGUtPnNpZ25hdHVyZS0+bmFtZSAuICIoKSkpXG4gICAgICAgIHJldHVybiB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4odjg6Ok51bGwoKSk7XG5cbiIpOwogICAgIH0KIAogICAgIG15ICR1c2VFeGNl
cHRpb25zID0gMSBpZiBAeyRhdHRyaWJ1dGUtPmdldHRlckV4Y2VwdGlvbnN9OwpAQCAtMTQyMiw3
ICsxNDIyLDcgQEAgRU5ECiAKICAgICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJDaGVja1NlY3VyaXR5Rm9yTm9kZSJ9KSB7CiAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50RGVjbHMsICIgICAgaWYgKCFWOEJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dB
Y2Nlc3NUb05vZGUoVjhCaW5kaW5nU3RhdGU6Ok9ubHkoKSwgaW1wLT4iIC4gJGZ1bmN0aW9uLT5z
aWduYXR1cmUtPm5hbWUgLiAiKGVjKSkpXG4iKTsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnRE
ZWNscywgIiAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpO1xuIik7CisgICAg
ICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4odjg6Ok51bGwoKSk7XG4iKTsKIEVORAogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCA3
ZmNmODNhMzk5MTdlNTdjNmYyYjFhOGZjZTNjM2FjMjY2YTg2MjVlLi45NDU1MTkxNDM2ZGYwOTY2
MjYyZGRmNzQ5ZDEwMDZhMjMzZmUxYzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtODEyLDcgKzgxMiw3IEBA
IEpTVmFsdWUganNUZXN0T2JqQ29udGVudERvY3VtZW50KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1
ZSBzbG90QmFzZSwgY29uc3QgSWRlbnRpCiB7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0g
c3RhdGljX2Nhc3Q8SlNUZXN0T2JqKj4oYXNPYmplY3Qoc2xvdEJhc2UpKTsKICAgICBUZXN0T2Jq
KiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwoKSk7Ci0gICAg
cmV0dXJuIHNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKGV4ZWMsIGltcGwtPmNvbnRlbnREb2N1bWVu
dCgpKSA/IHRvSlMoZXhlYywgY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRy
KGltcGwtPmNvbnRlbnREb2N1bWVudCgpKSkgOiBqc1VuZGVmaW5lZCgpOworICAgIHJldHVybiBz
aG91bGRBbGxvd0FjY2Vzc1RvTm9kZShleGVjLCBpbXBsLT5jb250ZW50RG9jdW1lbnQoKSkgPyB0
b0pTKGV4ZWMsIGNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihpbXBsLT5j
b250ZW50RG9jdW1lbnQoKSkpIDoganNOdWxsKCk7CiB9CiAKIApAQCAtMjE1Niw3ICsyMTU2LDcg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
bkdldFNWR0RvY3VtZW50KEV4ZWNTdGF0ZSoKICAgICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nh
c3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwoKSk7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7CiAgICAgaWYgKCFzaG91bGRBbGxvd0FjY2Vzc1RvTm9kZShleGVjLCBpbXBsLT5nZXRTVkdE
b2N1bWVudChlYykpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVsbCgpKTsKIAogICAgIEpT
Qzo6SlNWYWx1ZSByZXN1bHQgPSB0b0pTKGV4ZWMsIGNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgp
LCBXVEY6OmdldFB0cihpbXBsLT5nZXRTVkdEb2N1bWVudChlYykpKTsKICAgICBzZXRET01FeGNl
cHRpb24oZXhlYywgZWMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRleCAxODdlZWVjMzJlMGU5ZDc4OTgyMTUwOTc0
MDAxMmMzYjRhNDkwMzQxLi4wMjMxNzg4NzAwMGM2NjU1NGRjMDdhZDBlYTNjNzI2MmJlZTgzYTNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0T2JqLmNwcApAQCAtODg1LDcgKzg4NSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gY29udGVudERvY3VtZW50QXR0ckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFt
CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5jb250ZW50RG9jdW1lbnQuX2dldCIpOwogICAg
IFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7CiAgICAg
aWYgKCFWOEJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUoVjhCaW5kaW5n
U3RhdGU6Ok9ubHkoKSwgaW1wLT5jb250ZW50RG9jdW1lbnQoKSkpCi0gICAgcmV0dXJuIHY4OjpI
YW5kbGU8djg6OlZhbHVlPigpOworICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+
KHY4OjpOdWxsKCkpOwogCiAgICAgcmV0dXJuIHRvVjgoaW1wLT5jb250ZW50RG9jdW1lbnQoKSk7
CiB9CkBAIC0xNjI5LDcgKzE2MjksNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGdl
dFNWR0RvY3VtZW50Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICBFeGNl
cHRpb25Db2RlIGVjID0gMDsKICAgICB7CiAgICAgaWYgKCFWOEJpbmRpbmdTZWN1cml0eTo6c2hv
dWxkQWxsb3dBY2Nlc3NUb05vZGUoVjhCaW5kaW5nU3RhdGU6Ok9ubHkoKSwgaW1wLT5nZXRTVkdE
b2N1bWVudChlYykpKQotICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Cisg
ICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4odjg6Ok51bGwoKSk7CiAgICAgUmVm
UHRyPFNWR0RvY3VtZW50PiByZXN1bHQgPSBpbXAtPmdldFNWR0RvY3VtZW50KGVjKTsKICAgICBp
ZiAoVU5MSUtFTFkoZWMpKQogICAgICAgICBnb3RvIGZhaWw7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODA0YTBjZDcwZjUz
YWM4ZTY2MjQxMjBlNzNhOWQ2NTk4YjhjMWE2Zi4uOTkyNjA3M2RiOWQ4MDk4NzJkOGE0Y2RiNWJj
MDg3NmNiMmU2YzkyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTAzLTEzICBLZW50YXJv
IEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXR1cm4gbnVsbCB3aGVu
IHNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKCkgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgc2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUoKSBpcyB1c2Vk
IGZvciB3aW5kb3cuZnJhbWVFbGVtZW50LCBIVE1MRnJhbWVFbGVtZW50LmNvbnRlbnREb2N1bWVu
dCwKKyAgICAgICAgYW5kIGdldFNWR0RvY3VtZW50KCkuIFRoZSBzcGVjIG9mIHdpbmRvdy5mcmFt
ZUVsZW1lbnQgYW5kIEhUTUxGcmFtZUVsZW1lbnQuY29udGVudERvY3VtZW50CisgICAgICAgIHJl
cXVpcmVzIHRoYXQgdGhleSBzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgc2VjdXJpdHkgY2hl
Y2sgZmFpbHMuCisgICAgICAgIFRodXMgdGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSByZXR1cm4gdmFs
dWUgZnJvbSB1bmRlZmluZWQgdG8gbnVsbC4KKworICAgICAgICBodHRwOi8vd3d3LndoYXR3Zy5v
cmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9icm93c2Vycy5odG1sI25h
dmlnYXRpbmctbmVzdGVkLWJyb3dzaW5nLWNvbnRleHRzLWluLXRoZS1kb20KKyAgICAgICAgaHR0
cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2Uv
dGhlLWlmcmFtZS1lbGVtZW50Lmh0bWwjZG9tLWlmcmFtZS1jb250ZW50ZG9jdW1lbnQKKworICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLWZyYW1lZWxlbWVu
dC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9z
ZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ndGsvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0LWV4
cGVjdGVkLnR4dDoKKwogMjAxMi0wMy0xMyAgw4Fkw6FtIEthbGxhaSAgPGthZGFtQGluZi51LXN6
ZWdlZC5odT4KIAogICAgICAgICBbUXRdIFNraXAgc29tZSB0ZXN0cyB1bnRpbCBmaXguCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vz
cy1mcmFtZWVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtZnJhbWVlbGVtZW50LWV4cGVjdGVkLnR4dAppbmRleCA4
OTk1NzZjYjU3MjJjYzBhZGYzYTQ5ZDY0ZDVmZDk5ZTQ5NjZkNWE4Li4yZWM3YjczZDU3YTU3NjQw
MWQ3ZGU4OTE2ZmYwYzFjOGMwY2MzYTBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1mcmFtZWVsZW1lbnQtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNz
LWZyYW1lZWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTEyLDQgKzEyLDQgQEAgRnJhbWU6ICc8IS0t
ZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKIC0tLS0tLS0tCiBGcmFtZTogJzwhLS1mcmFt
ZVBhdGggLy88IS0tZnJhbWUxLS0+LS0+JwogLS0tLS0tLS0KLXVuZGVmaW5lZAorbnVsbApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0
eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXB1dC1l
eHBlY3RlZC50eHQKaW5kZXggOWY2ZDhmNjE0ZWZkYTY4NjZlZjAzYmZhOTFjYWViYzE0MTJmYTAx
My4uMDRlM2IyN2Q5ZTgwODIwN2Q5ZjdhZjMzMjhhNGJmOTY0ODg3M2VhNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1m
cmFtZS1hY2Nlc3MtcHV0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wdXQtZXhwZWN0
ZWQudHh0CkBAIC00ODcsNyArNDg3LDcgQEAgQUxFUlQ6IFBBU1M6IHdpbmRvdy5lbWJlZHMgc2hv
dWxkIGJlICd1bmRlZmluZWQnIGFuZCBpcy4KIEFMRVJUOiBQQVNTOiB3aW5kb3cuZXZlbnQgc2hv
dWxkIGJlICd1bmRlZmluZWQnIGFuZCBpcy4KIENPTlNPTEUgTUVTU0FHRTogVW5zYWZlIEphdmFT
Y3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4
MDAwL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wdXQuaHRtbCBmcm9tIGZyYW1lIHdpdGgg
VVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3MtZnJhbWUt
aWZyYW1lLWZvci1wdXQtdGVzdC5odG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11
c3QgbWF0Y2guCiAKLUFMRVJUOiBQQVNTOiB3aW5kb3cuZnJhbWVFbGVtZW50IHNob3VsZCBiZSAn
dW5kZWZpbmVkJyBhbmQgaXMuCitBTEVSVDogUEFTUzogd2luZG93LmZyYW1lRWxlbWVudCBzaG91
bGQgYmUgJ251bGwnIGFuZCBpcy4KIEFMRVJUOiBQQVNTOiB3aW5kb3cuZnJhbWVzIHNob3VsZCBi
ZSAnW29iamVjdCBXaW5kb3ddJyBhbmQgaXMuCiBBTEVSVDogUEFTUzogd2luZG93Lmhpc3Rvcnkg
c2hvdWxkIGJlICdbb2JqZWN0IEhpc3RvcnldJyBhbmQgaXMuCiBBTEVSVDogUEFTUzogd2luZG93
LmltYWdlcyBzaG91bGQgYmUgJ3VuZGVmaW5lZCcgYW5kIGlzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNz
LXB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0LWV4cGVjdGVkLnR4dAppbmRleCA3NDkyYTQy
Zjg0MWYxY2Y0Zjc3NTQ0ODIzNmQyMmNjMWQxYjE1OWQ0Li43YzEwYmVmOThjYzJhNDM0YjgwZWU0
ZmZhNjU5ODEyZWQzYzZlOGMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1m
cmFtZS1hY2Nlc3MtcHV0LWV4cGVjdGVkLnR4dApAQCAtNDc3LDcgKzQ3Nyw3IEBAIEFMRVJUOiBQ
QVNTOiB3aW5kb3cuZW1iZWRzIHNob3VsZCBiZSAndW5kZWZpbmVkJyBhbmQgaXMuCiBBTEVSVDog
UEFTUzogd2luZG93LmV2ZW50IHNob3VsZCBiZSAndW5kZWZpbmVkJyBhbmQgaXMuCiBDT05TT0xF
IE1FU1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gYWNjZXNzIGZyYW1lIHdpdGgg
VVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0
Lmh0bWwgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkv
cmVzb3VyY2VzL2Nyb3NzLWZyYW1lLWlmcmFtZS1mb3ItcHV0LXRlc3QuaHRtbC4gRG9tYWlucywg
cHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgogCi1BTEVSVDogUEFTUzogd2luZG93LmZy
YW1lRWxlbWVudCBzaG91bGQgYmUgJ3VuZGVmaW5lZCcgYW5kIGlzLgorQUxFUlQ6IFBBU1M6IHdp
bmRvdy5mcmFtZUVsZW1lbnQgc2hvdWxkIGJlICdudWxsJyBhbmQgaXMuCiBBTEVSVDogUEFTUzog
d2luZG93LmZyYW1lcyBzaG91bGQgYmUgJ1tvYmplY3QgV2luZG93XScgYW5kIGlzLgogQUxFUlQ6
IFBBU1M6IHdpbmRvdy5oaXN0b3J5IHNob3VsZCBiZSAnW29iamVjdCBIaXN0b3J5XScgYW5kIGlz
LgogQUxFUlQ6IFBBU1M6IHdpbmRvdy5pbWFnZXMgc2hvdWxkIGJlICd1bmRlZmluZWQnIGFuZCBp
cy4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131775</attachid>
            <date>2012-03-13 19:53:47 -0700</date>
            <delta_ts>2012-03-14 00:06:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80205-20120314115343.patch</filename>
            <type>text/plain</type>
            <size>13208</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjc2MjNjMDA3YTdkZDJj
MThiMmI4YzdkODZkZDQ4NzQxM2U0NzhlZS4uYmE0MjRlZTM5MTZjZjkwZWYzY2Q0ZGU2MzNiODMx
NjBmYjM0ZjVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTAzLTEzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXR1cm4gbnVsbCB3
aGVuIHNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKCkgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUoKSBpcyB1
c2VkIGZvciB3aW5kb3cuZnJhbWVFbGVtZW50LCBIVE1MRnJhbWVFbGVtZW50LmNvbnRlbnREb2N1
bWVudCwKKyAgICAgICAgYW5kIGdldFNWR0RvY3VtZW50KCkuIFRoZSBzcGVjIG9mIHdpbmRvdy5m
cmFtZUVsZW1lbnQgYW5kIEhUTUxGcmFtZUVsZW1lbnQuY29udGVudERvY3VtZW50CisgICAgICAg
IHJlcXVpcmVzIHRoYXQgdGhleSBzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgc2VjdXJpdHkg
Y2hlY2sgZmFpbHMuCisgICAgICAgIFRodXMgdGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSByZXR1cm4g
dmFsdWUgZnJvbSB1bmRlZmluZWQgdG8gbnVsbC4KKworICAgICAgICBodHRwOi8vd3d3LndoYXR3
Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9icm93c2Vycy5odG1s
I25hdmlnYXRpbmctbmVzdGVkLWJyb3dzaW5nLWNvbnRleHRzLWluLXRoZS1kb20KKyAgICAgICAg
aHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBh
Z2UvdGhlLWlmcmFtZS1lbGVtZW50Lmh0bWwjZG9tLWlmcmFtZS1jb250ZW50ZG9jdW1lbnQKKwor
ICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9zZWN1cml0eS9sb2NhbC1pRnJhbWUtZnJvbS1yZW1v
dGUuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1h
Y2Nlc3MtZnJhbWVlbGVtZW50Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJp
dHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXB1dC5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24p
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAg
ICAoR2VuZXJhdGVOb3JtYWxBdHRyR2V0dGVyKToKKyAgICAgICAgKEdlbmVyYXRlRnVuY3Rpb25D
YWxsYmFjayk6CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2Jq
LmNwcDogVXBkYXRlZCBydW4tYmluZGluZ3MtdGVzdHMgcmVzdWx0cy4KKyAgICAgICAgKFdlYkNv
cmU6OmpzVGVzdE9iakNvbnRlbnREb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RP
YmpQcm90b3R5cGVGdW5jdGlvbkdldFNWR0RvY3VtZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpJ
bnRlcm5hbDo6Y29udGVudERvY3VtZW50QXR0ckdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpU
ZXN0T2JqSW50ZXJuYWw6OmdldFNWR0RvY3VtZW50Q2FsbGJhY2spOgorCiAyMDEyLTAzLTEzICBL
aW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBbGxvdyBXZWJG
aWxlQ2hvb3NlciB0byByZXR1cm4gZXh0cmEgZmlsZSBpbmZvIChsaWtlIGRpc3BsYXlOYW1lKSBp
biBhZGRpdGlvbiB0byBtZXJlIGZpbGUgcGF0aHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggOWQ2MDA2M2RkNzRmYjQzMTY2
YzAwNThmN2M1MWI2MGVlOWNlNDRkNS4uYjZjMWNiYWJhMWE5OWI0NmJmMzE1ZTlhZjhkYWRkMjEw
OGY5NzViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0KQEAgLTE3MDQsNyArMTcwNCw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVu
dGF0aW9uCiAgICAgICAgICAgICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tTZWN1cml0eUZvck5vZGUifSkgewogICAgICAgICAg
ICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJKU0RPTUJpbmRpbmcuaCJ9ID0gMTsKICAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGltcGxDbGFzc05hbWUqIGltcGwg
PSBzdGF0aWNfY2FzdDwkaW1wbENsYXNzTmFtZSo+KGNhc3RlZFRoaXMtPmltcGwoKSk7XG4iKTsK
LSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIHNob3Vs
ZEFsbG93QWNjZXNzVG9Ob2RlKGV4ZWMsIGltcGwtPiIgLiAkYXR0cmlidXRlLT5zaWduYXR1cmUt
Pm5hbWUgLiAiKCkpID8gIiAuIE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1cmUs
IDAsICRpbXBsQ2xhc3NOYW1lLCAiaW1wbC0+JGltcGxHZXR0ZXJGdW5jdGlvbk5hbWUoKSIsICJj
YXN0ZWRUaGlzIikgLiAiIDoganNVbmRlZmluZWQoKTtcbiIpOworICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICByZXR1cm4gc2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUo
ZXhlYywgaW1wbC0+IiAuICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+bmFtZSAuICIoKSkgPyAiIC4g
TmF0aXZlVG9KU1ZhbHVlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgMCwgJGltcGxDbGFzc05hbWUs
ICJpbXBsLT4kaW1wbEdldHRlckZ1bmN0aW9uTmFtZSgpIiwgImNhc3RlZFRoaXMiKSAuICIgOiBq
c051bGwoKTtcbiIpOwogICAgICAgICAgICAgICAgIH0gZWxzaWYgKCR0eXBlIGVxICJFdmVudExp
c3RlbmVyIikgewogICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJFdmVudExpc3Rl
bmVyLmgifSA9IDE7CiAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
IFVOVVNFRF9QQVJBTShleGVjKTtcbiIpOwpAQCAtMjEzNyw3ICsyMTM3LDcgQEAgc3ViIEdlbmVy
YXRlSW1wbGVtZW50YXRpb24KIAogICAgICAgICAgICAgICAgICAgICBpZiAoJGZ1bmN0aW9uLT5z
aWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja1NlY3VyaXR5Rm9yTm9kZSJ9KSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIXNo
b3VsZEFsbG93QWNjZXNzVG9Ob2RlKGV4ZWMsIGltcGwtPiIgLiAkZnVuY3Rpb24tPnNpZ25hdHVy
ZS0+bmFtZSAuICIoIiAuIChAeyRmdW5jdGlvbi0+cmFpc2VzRXhjZXB0aW9uc30gPyAiZWMiIDog
IiIpIC4iKSkpXG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpO1xuIik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc051bGwoKSk7XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAg
ICRpbXBsSW5jbHVkZXN7IkpTRE9NQmluZGluZy5oIn0gPSAxOwogICAgICAgICAgICAgICAgICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvclY4LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yVjgucG0KaW5kZXggYWE0OTQ5NmRhOGYzZDE5OTY1YWE4MzRmNmJlYmIwNGFhYzQ0MjNlNC4u
NTc3ZWZlMzkxMjUzNjk0MGE0MjIxOWNiOTgxZGI0MDI2ZWZlNWY0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTg1Niw3
ICs4NTYsNyBAQCBFTkQKIAogICAgICMgR2VuZXJhdGUgc2VjdXJpdHkgY2hlY2tzIGlmIG5lY2Vz
c2FyeQogICAgIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJDaGVja1NlY3VyaXR5Rm9yTm9kZSJ9KSB7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50RGVj
bHMsICIgICAgaWYgKCFWOEJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUo
VjhCaW5kaW5nU3RhdGU6Ok9ubHkoKSwgaW1wLT4iIC4gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5u
YW1lIC4gIigpKSlcbiAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7XG5cbiIpOwor
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIGlmICghVjhCaW5kaW5nU2VjdXJp
dHk6OnNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKFY4QmluZGluZ1N0YXRlOjpPbmx5KCksIGltcC0+
IiAuICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+bmFtZSAuICIoKSkpXG4gICAgICAgIHJldHVybiB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4odjg6Ok51bGwoKSk7XG5cbiIpOwogICAgIH0KIAogICAgIG15
ICR1c2VFeGNlcHRpb25zID0gMSBpZiBAeyRhdHRyaWJ1dGUtPmdldHRlckV4Y2VwdGlvbnN9OwpA
QCAtMTQyMiw3ICsxNDIyLDcgQEAgRU5ECiAKICAgICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja1NlY3VyaXR5Rm9yTm9kZSJ9KSB7CiAgICAgICAg
IHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgaWYgKCFWOEJpbmRpbmdTZWN1cml0eTo6c2hv
dWxkQWxsb3dBY2Nlc3NUb05vZGUoVjhCaW5kaW5nU3RhdGU6Ok9ubHkoKSwgaW1wLT4iIC4gJGZ1
bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUgLiAiKGVjKSkpXG4iKTsKLSAgICAgICAgcHVzaChAaW1w
bENvbnRlbnREZWNscywgIiAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpO1xu
Iik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgICAgIHJldHVybiB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4odjg6Ok51bGwoKSk7XG4iKTsKIEVORAogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cAppbmRleCA3ZmNmODNhMzk5MTdlNTdjNmYyYjFhOGZjZTNjM2FjMjY2YTg2MjVlLi45NDU1MTkx
NDM2ZGYwOTY2MjYyZGRmNzQ5ZDEwMDZhMjMzZmUxYzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtODEyLDcg
KzgxMiw3IEBAIEpTVmFsdWUganNUZXN0T2JqQ29udGVudERvY3VtZW50KEV4ZWNTdGF0ZSogZXhl
YywgSlNWYWx1ZSBzbG90QmFzZSwgY29uc3QgSWRlbnRpCiB7CiAgICAgSlNUZXN0T2JqKiBjYXN0
ZWRUaGlzID0gc3RhdGljX2Nhc3Q8SlNUZXN0T2JqKj4oYXNPYmplY3Qoc2xvdEJhc2UpKTsKICAg
ICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwo
KSk7Ci0gICAgcmV0dXJuIHNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKGV4ZWMsIGltcGwtPmNvbnRl
bnREb2N1bWVudCgpKSA/IHRvSlMoZXhlYywgY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdU
Rjo6Z2V0UHRyKGltcGwtPmNvbnRlbnREb2N1bWVudCgpKSkgOiBqc1VuZGVmaW5lZCgpOworICAg
IHJldHVybiBzaG91bGRBbGxvd0FjY2Vzc1RvTm9kZShleGVjLCBpbXBsLT5jb250ZW50RG9jdW1l
bnQoKSkgPyB0b0pTKGV4ZWMsIGNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0
cihpbXBsLT5jb250ZW50RG9jdW1lbnQoKSkpIDoganNOdWxsKCk7CiB9CiAKIApAQCAtMjE1Niw3
ICsyMTU2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvbkdldFNWR0RvY3VtZW50KEV4ZWNTdGF0ZSoKICAgICBUZXN0T2JqKiBpbXBsID0g
c3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwoKSk7CiAgICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7CiAgICAgaWYgKCFzaG91bGRBbGxvd0FjY2Vzc1RvTm9kZShleGVjLCBpbXBs
LT5nZXRTVkdEb2N1bWVudChlYykpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVsbCgpKTsK
IAogICAgIEpTQzo6SlNWYWx1ZSByZXN1bHQgPSB0b0pTKGV4ZWMsIGNhc3RlZFRoaXMtPmdsb2Jh
bE9iamVjdCgpLCBXVEY6OmdldFB0cihpbXBsLT5nZXRTVkdEb2N1bWVudChlYykpKTsKICAgICBz
ZXRET01FeGNlcHRpb24oZXhlYywgZWMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRleCAxODdlZWVjMzJlMGU5ZDc4
OTgyMTUwOTc0MDAxMmMzYjRhNDkwMzQxLi4wMjMxNzg4NzAwMGM2NjU1NGRjMDdhZDBlYTNjNzI2
MmJlZTgzYTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0T2JqLmNwcApAQCAtODg1LDcgKzg4NSw3IEBAIHN0YXRpYyB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gY29udGVudERvY3VtZW50QXR0ckdldHRlcih2ODo6TG9jYWw8djg6OlN0
cmluZz4gbmFtCiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5jb250ZW50RG9jdW1lbnQuX2dl
dCIpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoaW5mby5Ib2xkZXIo
KSk7CiAgICAgaWYgKCFWOEJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUo
VjhCaW5kaW5nU3RhdGU6Ok9ubHkoKSwgaW1wLT5jb250ZW50RG9jdW1lbnQoKSkpCi0gICAgcmV0
dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2
ODo6VmFsdWU+KHY4OjpOdWxsKCkpOwogCiAgICAgcmV0dXJuIHRvVjgoaW1wLT5jb250ZW50RG9j
dW1lbnQoKSk7CiB9CkBAIC0xNjI5LDcgKzE2MjksNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IGdldFNWR0RvY3VtZW50Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
ICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICB7CiAgICAgaWYgKCFWOEJpbmRpbmdTZWN1
cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUoVjhCaW5kaW5nU3RhdGU6Ok9ubHkoKSwgaW1w
LT5nZXRTVkdEb2N1bWVudChlYykpKQotICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFs
dWU+KCk7CisgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4odjg6Ok51bGwoKSk7
CiAgICAgUmVmUHRyPFNWR0RvY3VtZW50PiByZXN1bHQgPSBpbXAtPmdldFNWR0RvY3VtZW50KGVj
KTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKQogICAgICAgICBnb3RvIGZhaWw7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODA0
YTBjZDcwZjUzYWM4ZTY2MjQxMjBlNzNhOWQ2NTk4YjhjMWE2Zi4uNGU0ZGI4ZDk0MWUyNTMwZmM0
MTE5OGMwODgxNjI1M2I4YmI0NWZiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAzLTEz
ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXR1cm4g
bnVsbCB3aGVuIHNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKCkgZmFpbHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMjA1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2hvdWxkQWxsb3dBY2Nlc3NUb05vZGUo
KSBpcyB1c2VkIGZvciB3aW5kb3cuZnJhbWVFbGVtZW50LCBIVE1MRnJhbWVFbGVtZW50LmNvbnRl
bnREb2N1bWVudCwKKyAgICAgICAgYW5kIGdldFNWR0RvY3VtZW50KCkuIFRoZSBzcGVjIG9mIHdp
bmRvdy5mcmFtZUVsZW1lbnQgYW5kIEhUTUxGcmFtZUVsZW1lbnQuY29udGVudERvY3VtZW50Cisg
ICAgICAgIHJlcXVpcmVzIHRoYXQgdGhleSBzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgc2Vj
dXJpdHkgY2hlY2sgZmFpbHMuCisgICAgICAgIFRodXMgdGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBy
ZXR1cm4gdmFsdWUgZnJvbSB1bmRlZmluZWQgdG8gbnVsbC4KKworICAgICAgICBodHRwOi8vd3d3
LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9icm93c2Vy
cy5odG1sI25hdmlnYXRpbmctbmVzdGVkLWJyb3dzaW5nLWNvbnRleHRzLWluLXRoZS1kb20KKyAg
ICAgICAgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9t
dWx0aXBhZ2UvdGhlLWlmcmFtZS1lbGVtZW50Lmh0bWwjZG9tLWlmcmFtZS1jb250ZW50ZG9jdW1l
bnQKKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLWZy
YW1lZWxlbWVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9s
b2NhbC1pRnJhbWUtZnJvbS1yZW1vdGUuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wdXQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1l
LWFjY2Vzcy1wdXQtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTAzLTEzICDDgWTDoW0gS2FsbGFpICA8
a2FkYW1AaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtRdF0gU2tpcCBzb21lIHRlc3RzIHVu
dGlsIGZpeC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jv
c3MtZnJhbWUtYWNjZXNzLWZyYW1lZWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1mcmFtZWVsZW1lbnQtZXhwZWN0
ZWQudHh0CmluZGV4IDg5OTU3NmNiNTcyMmNjMGFkZjNhNDlkNjRkNWZkOTllNDk2NmQ1YTguLjJl
YzdiNzNkNTdhNTc2NDAxZDdkZTg5MTZmZjBjMWM4YzBjYzNhMGMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLWZyYW1lZWxlbWVu
dC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9z
cy1mcmFtZS1hY2Nlc3MtZnJhbWVlbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMTIsNCArMTIsNCBA
QCBGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JwogLS0tLS0tLS0KIEZy
YW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTEtLT4tLT4nCiAtLS0tLS0tLQotdW5kZWZp
bmVkCitudWxsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2xv
Y2FsLWlGcmFtZS1mcm9tLXJlbW90ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9sb2NhbC1pRnJhbWUtZnJvbS1yZW1vdGUuaHRtbAppbmRleCA0Mzc4NTdjYmUzMWQ0MTQ5
ZmM3YWNjNjc0OTdkNDIyMWM5MWI4OWZiLi43MjFmZDg4NTA3ZTUwZWIwYjFmYTE1OGY5MzliYzAz
ZThjMTdiZTEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2xv
Y2FsLWlGcmFtZS1mcm9tLXJlbW90ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvbG9jYWwtaUZyYW1lLWZyb20tcmVtb3RlLmh0bWwKQEAgLTE3LDcgKzE3LDcgQEAK
IAogICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1
bHQiKTsKICAgICAgICAgICAgIHZhciBteUZyYW1lRG9jdW1lbnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibXlGcmFtZSIpLmNvbnRlbnREb2N1bWVudDsKLSAgICAgICAgICAgIGlmIChteUZy
YW1lRG9jdW1lbnQpCisgICAgICAgICAgICBpZiAobXlGcmFtZURvY3VtZW50ICE9PSBudWxsKQog
ICAgICAgICAgICAgICAgIHJlc3VsdC5pbm5lckhUTUwgPSAiVGVzdCBGYWlsZWQ6IExvY2FsIHBh
Z2UgcmVtb3RlbHkgbG9hZGVkIGludG8gaUZyYW1lLiI7CiAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgcmVzdWx0LmlubmVySFRNTCA9ICJUZXN0IFBhc3NlZC4gTG9jYWwgcGFnZSBu
b3QgcmVtb3RlbHkgbG9hZGVkIGludG8gaUZyYW1lLiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vz
cy1wdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90
ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0LWV4cGVjdGVkLnR4dAppbmRleCA5
ZjZkOGY2MTRlZmRhNjg2NmVmMDNiZmE5MWNhZWJjMTQxMmZhMDEzLi4wNGUzYjI3ZDllODA4MjA3
ZDlmN2FmMzMyOGE0YmY5NjQ4ODczZWE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wdXQtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY3Jvc3MtZnJhbWUtYWNjZXNzLXB1dC1leHBlY3RlZC50eHQKQEAgLTQ4Nyw3ICs0
ODcsNyBAQCBBTEVSVDogUEFTUzogd2luZG93LmVtYmVkcyBzaG91bGQgYmUgJ3VuZGVmaW5lZCcg
YW5kIGlzLgogQUxFUlQ6IFBBU1M6IHdpbmRvdy5ldmVudCBzaG91bGQgYmUgJ3VuZGVmaW5lZCcg
YW5kIGlzLgogQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGFj
Y2VzcyBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY3Jvc3Mt
ZnJhbWUtYWNjZXNzLXB1dC5odG1sIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovL2xvY2FsaG9z
dDo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9jcm9zcy1mcmFtZS1pZnJhbWUtZm9yLXB1dC10ZXN0
Lmh0bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KIAotQUxFUlQ6
IFBBU1M6IHdpbmRvdy5mcmFtZUVsZW1lbnQgc2hvdWxkIGJlICd1bmRlZmluZWQnIGFuZCBpcy4K
K0FMRVJUOiBQQVNTOiB3aW5kb3cuZnJhbWVFbGVtZW50IHNob3VsZCBiZSAnbnVsbCcgYW5kIGlz
LgogQUxFUlQ6IFBBU1M6IHdpbmRvdy5mcmFtZXMgc2hvdWxkIGJlICdbb2JqZWN0IFdpbmRvd10n
IGFuZCBpcy4KIEFMRVJUOiBQQVNTOiB3aW5kb3cuaGlzdG9yeSBzaG91bGQgYmUgJ1tvYmplY3Qg
SGlzdG9yeV0nIGFuZCBpcy4KIEFMRVJUOiBQQVNTOiB3aW5kb3cuaW1hZ2VzIHNob3VsZCBiZSAn
dW5kZWZpbmVkJyBhbmQgaXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
aHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1mcmFtZS1hY2Nlc3MtcHV0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1l
LWFjY2Vzcy1wdXQtZXhwZWN0ZWQudHh0CmluZGV4IDc0OTJhNDJmODQxZjFjZjRmNzc1NDQ4MjM2
ZDIyY2MxZDFiMTU5ZDQuLjdjMTBiZWY5OGNjMmE0MzRiODBlZTRmZmE2NTk4MTJlZDNjNmU4YzIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9odHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wdXQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wdXQtZXhw
ZWN0ZWQudHh0CkBAIC00NzcsNyArNDc3LDcgQEAgQUxFUlQ6IFBBU1M6IHdpbmRvdy5lbWJlZHMg
c2hvdWxkIGJlICd1bmRlZmluZWQnIGFuZCBpcy4KIEFMRVJUOiBQQVNTOiB3aW5kb3cuZXZlbnQg
c2hvdWxkIGJlICd1bmRlZmluZWQnIGFuZCBpcy4KIENPTlNPTEUgTUVTU0FHRTogVW5zYWZlIEph
dmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wdXQuaHRtbCBmcm9tIGZyYW1lIHdp
dGggVVJMIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvY3Jvc3MtZnJh
bWUtaWZyYW1lLWZvci1wdXQtdGVzdC5odG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRz
IG11c3QgbWF0Y2guCiAKLUFMRVJUOiBQQVNTOiB3aW5kb3cuZnJhbWVFbGVtZW50IHNob3VsZCBi
ZSAndW5kZWZpbmVkJyBhbmQgaXMuCitBTEVSVDogUEFTUzogd2luZG93LmZyYW1lRWxlbWVudCBz
aG91bGQgYmUgJ251bGwnIGFuZCBpcy4KIEFMRVJUOiBQQVNTOiB3aW5kb3cuZnJhbWVzIHNob3Vs
ZCBiZSAnW29iamVjdCBXaW5kb3ddJyBhbmQgaXMuCiBBTEVSVDogUEFTUzogd2luZG93Lmhpc3Rv
cnkgc2hvdWxkIGJlICdbb2JqZWN0IEhpc3RvcnldJyBhbmQgaXMuCiBBTEVSVDogUEFTUzogd2lu
ZG93LmltYWdlcyBzaG91bGQgYmUgJ3VuZGVmaW5lZCcgYW5kIGlzLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>