<?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>100921</bug_id>
          
          <creation_ts>2012-10-31 23:57:38 -0700</creation_ts>
          <short_desc>[Shadow] ShadowRoot should be able to know the existence of &lt;content&gt;</short_desc>
          <delta_ts>2012-11-02 23:40:44 -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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>100451</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Shinya Kawanaka">shinyak</assigned_to>
          <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>755941</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-10-31 23:57:38 -0700</bug_when>
    <thetext>We would like to check whether we have to invalidate distribution when element attribute is changed.
If we know the non-existence of &lt;content&gt;, we can skip traversing the descendants of ShadowRoot to check invalidation necessity.

Larger context is: https://bugs.webkit.org/show_bug.cgi?id=100451</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755945</commentid>
    <comment_count>1</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-01 00:02:08 -0700</bug_when>
    <thetext>We will be able to speed up ShadowRoot::hasInsertionPoint() maybe?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755951</commentid>
    <comment_count>2</comment_count>
      <attachid>171786</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-01 00:16:37 -0700</bug_when>
    <thetext>Created attachment 171786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756035</commentid>
    <comment_count>3</comment_count>
      <attachid>171786</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-01 03:22:12 -0700</bug_when>
    <thetext>Comment on attachment 171786
Patch

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

&gt; Source/WebCore/html/shadow/HTMLContentElement.cpp:104
&gt; +        if (ShadowRoot* root = shadowRoot()) {

Can this be null?

&gt; Source/WebCore/html/shadow/HTMLContentElement.cpp:118
&gt; +            root = insertionPoint-&gt;shadowRoot();

I don&apos;t have confident but this seems wrong. 
insertionPoint can come from outside the shadow subtree. 
Coud you add tests to cover nested shadow subtree case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756795</commentid>
    <comment_count>4</comment_count>
      <attachid>171786</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-01 18:32:12 -0700</bug_when>
    <thetext>Comment on attachment 171786
Patch

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

&gt;&gt; Source/WebCore/html/shadow/HTMLContentElement.cpp:118
&gt;&gt; +            root = insertionPoint-&gt;shadowRoot();
&gt; 
&gt; I don&apos;t have confident but this seems wrong. 
&gt; insertionPoint can come from outside the shadow subtree. 
&gt; Coud you add tests to cover nested shadow subtree case?

Let me check. In that case, &lt;shadow&gt; might have the same bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756824</commentid>
    <comment_count>5</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-01 19:11:16 -0700</bug_when>
    <thetext>I&apos;ve confirmed that insertionPoint can be from the outside of shadow tree.
But in that case, shadowRoot() returns non-null value.

I think this code works as expected, but it&apos;s confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756825</commentid>
    <comment_count>6</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-01 19:13:00 -0700</bug_when>
    <thetext>I mean: when node is removed from ShadowTree, shadowRoot() return null, since we cannot reach ShadowRoot by moving parent-side. Otherwise, we can reach shadowRoot(), so it&apos;s OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756826</commentid>
    <comment_count>7</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-01 19:14:22 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 171786 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=171786&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/shadow/HTMLContentElement.cpp:104
&gt; &gt; +        if (ShadowRoot* root = shadowRoot()) {
&gt; 
&gt; Can this be null?
&gt; 

Since it&apos;s active, this should not be null. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756827</commentid>
    <comment_count>8</comment_count>
      <attachid>171972</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-01 19:15:33 -0700</bug_when>
    <thetext>Created attachment 171972
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757303</commentid>
    <comment_count>9</comment_count>
      <attachid>171972</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-02 10:21:24 -0700</bug_when>
    <thetext>Comment on attachment 171972
Patch

Rejecting attachment 171972 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
webkit-commit-queue/Source/WebKit/chromium/webkit --revision 165669 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
51&gt;At revision 165669.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/14670881</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757901</commentid>
    <comment_count>10</comment_count>
      <attachid>172209</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-02 22:57:26 -0700</bug_when>
    <thetext>Created attachment 172209
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757910</commentid>
    <comment_count>11</comment_count>
      <attachid>172209</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-02 23:40:40 -0700</bug_when>
    <thetext>Comment on attachment 172209
Patch for landing

Clearing flags on attachment: 172209

Committed r133392: &lt;http://trac.webkit.org/changeset/133392&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757911</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-02 23:40:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171786</attachid>
            <date>2012-11-01 00:16:37 -0700</date>
            <delta_ts>2012-11-01 19:15:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100921-20121101161459.patch</filename>
            <type>text/plain</type>
            <size>13349</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzJmZWE0NDcyZjNhMTU4
MzViN2VmYzU1MGI5Mjg2MmNlZjU5NzMyOC4uZjYyMzRiNzRhY2MzY2I4ZWRlNGNkZDc3Y2JkMjI5
NzE5NTUxMDliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTExLTAxICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBT
aGFkb3dSb290IHNob3VsZCBiZSBhYmxlIHRvIGtub3cgdGhlIGV4aXN0ZW5jZSBvZiA8Y29udGVu
dD4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDky
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4g
PGNvbnRlbnQ+IGlzIGluc2VydGVkIGludG8gb3IgcmVtb3ZlZCBmcm9tIGEgc2hhZG93IHN1YnRy
ZWUsIFNoYWRvd1Jvb3QgY291bnRzIHRoZSBudW1iZXIgb2YgPGNvbnRlbnQ+LgorICAgICAgICBJ
dCBwcm92aWRlcyBPKDEpIG1ldGhvZCB0byBjaGVjayB0aGUgZXhpc3RlbmNlIG9mIDxjb250ZW50
Pi4KKworICAgICAgICBUaGlzIGlzIG5lY2Vzc2FyeSB3aGVuIHdlIGltcGxlbWVudCBhIGZhc3Qg
Y2hlY2tpbmcgcGF0aCBmb3IgZGlzdHJpYnV0aW9uIGludmFsaWRhdGlvbiB3aGVuIGFuIGVsZW1l
bnQgYXR0cmlidXRlCisgICAgICAgIGlzIGNoYW5nZWQuIExhcmdlciBjb250ZXh0IGlzIGV4cGxh
aW5lZCBpbiBCdWcgMTAwNDUxLgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2Yg
dGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1
bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZG9tL3NoYWRvdy9oYXMtY29udGVudC1lbGVtZW50cy5odG1sCisKKyAgICAgICAgKiBkb20vU2hh
ZG93Um9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpTaGFkb3dSb290KToK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6Omhhc0luc2VydGlvblBvaW50KTogU2luY2Ug
d2UgdHJhY2sgYm90aCA8Y29udGVudD4gYW5kIDxzaGFkb3c+LCB3ZSBkb24ndCBuZWVkIHRvIHRy
YXZlcnNlCisgICAgICAgIGFsbCB0aGUgZGVzY2VuZGFudHMgb2YgU2hhZG93Um9vdCBhbnltb3Jl
LgorICAgICAgICAqIGRvbS9TaGFkb3dSb290Lmg6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dS
b290OjpyZWdpc3RlckNvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jv
b3Q6OnVucmVnaXN0ZXJDb250ZW50RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dS
b290OjpoYXNDb250ZW50RWxlbWVudCk6CisgICAgICAgIChTaGFkb3dSb290KToKKyAgICAgICAg
KiBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTENvbnRlbnRFbGVtZW50OjpIVE1MQ29udGVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTENvbnRlbnRFbGVtZW50OjppbnNlcnRlZEludG8pOiBXaGVuIDxjb250ZW50PiBpcyBp
bnNlcnRlZCBpbnRvIFNoYWRvd0RPTSBzdWJ0cmVlLAorICAgICAgICB3ZSBub3RpZnkgaXQgdG8g
dGhlIFNoYWRvd1Jvb3QuIE5vdGUgdGhhdCBvbmx5IGFjdGl2ZSA8Y29udGVudD4gZWxlbWVudCBp
cyBjb3VudGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29u
dGVudEVsZW1lbnQ6OnJlbW92ZWRGcm9tKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29u
dGVudEVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpoYXND
b250ZW50RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5pZGw6CisKIDIwMTItMTAtMzEgIEFsZWMgRmxldHQgIDxhbGVjZmxldHRAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogYWRkIG1ldGhvZHMgdG8gc3VwcG9ydCBpZC1iYXNl
ZCBiYWNrZW5kIEFQSXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAppbmRleCBlMTg4NGUwNGEx
OTQxYzM0YjZhYTBjNDhmZDY1ZmI2ODZjZTYyM2FkLi5jZDFkN2QzNDQwYzU3MWU0N2E0ZmUwYTNm
YjZkZmZkYjBlYjdlY2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9v
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCkBAIC01Nyw2ICs1
Nyw3IEBAIFNoYWRvd1Jvb3Q6OlNoYWRvd1Jvb3QoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICwg
bV9yZXNldFN0eWxlSW5oZXJpdGFuY2UoZmFsc2UpCiAgICAgLCBtX2luc2VydGlvblBvaW50QXNz
aWduZWRUbygwKQogICAgICwgbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbigwKQorICAg
ICwgbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW4oMCkKICAgICAsIG1fbnVtYmVyT2ZT
dHlsZXMoMCkKIHsKICAgICBBU1NFUlQoZG9jdW1lbnQpOwpAQCAtMTk4LDEyICsxOTksNyBAQCBF
bGVtZW50U2hhZG93KiBTaGFkb3dSb290Ojpvd25lcigpIGNvbnN0CiAKIGJvb2wgU2hhZG93Um9v
dDo6aGFzSW5zZXJ0aW9uUG9pbnQoKSBjb25zdAogewotICAgIGZvciAoTm9kZSogbiA9IGZpcnN0
Q2hpbGQoKTsgbjsgbiA9IG4tPnRyYXZlcnNlTmV4dE5vZGUodGhpcykpIHsKLSAgICAgICAgaWYg
KGlzSW5zZXJ0aW9uUG9pbnQobikpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0K
LSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIGhhc1NoYWRvd0luc2VydGlvblBvaW50KCkg
fHwgaGFzQ29udGVudEVsZW1lbnQoKTsKIH0KIAogYm9vbCBTaGFkb3dSb290OjphcHBseUF1dGhv
clN0eWxlcygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9v
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAppbmRleCBjYzA4OTU1NDk0ZDc1
YzY4NThjNWE4ODE0YjBhZTQyYmYzMGI2OThhLi5jY2EyNDkxZmFjOWI1YzE5OTQ5ZDFjNjBjMzZh
NzdmYWE5NTExMjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKQEAgLTkxLDYgKzkxLDEwIEBA
IHB1YmxpYzoKICAgICB2b2lkIHVucmVnaXN0ZXJTaGFkb3dFbGVtZW50KCkgeyAtLW1fbnVtYmVy
T2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW47IH0KICAgICBib29sIGhhc1NoYWRvd0luc2VydGlvblBv
aW50KCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbiA+IDA7
IH0KIAorICAgIHZvaWQgcmVnaXN0ZXJDb250ZW50RWxlbWVudCgpIHsgKyttX251bWJlck9mQ29u
dGVudEVsZW1lbnRDaGlsZHJlbjsgfQorICAgIHZvaWQgdW5yZWdpc3RlckNvbnRlbnRFbGVtZW50
KCkgeyAtLW1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuOyB9CisgICAgYm9vbCBoYXND
b250ZW50RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENo
aWxkcmVuID4gMDsgfQorCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2NvcGVkSFRNTFN0eWxl
Q2hpbGQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclNjb3BlZEhUTUxT
dHlsZUNoaWxkKCkgT1ZFUlJJREU7CiAKQEAgLTExNCw2ICsxMTgsNyBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9yZXNldFN0eWxlSW5oZXJpdGFuY2UgOiAxOwogICAgIEluc2VydGlvblBvaW50KiBt
X2luc2VydGlvblBvaW50QXNzaWduZWRUbzsKICAgICBzaXplX3QgbV9udW1iZXJPZlNoYWRvd0Vs
ZW1lbnRDaGlsZHJlbjsKKyAgICBzaXplX3QgbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRy
ZW47CiAgICAgc2l6ZV90IG1fbnVtYmVyT2ZTdHlsZXM7CiAKICNpZm5kZWYgTkRFQlVHCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcAppbmRl
eCBkZWM5ZTA4ZjdiNmEyZDA4YzlkMTAyNDUwNDk1NDdhNWFhNmE1ZGZkLi43YjI5Y2M4ZWViMTEy
N2ZkZDkwODY4NzRlOGYyN2Y0ZjIyODM3ZWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKQEAgLTYzLDYgKzYzLDcgQEAgUGFzc1Jl
ZlB0cjxIVE1MQ29udGVudEVsZW1lbnQ+IEhUTUxDb250ZW50RWxlbWVudDo6Y3JlYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIHQKIAogSFRNTENvbnRlbnRFbGVtZW50OjpIVE1MQ29udGVudEVsZW1l
bnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDog
SW5zZXJ0aW9uUG9pbnQobmFtZSwgZG9jdW1lbnQpCisgICAgLCBtX3JlZ2lzdGVyZWRXaXRoU2hh
ZG93Um9vdChmYWxzZSkKIHsKIH0KIApAQCAtOTUsNCArOTYsMzEgQEAgdm9pZCBIVE1MQ29udGVu
dEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlKQogICAg
ICAgICBJbnNlcnRpb25Qb2ludDo6cGFyc2VBdHRyaWJ1dGUoYXR0cmlidXRlKTsKIH0KIAorTm9k
ZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBIVE1MQ29udGVudEVsZW1lbnQ6Omluc2Vy
dGVkSW50byhDb250YWluZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkKK3sKKyAgICBJbnNlcnRpb25Q
b2ludDo6aW5zZXJ0ZWRJbnRvKGluc2VydGlvblBvaW50KTsKKworICAgIGlmIChpbnNlcnRpb25Q
b2ludC0+aW5Eb2N1bWVudCgpICYmIGlzQWN0aXZlKCkpIHsKKyAgICAgICAgaWYgKFNoYWRvd1Jv
b3QqIHJvb3QgPSBzaGFkb3dSb290KCkpIHsKKyAgICAgICAgICAgIHJvb3QtPnJlZ2lzdGVyQ29u
dGVudEVsZW1lbnQoKTsKKyAgICAgICAgICAgIG1fcmVnaXN0ZXJlZFdpdGhTaGFkb3dSb290ID0g
dHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBJbnNlcnRpb25Eb25lOworfQor
Cit2b2lkIEhUTUxDb250ZW50RWxlbWVudDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSogaW5z
ZXJ0aW9uUG9pbnQpCit7CisgICAgaWYgKGluc2VydGlvblBvaW50LT5pbkRvY3VtZW50KCkgJiYg
bV9yZWdpc3RlcmVkV2l0aFNoYWRvd1Jvb3QpIHsKKyAgICAgICAgU2hhZG93Um9vdCogcm9vdCA9
IHNoYWRvd1Jvb3QoKTsKKyAgICAgICAgaWYgKCFyb290KQorICAgICAgICAgICAgcm9vdCA9IGlu
c2VydGlvblBvaW50LT5zaGFkb3dSb290KCk7CisgICAgICAgIGlmIChyb290KQorICAgICAgICAg
ICAgcm9vdC0+dW5yZWdpc3RlckNvbnRlbnRFbGVtZW50KCk7CisgICAgICAgIG1fcmVnaXN0ZXJl
ZFdpdGhTaGFkb3dSb290ID0gZmFsc2U7CisgICAgfQorICAgIEluc2VydGlvblBvaW50OjpyZW1v
dmVkRnJvbShpbnNlcnRpb25Qb2ludCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmgKaW5kZXggNzU0Nzk5MzA2MjU3M2NlNzMwNTZj
ZWM1Mzc1MGNkNDMzYjQ1YmRjYy4uMmEzYTMyY2VhNTU5MjllODdjZTcxYmFjNzNiNzg2NGM3OTBm
MGZmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVt
ZW50LmgKQEAgLTUxLDggKzUxLDEzIEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBIVE1MQ29u
dGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKKyAgICB2aXJ0
dWFsIEluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgaW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5v
ZGUqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb20oQ29udGFpbmVyTm9k
ZSopIE9WRVJSSURFOworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwYXJzZUF0dHJpYnV0
ZShjb25zdCBBdHRyaWJ1dGUmKSBPVkVSUklERTsKKworICAgIGJvb2wgbV9yZWdpc3RlcmVkV2l0
aFNoYWRvd1Jvb3Q7CiB9OwogCiBpbmxpbmUgYm9vbCBpc0hUTUxDb250ZW50RWxlbWVudChjb25z
dCBOb2RlKiBub2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDgyOWNm
ZjU3Yzg4MmVmODE0NmJiZGZlMjlkMDYyZWViNWRhMmNjNTYuLmM3YmQ0YjhmZTNkZGRlMzFhMDY2
MjllZmUwNzA1NTY5MTExNTM2Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
QEAgLTMxNSw2ICszMTUsMTUgQEAgYm9vbCBJbnRlcm5hbHM6Omhhc1NoYWRvd0luc2VydGlvblBv
aW50KGNvbnN0IE5vZGUqIHJvb3QsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb24KICAgICByZXR1cm4g
MDsKIH0KIAorYm9vbCBJbnRlcm5hbHM6Omhhc0NvbnRlbnRFbGVtZW50KGNvbnN0IE5vZGUqIHJv
b3QsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmIChyb290ICYmIHJvb3QtPmlz
U2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm4gdG9TaGFkb3dSb290KHJvb3QpLT5oYXNDb250
ZW50RWxlbWVudCgpOworCisgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgcmV0dXJu
IDA7Cit9CisKIGJvb2wgSW50ZXJuYWxzOjphdHRhY2hlZChOb2RlKiBub2RlLCBFeGNlcHRpb25D
b2RlJiBlYykKIHsKICAgICBpZiAoIW5vZGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CmluZGV4IGU4MTI3ODUwMzU5OGJkMjU3NWQ5MzY1YmY1MDRmNWI0OTNiOWZiNGUuLjQ1NzA5MmU4
NzQwNGFjN2Q3NWQ3M2E4MWVlY2RhMDA2YjUyOTcyMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaApAQCAtODQsNiArODQsNyBAQCBwdWJsaWM6CiAgICAgU2hhZG93Um9vdElmU2hhZG93
RE9NRW5hYmxlZE9yTm9kZSogeW91bmdlclNoYWRvd1Jvb3QoTm9kZSogc2hhZG93LCBFeGNlcHRp
b25Db2RlJik7CiAgICAgU2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9kZSogb2xkZXJT
aGFkb3dSb290KE5vZGUqIHNoYWRvdywgRXhjZXB0aW9uQ29kZSYpOwogICAgIGJvb2wgaGFzU2hh
ZG93SW5zZXJ0aW9uUG9pbnQoY29uc3QgTm9kZSosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAg
ICBib29sIGhhc0NvbnRlbnRFbGVtZW50KGNvbnN0IE5vZGUqLCBFeGNlcHRpb25Db2RlJikgY29u
c3Q7CiAgICAgRWxlbWVudCogaW5jbHVkZXJGb3IoTm9kZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAg
ICBTdHJpbmcgc2hhZG93UHNldWRvSWQoRWxlbWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2
b2lkIHNldFNoYWRvd1BzZXVkb0lkKEVsZW1lbnQqLCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25D
b2RlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggMTZlYzFmODBlOWUw
YjUwMjNhZmMwNmY2Mzk3NDllMTVjNDAzMjJhNS4uNzE3MDkxNDlhNTg4ZjAxYmYzOTlkZjFhMTdh
YTJlNzY4MTViNDU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtNDgs
NiArNDgsNyBAQAogICAgIE5vZGUgeW91bmdlclNoYWRvd1Jvb3QoaW4gTm9kZSByb290KSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CiAjZW5kaWYKICAgICBib29sZWFuIGhhc1NoYWRvd0luc2VydGlv
blBvaW50KGluIE5vZGUgcm9vdCkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIGJvb2xlYW4g
aGFzQ29udGVudEVsZW1lbnQoaW4gTm9kZSByb290KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAg
ICAgRWxlbWVudCBpbmNsdWRlckZvcihpbiBOb2RlIG5vZGUpIHJhaXNlcyAoRE9NRXhjZXB0aW9u
KTsKICAgICBET01TdHJpbmcgc2hhZG93UHNldWRvSWQoaW4gRWxlbWVudCBlbGVtZW50KSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgdm9pZCBzZXRTaGFkb3dQc2V1ZG9JZChpbiBFbGVtZW50
IGVsZW1lbnQsIGluIERPTVN0cmluZyBpZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDhkOGUwY2JkNGE3YWM1MzdkNTdiYWJiYTRhMzVjYmEwZDIzZTlmNTYuLjE3ZDVhMzU2NTJhYTE5
NGE4YWJkYjdhMzNjMmVlOTA4NmM0ODQxOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0x
MS0wMSAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
W1NoYWRvd10gU2hhZG93Um9vdCBzaG91bGQgYmUgYWJsZSB0byBrbm93IHRoZSBleGlzdGVuY2Ug
b2YgPGNvbnRlbnQ+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDA5MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVudC1lbGVtZW50cy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVudC1lbGVtZW50cy5o
dG1sOiBBZGRlZC4KKwogMjAxMi0xMC0zMSAgQmVhciBUcmF2aXMgIDxiZXRyYXZpc0BhZG9iZS5j
b20+CiAKICAgICAgICAgW0NTUyBFeGNsdXNpb25zXSBUZXN0IHRoYXQgZHluYW1pY2FsbHkgc2V0
dGluZyBzaGFwZS1pbnNpZGUgY2F1c2VzIHJlbGF5b3V0IGluIGNoaWxkIGVsZW1lbnRzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLWNvbnRlbnQtZWxlbWVudHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1jb250ZW50LWVs
ZW1lbnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZGMyNDJmOTk2N2E1ZWRhYTBhNGVhYmY1
ZjFlMzBkMjBlMDNiNDlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L2hhcy1jb250ZW50LWVsZW1lbnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBA
CitUZXN0IGZvciBCdWcgMTAwOTIxOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAwOTIxIC0gW1NoYWRvd10gU2hhZG93Um9vdCBzaG91bGQgYmUgYWJsZSB0byBrbm93
IHRoZSBleGlzdGVuY2Ugb2YgPGNvbnRlbnQ+CisKK1BBU1MgaW50ZXJuYWxzLmhhc0NvbnRlbnRF
bGVtZW50KHNoYWRvd1Jvb3QpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50RWxl
bWVudChzaGFkb3dSb290KSBpcyB0cnVlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50RWxlbWVu
dChzaGFkb3dSb290KSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQo
c2hhZG93Um9vdCkgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNo
YWRvd1Jvb3QpIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRv
d1Jvb3QpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50RWxlbWVudChzaGFkb3dS
b290KSBpcyB0cnVlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50RWxlbWVudChzaGFkb3dSb290
KSBpcyB0cnVlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50RWxlbWVudCh5b3VuZ2VyU2hhZG93
Um9vdCkgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jv
b3QpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50RWxlbWVudCh5b3VuZ2VyU2hh
ZG93Um9vdCkgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRv
d1Jvb3QpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50RWxlbWVudCh5b3VuZ2Vy
U2hhZG93Um9vdCkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9o
YXMtY29udGVudC1lbGVtZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hh
cy1jb250ZW50LWVsZW1lbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzA0MmJkMDdjOWUwNjE5ODc1OTRl
NmI5ZmQwNzcwOTM5MDc1ZjgyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9oYXMtY29udGVudC1lbGVtZW50cy5odG1sCkBAIC0wLDAgKzEsNjIgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9w
b2x5ZmlsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgoraWYgKCF3aW5kb3cuaW50ZXJuYWxzKQor
ICAgIGRlYnVnKCJ3aW5kb3dzLmludGVybmFscyBub3QgZm91bmQhIik7CitlbHNlIGlmICghd2lu
ZG93LmludGVybmFscy5oYXNDb250ZW50RWxlbWVudCkKKyAgICBkZWJ1Zygid2luZG93cy5pbnRl
cm5hbHMuaGFzQ29udGVudEVsZW1lbnQgbm90IGZvdW5kISIpOworPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKworPHA+VGVzdCBmb3IgQnVnIDEwMDkyMTogPGEgaHJlZj0iaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDkyMSI+aHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMDkyMTwvYT4gLSBbU2hhZG93XSBTaGFkb3dSb290IHNob3Vs
ZCBiZSBhYmxlIHRvIGtub3cgdGhlIGV4aXN0ZW5jZSBvZiAmbHQ7Y29udGVudCZndDs8L3A+CisK
KzxkaXYgaWQ9Imhvc3QiPjwvZGl2PgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+CisKKzxzY3Jp
cHQ+Cit2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJob3N0Iik7Cit2YXIgc2hh
ZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworCitzaG91bGRCZUZhbHNlKCJp
bnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsKKwordmFyIGRpdiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworZGl2LmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImNvbnRlbnQiKSk7CitzaGFkb3dSb290LmFwcGVuZENoaWxkKGRpdik7Citz
aG91bGRCZVRydWUoImludGVybmFscy5oYXNDb250ZW50RWxlbWVudChzaGFkb3dSb290KSIpOwor
CitzaGFkb3dSb290LnJlbW92ZUNoaWxkKGRpdik7CitzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMu
aGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsKKworc2hhZG93Um9vdC5pbm5lckhUTUwg
PSAiPGRpdj5ObyBJbnNlcnRpb24gUG9pbnRzPC9kaXY+IjsKK3Nob3VsZEJlRmFsc2UoImludGVy
bmFscy5oYXNDb250ZW50RWxlbWVudChzaGFkb3dSb290KSIpOworCitzaGFkb3dSb290LmlubmVy
SFRNTCA9ICI8Y29udGVudD48L2NvbnRlbnQ+IjsKK3Nob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmhh
c0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIik7CisKK3NoYWRvd1Jvb3QuaW5uZXJIVE1MID0g
IjxzaGFkb3c+PC9zaGFkb3c+IjsKK3Nob3VsZEJlRmFsc2UoImludGVybmFscy5oYXNDb250ZW50
RWxlbWVudChzaGFkb3dSb290KSIpOworCitzaGFkb3dSb290LmlubmVySFRNTCA9ICI8ZGl2Pjxk
aXY+PGRpdj48Y29udGVudD48L2NvbnRlbnQ+PC9kaXY+PC9kaXY+PC9kaXY+IjsKK3Nob3VsZEJl
VHJ1ZSgiaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIik7CisKK3ZhciB5
b3VuZ2VyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworLy8gTW9kaWZ5
aW5nIG9sZGVyIHNoYWRvdyByb290IG9yIHlvdW5nZXIgc2hhZG93IHJvb3QgZG9lc24ndCBhZmZl
Y3QgdGhlIG90aGVyLgorc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQo
c2hhZG93Um9vdCkiKTsKK3Nob3VsZEJlRmFsc2UoImludGVybmFscy5oYXNDb250ZW50RWxlbWVu
dCh5b3VuZ2VyU2hhZG93Um9vdCkiKTsKKworc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRv
dz48L3NoYWRvdz4iOworc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50
KHNoYWRvd1Jvb3QpIik7CitzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1l
bnQoeW91bmdlclNoYWRvd1Jvb3QpIik7CisKK3lvdW5nZXJTaGFkb3dSb290LmlubmVySFRNTCA9
ICI8Y29udGVudD48L2NvbnRlbnQ+IjsKK3Nob3VsZEJlRmFsc2UoImludGVybmFscy5oYXNDb250
ZW50RWxlbWVudChzaGFkb3dSb290KSIpOworc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaGFzQ29u
dGVudEVsZW1lbnQoeW91bmdlclNoYWRvd1Jvb3QpIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171972</attachid>
            <date>2012-11-01 19:15:33 -0700</date>
            <delta_ts>2012-11-02 22:57:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100921-20121102111354.patch</filename>
            <type>text/plain</type>
            <size>14399</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjkzNTg3MjRkMjNkYmRj
OTkwM2U0ZWEyYjNmNmQyZjhkZDk0M2U5Zi4uNTY4MDZkZjgzMWRhYmNhMzQ5ZGI5YzA5MGZkZDdj
NGI2YzI3N2JmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTExLTAxICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBT
aGFkb3dSb290IHNob3VsZCBiZSBhYmxlIHRvIGtub3cgdGhlIGV4aXN0ZW5jZSBvZiA8Y29udGVu
dD4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDky
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4g
PGNvbnRlbnQ+IGlzIGluc2VydGVkIGludG8gb3IgcmVtb3ZlZCBmcm9tIGEgc2hhZG93IHN1YnRy
ZWUsIFNoYWRvd1Jvb3QgY291bnRzIHRoZSBudW1iZXIgb2YgPGNvbnRlbnQ+LgorICAgICAgICBJ
dCBwcm92aWRlcyBPKDEpIG1ldGhvZCB0byBjaGVjayB0aGUgZXhpc3RlbmNlIG9mIDxjb250ZW50
Pi4KKworICAgICAgICBUaGlzIGlzIG5lY2Vzc2FyeSB3aGVuIHdlIGltcGxlbWVudCBhIGZhc3Qg
Y2hlY2tpbmcgcGF0aCBmb3IgZGlzdHJpYnV0aW9uIGludmFsaWRhdGlvbiB3aGVuIGFuIGVsZW1l
bnQgYXR0cmlidXRlCisgICAgICAgIGlzIGNoYW5nZWQuIExhcmdlciBjb250ZXh0IGlzIGV4cGxh
aW5lZCBpbiBCdWcgMTAwNDUxLgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2Yg
dGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1
bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZG9tL3NoYWRvdy9oYXMtY29udGVudC1lbGVtZW50cy5odG1sCisKKyAgICAgICAgKiBkb20vU2hh
ZG93Um9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpTaGFkb3dSb290KToK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6Omhhc0luc2VydGlvblBvaW50KTogU2luY2Ug
d2UgdHJhY2sgYm90aCA8Y29udGVudD4gYW5kIDxzaGFkb3c+LCB3ZSBkb24ndCBuZWVkIHRvIHRy
YXZlcnNlCisgICAgICAgIGFsbCB0aGUgZGVzY2VuZGFudHMgb2YgU2hhZG93Um9vdCBhbnltb3Jl
LgorICAgICAgICAqIGRvbS9TaGFkb3dSb290Lmg6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dS
b290OjpyZWdpc3RlckNvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jv
b3Q6OnVucmVnaXN0ZXJDb250ZW50RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dS
b290OjpoYXNDb250ZW50RWxlbWVudCk6CisgICAgICAgIChTaGFkb3dSb290KToKKyAgICAgICAg
KiBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTENvbnRlbnRFbGVtZW50OjpIVE1MQ29udGVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTENvbnRlbnRFbGVtZW50OjppbnNlcnRlZEludG8pOiBXaGVuIDxjb250ZW50PiBpcyBp
bnNlcnRlZCBpbnRvIFNoYWRvd0RPTSBzdWJ0cmVlLAorICAgICAgICB3ZSBub3RpZnkgaXQgdG8g
dGhlIFNoYWRvd1Jvb3QuIE5vdGUgdGhhdCBvbmx5IGFjdGl2ZSA8Y29udGVudD4gZWxlbWVudCBp
cyBjb3VudGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29u
dGVudEVsZW1lbnQ6OnJlbW92ZWRGcm9tKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29u
dGVudEVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxDb250ZW50RWxlbWVudCk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpoYXND
b250ZW50RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5pZGw6CisKIDIwMTItMTEtMDEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
IAogICAgICAgICBbVjhdIEdlbmVyYWxpemUgTm9kZVdyYXBwZXJNYXAgdG8gYmUgYWJsZSB0byBo
YW5kbGUgb3RoZXIgc29ydHMgb2Yga2V5cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1NoYWRvd1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCmluZGV4
IGUxODg0ZTA0YTE5NDFjMzRiNmFhMGM0OGZkNjVmYjY4NmNlNjIzYWQuLmNkMWQ3ZDM0NDBjNTcx
ZTQ3YTRmZTBhM2ZiNmRmZmRiMGViN2VjYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TaGFkb3dSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAK
QEAgLTU3LDYgKzU3LDcgQEAgU2hhZG93Um9vdDo6U2hhZG93Um9vdChEb2N1bWVudCogZG9jdW1l
bnQpCiAgICAgLCBtX3Jlc2V0U3R5bGVJbmhlcml0YW5jZShmYWxzZSkKICAgICAsIG1faW5zZXJ0
aW9uUG9pbnRBc3NpZ25lZFRvKDApCiAgICAgLCBtX251bWJlck9mU2hhZG93RWxlbWVudENoaWxk
cmVuKDApCisgICAgLCBtX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbigwKQogICAgICwg
bV9udW1iZXJPZlN0eWxlcygwKQogewogICAgIEFTU0VSVChkb2N1bWVudCk7CkBAIC0xOTgsMTIg
KzE5OSw3IEBAIEVsZW1lbnRTaGFkb3cqIFNoYWRvd1Jvb3Q6Om93bmVyKCkgY29uc3QKIAogYm9v
bCBTaGFkb3dSb290OjpoYXNJbnNlcnRpb25Qb2ludCgpIGNvbnN0CiB7Ci0gICAgZm9yIChOb2Rl
KiBuID0gZmlyc3RDaGlsZCgpOyBuOyBuID0gbi0+dHJhdmVyc2VOZXh0Tm9kZSh0aGlzKSkgewot
ICAgICAgICBpZiAoaXNJbnNlcnRpb25Qb2ludChuKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVl
OwotICAgIH0KLQotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gaGFzU2hhZG93SW5zZXJ0
aW9uUG9pbnQoKSB8fCBoYXNDb250ZW50RWxlbWVudCgpOwogfQogCiBib29sIFNoYWRvd1Jvb3Q6
OmFwcGx5QXV0aG9yU3R5bGVzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TaGFkb3dSb290LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCmluZGV4IGNj
MDg5NTU0OTRkNzVjNjg1OGM1YTg4MTRiMGFlNDJiZjMwYjY5OGEuLmNjYTI0OTFmYWM5YjVjMTk5
NDlkMWM2MGMzNmE3N2ZhYTk1MTEyOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
aGFkb3dSb290LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaApAQCAtOTEs
NiArOTEsMTAgQEAgcHVibGljOgogICAgIHZvaWQgdW5yZWdpc3RlclNoYWRvd0VsZW1lbnQoKSB7
IC0tbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbjsgfQogICAgIGJvb2wgaGFzU2hhZG93
SW5zZXJ0aW9uUG9pbnQoKSBjb25zdCB7IHJldHVybiBtX251bWJlck9mU2hhZG93RWxlbWVudENo
aWxkcmVuID4gMDsgfQogCisgICAgdm9pZCByZWdpc3RlckNvbnRlbnRFbGVtZW50KCkgeyArK21f
bnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuOyB9CisgICAgdm9pZCB1bnJlZ2lzdGVyQ29u
dGVudEVsZW1lbnQoKSB7IC0tbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW47IH0KKyAg
ICBib29sIGhhc0NvbnRlbnRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZkNvbnRl
bnRFbGVtZW50Q2hpbGRyZW4gPiAwOyB9CisKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTY29w
ZWRIVE1MU3R5bGVDaGlsZCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVy
U2NvcGVkSFRNTFN0eWxlQ2hpbGQoKSBPVkVSUklERTsKIApAQCAtMTE0LDYgKzExOCw3IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX3Jlc2V0U3R5bGVJbmhlcml0YW5jZSA6IDE7CiAgICAgSW5zZXJ0
aW9uUG9pbnQqIG1faW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvOwogICAgIHNpemVfdCBtX251bWJl
ck9mU2hhZG93RWxlbWVudENoaWxkcmVuOworICAgIHNpemVfdCBtX251bWJlck9mQ29udGVudEVs
ZW1lbnRDaGlsZHJlbjsKICAgICBzaXplX3QgbV9udW1iZXJPZlN0eWxlczsKIAogI2lmbmRlZiBO
REVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1l
bnQuY3BwCmluZGV4IGRlYzllMDhmN2I2YTJkMDhjOWQxMDI0NTA0OTU0N2E1YWE2YTVkZmQuLmMw
YjliYmE4MDVhZDI1Y2NlNTgyN2YxZDQwMDc0MzIzY2IwYzU0NzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcApAQCAtNjMsNiArNjMs
NyBAQCBQYXNzUmVmUHRyPEhUTUxDb250ZW50RWxlbWVudD4gSFRNTENvbnRlbnRFbGVtZW50Ojpj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdAogCiBIVE1MQ29udGVudEVsZW1lbnQ6OkhUTUxD
b250ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBEb2N1bWVudCogZG9jdW1l
bnQpCiAgICAgOiBJbnNlcnRpb25Qb2ludChuYW1lLCBkb2N1bWVudCkKKyAgICAsIG1fcmVnaXN0
ZXJlZFdpdGhTaGFkb3dSb290KGZhbHNlKQogewogfQogCkBAIC05NSw0ICs5NiwyOSBAQCB2b2lk
IEhUTUxDb250ZW50RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRy
aWJ1dGUpCiAgICAgICAgIEluc2VydGlvblBvaW50OjpwYXJzZUF0dHJpYnV0ZShhdHRyaWJ1dGUp
OwogfQogCitOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IEhUTUxDb250ZW50RWxl
bWVudDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqIGluc2VydGlvblBvaW50KQoreworICAg
IEluc2VydGlvblBvaW50OjppbnNlcnRlZEludG8oaW5zZXJ0aW9uUG9pbnQpOworCisgICAgaWYg
KGluc2VydGlvblBvaW50LT5pbkRvY3VtZW50KCkgJiYgaXNBY3RpdmUoKSkgeworICAgICAgICBz
aGFkb3dSb290KCktPnJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKTsKKyAgICAgICAgbV9yZWdpc3Rl
cmVkV2l0aFNoYWRvd1Jvb3QgPSB0cnVlOworICAgIH0KKworICAgIHJldHVybiBJbnNlcnRpb25E
b25lOworfQorCit2b2lkIEhUTUxDb250ZW50RWxlbWVudDo6cmVtb3ZlZEZyb20oQ29udGFpbmVy
Tm9kZSogaW5zZXJ0aW9uUG9pbnQpCit7CisgICAgaWYgKGluc2VydGlvblBvaW50LT5pbkRvY3Vt
ZW50KCkgJiYgbV9yZWdpc3RlcmVkV2l0aFNoYWRvd1Jvb3QpIHsKKyAgICAgICAgU2hhZG93Um9v
dCogcm9vdCA9IHNoYWRvd1Jvb3QoKTsKKyAgICAgICAgaWYgKCFyb290KQorICAgICAgICAgICAg
cm9vdCA9IGluc2VydGlvblBvaW50LT5zaGFkb3dSb290KCk7CisgICAgICAgIGlmIChyb290KQor
ICAgICAgICAgICAgcm9vdC0+dW5yZWdpc3RlckNvbnRlbnRFbGVtZW50KCk7CisgICAgICAgIG1f
cmVnaXN0ZXJlZFdpdGhTaGFkb3dSb290ID0gZmFsc2U7CisgICAgfQorICAgIEluc2VydGlvblBv
aW50OjpyZW1vdmVkRnJvbShpbnNlcnRpb25Qb2ludCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmgKaW5kZXggNzU0Nzk5MzA2MjU3
M2NlNzMwNTZjZWM1Mzc1MGNkNDMzYjQ1YmRjYy4uMmEzYTMyY2VhNTU5MjllODdjZTcxYmFjNzNi
Nzg2NGM3OTBmMGZmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRN
TENvbnRlbnRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENv
bnRlbnRFbGVtZW50LmgKQEAgLTUxLDggKzUxLDEzIEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAg
ICBIVE1MQ29udGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAK
KyAgICB2aXJ0dWFsIEluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgaW5zZXJ0ZWRJbnRvKENv
bnRhaW5lck5vZGUqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb20oQ29u
dGFpbmVyTm9kZSopIE9WRVJSSURFOworCiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwYXJz
ZUF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmKSBPVkVSUklERTsKKworICAgIGJvb2wgbV9yZWdp
c3RlcmVkV2l0aFNoYWRvd1Jvb3Q7CiB9OwogCiBpbmxpbmUgYm9vbCBpc0hUTUxDb250ZW50RWxl
bWVudChjb25zdCBOb2RlKiBub2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmlu
ZGV4IGIzN2I4NGM1MjQzY2Y1ZTgxYjFlZjA3MWIzYTI2OGM0YmQyOTlmNjcuLjVhNjUyOGEwMDg4
MzUwZWUyYjJkZGZmYmE5NmVkYzQxYzZlMzUxOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKQEAgLTMxNSw2ICszMTUsMTUgQEAgYm9vbCBJbnRlcm5hbHM6Omhhc1NoYWRvd0lu
c2VydGlvblBvaW50KGNvbnN0IE5vZGUqIHJvb3QsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb24KICAg
ICByZXR1cm4gMDsKIH0KIAorYm9vbCBJbnRlcm5hbHM6Omhhc0NvbnRlbnRFbGVtZW50KGNvbnN0
IE5vZGUqIHJvb3QsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmIChyb290ICYm
IHJvb3QtPmlzU2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm4gdG9TaGFkb3dSb290KHJvb3Qp
LT5oYXNDb250ZW50RWxlbWVudCgpOworCisgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Cisg
ICAgcmV0dXJuIDA7Cit9CisKIGJvb2wgSW50ZXJuYWxzOjphdHRhY2hlZChOb2RlKiBub2RlLCBF
eGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIW5vZGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCmluZGV4IDY3MjdkMTc1YzQzYTBkYWNkOWJkODViMDdhY2QwMWMyZWFhYWMwY2Mu
LjUxOTFhZTA2NDY5MTA0NGRjNmM4ODkxNjMyZGNiNWNmNjI0ODdhMmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaApAQCAtODQsNiArODQsNyBAQCBwdWJsaWM6CiAgICAgU2hhZG93Um9v
dElmU2hhZG93RE9NRW5hYmxlZE9yTm9kZSogeW91bmdlclNoYWRvd1Jvb3QoTm9kZSogc2hhZG93
LCBFeGNlcHRpb25Db2RlJik7CiAgICAgU2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9k
ZSogb2xkZXJTaGFkb3dSb290KE5vZGUqIHNoYWRvdywgRXhjZXB0aW9uQ29kZSYpOwogICAgIGJv
b2wgaGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoY29uc3QgTm9kZSosIEV4Y2VwdGlvbkNvZGUmKSBj
b25zdDsKKyAgICBib29sIGhhc0NvbnRlbnRFbGVtZW50KGNvbnN0IE5vZGUqLCBFeGNlcHRpb25D
b2RlJikgY29uc3Q7CiAgICAgRWxlbWVudCogaW5jbHVkZXJGb3IoTm9kZSosIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICBTdHJpbmcgc2hhZG93UHNldWRvSWQoRWxlbWVudCosIEV4Y2VwdGlvbkNvZGUm
KTsKICAgICB2b2lkIHNldFNoYWRvd1BzZXVkb0lkKEVsZW1lbnQqLCBjb25zdCBTdHJpbmcmLCBF
eGNlcHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggMDQ4
NjMyMjY0OGM4ZjAzNjIzN2Q5ZDYxMjYyZTIyMGNjNGZmODljZi4uOGYyZWM5YWNjNmM3ZWRjMDM1
MDJkZTE4NzgwM2IxMjU5Yzg2YWVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlk
bApAQCAtNDgsNiArNDgsNyBAQAogICAgIE5vZGUgeW91bmdlclNoYWRvd1Jvb3QoaW4gTm9kZSBy
b290KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAjZW5kaWYKICAgICBib29sZWFuIGhhc1NoYWRv
d0luc2VydGlvblBvaW50KGluIE5vZGUgcm9vdCkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAg
IGJvb2xlYW4gaGFzQ29udGVudEVsZW1lbnQoaW4gTm9kZSByb290KSByYWlzZXMgKERPTUV4Y2Vw
dGlvbik7CiAgICAgRWxlbWVudCBpbmNsdWRlckZvcihpbiBOb2RlIG5vZGUpIHJhaXNlcyAoRE9N
RXhjZXB0aW9uKTsKICAgICBET01TdHJpbmcgc2hhZG93UHNldWRvSWQoaW4gRWxlbWVudCBlbGVt
ZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgdm9pZCBzZXRTaGFkb3dQc2V1ZG9JZChp
biBFbGVtZW50IGVsZW1lbnQsIGluIERPTVN0cmluZyBpZCkgcmFpc2VzIChET01FeGNlcHRpb24p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDg0YjQzYTQ3ZTYwYzU5MzY0NDA3ZDUyN2M4NzJiNDJiNGFhMTZhYzguLmI3ZGMz
Y2YxYTc4NTQyNTFlMDIxZDU5NTM3NmNjMDYzMTUyMzI4YjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxMi0xMS0wMSAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgW1NoYWRvd10gU2hhZG93Um9vdCBzaG91bGQgYmUgYWJsZSB0byBrbm93IHRoZSBl
eGlzdGVuY2Ugb2YgPGNvbnRlbnQ+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDA5MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVudC1lbGVtZW50cy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVudC1l
bGVtZW50cy5odG1sOiBBZGRlZC4KKwogMjAxMi0xMS0wMSAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWJhc2VsaW5lIHRlc3RzIGxpc3RlZCBpbiBN
YWMgVGVzdEV4cGVjdGF0aW9ucyBhcyBuZWVkaW5nIG5ldyBiYXNlbGluZXMsIG90aGVyIHRoYW4g
dGhvc2UgdGhhdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2hhcy1j
b250ZW50LWVsZW1lbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9oYXMtY29udGVudC1lbGVtZW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM0MDczN2Zl
YzAwNGFiN2RiNmQ5MTY4MGFkNGVjMmFhMmFhYjg1YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVudC1lbGVtZW50cy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyMyBAQAorVGVzdCBmb3IgQnVnIDEwMDkyMTogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDkyMSAtIFtTaGFkb3ddIFNoYWRvd1Jvb3Qgc2hvdWxk
IGJlIGFibGUgdG8ga25vdyB0aGUgZXhpc3RlbmNlIG9mIDxjb250ZW50PgorCitQQVNTIGludGVy
bmFscy5oYXNDb250ZW50RWxlbWVudChzaGFkb3dSb290KSBpcyBmYWxzZQorUEFTUyBpbnRlcm5h
bHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMu
aGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhh
c0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXND
b250ZW50RWxlbWVudChzaGFkb3dSb290KSBpcyB0cnVlCitQQVNTIGludGVybmFscy5oYXNDb250
ZW50RWxlbWVudChzaGFkb3dSb290KSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzQ29udGVu
dEVsZW1lbnQoc2hhZG93Um9vdCkgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMuaGFzQ29udGVudEVs
ZW1lbnQoc2hhZG93Um9vdCkgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVt
ZW50KGlubmVyU2hhZG93Um9vdDEpIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLmhhc0NvbnRlbnRF
bGVtZW50KGlubmVyU2hhZG93Um9vdDIpIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLmhhc0NvbnRl
bnRFbGVtZW50KHNoYWRvd1Jvb3QpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50
RWxlbWVudChzaGFkb3dSb290KSBpcyB0cnVlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50RWxl
bWVudCh5b3VuZ2VyU2hhZG93Um9vdCkgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc0NvbnRl
bnRFbGVtZW50KHNoYWRvd1Jvb3QpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50
RWxlbWVudCh5b3VuZ2VyU2hhZG93Um9vdCkgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc0Nv
bnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNDb250
ZW50RWxlbWVudCh5b3VuZ2VyU2hhZG93Um9vdCkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVudC1lbGVtZW50cy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L2hhcy1jb250ZW50LWVsZW1lbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjYx
NTFlMjhjMzA0NDk0MDdmMDhhZDEwMTJiZDQ5Njg4YWEyODEyNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVudC1lbGVtZW50cy5odG1sCkBA
IC0wLDAgKzEsNzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgoraWYgKCF3
aW5kb3cuaW50ZXJuYWxzKQorICAgIGRlYnVnKCJ3aW5kb3dzLmludGVybmFscyBub3QgZm91bmQh
Iik7CitlbHNlIGlmICghd2luZG93LmludGVybmFscy5oYXNDb250ZW50RWxlbWVudCkKKyAgICBk
ZWJ1Zygid2luZG93cy5pbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQgbm90IGZvdW5kISIpOwor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPHA+VGVzdCBmb3IgQnVnIDEwMDkyMTogPGEg
aHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDkyMSI+aHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDkyMTwvYT4gLSBbU2hhZG93
XSBTaGFkb3dSb290IHNob3VsZCBiZSBhYmxlIHRvIGtub3cgdGhlIGV4aXN0ZW5jZSBvZiAmbHQ7
Y29udGVudCZndDs8L3A+CisKKzxkaXYgaWQ9Imhvc3QiPjwvZGl2PgorPHByZSBpZD0iY29uc29s
ZSI+PC9wcmU+CisKKzxzY3JpcHQ+Cit2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJob3N0Iik7Cit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOwor
CitzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCki
KTsKKwordmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworZGl2LmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNvbnRlbnQiKSk7CitzaGFkb3dSb290LmFw
cGVuZENoaWxkKGRpdik7CitzaG91bGRCZVRydWUoImludGVybmFscy5oYXNDb250ZW50RWxlbWVu
dChzaGFkb3dSb290KSIpOworCitzaGFkb3dSb290LnJlbW92ZUNoaWxkKGRpdik7CitzaG91bGRC
ZUZhbHNlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsKKworc2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAiPGRpdj5ObyBJbnNlcnRpb24gUG9pbnRzPC9kaXY+IjsKK3No
b3VsZEJlRmFsc2UoImludGVybmFscy5oYXNDb250ZW50RWxlbWVudChzaGFkb3dSb290KSIpOwor
CitzaGFkb3dSb290LmlubmVySFRNTCA9ICI8Y29udGVudD48L2NvbnRlbnQ+IjsKK3Nob3VsZEJl
VHJ1ZSgiaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIik7CisKK3NoYWRv
d1Jvb3QuaW5uZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+IjsKK3Nob3VsZEJlRmFsc2UoImlu
dGVybmFscy5oYXNDb250ZW50RWxlbWVudChzaGFkb3dSb290KSIpOworCitzaGFkb3dSb290Lmlu
bmVySFRNTCA9ICI8ZGl2PjxkaXY+PGRpdj48Y29udGVudD48L2NvbnRlbnQ+PC9kaXY+PC9kaXY+
PC9kaXY+IjsKK3Nob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRv
d1Jvb3QpIik7CisKKy8vIENhc2UgZm9yIG5lc3RlZCBzaGFkb3cgc3VidHJlZQorc2hhZG93Um9v
dC5pbm5lckhUTUwgPSAnPGRpdj5pbiBzaGFkb3cgcm9vdDwvZGl2Pic7Cit2YXIgaW5uZXJEaXYx
ID0gc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdkaXYnKTsKK3ZhciBpbm5lclNoYWRvd1Jvb3Qx
ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW5uZXJEaXYxKTsKK2lubmVyU2hhZG93Um9vdDEuaW5u
ZXJIVE1MID0gIjxkaXY+PGNvbnRlbnQ+PC9jb250ZW50PjwvZGl2PiI7Cit2YXIgaW5uZXJEaXYy
ID0gaW5uZXJTaGFkb3dSb290MS5xdWVyeVNlbGVjdG9yKCdkaXYnKTsKK3ZhciBpbm5lclNoYWRv
d1Jvb3QyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoaW5uZXJEaXYyKTsKK2lubmVyU2hhZG93Um9v
dDIuaW5uZXJIVE1MID0gIjxkaXY+PGNvbnRlbnQgdGl0bGU9J2RlYnVnc3RvcCc+PC9jb250ZW50
PjwvZGl2PiI7CisKK3Nob3VsZEJlRmFsc2UoImludGVybmFscy5oYXNDb250ZW50RWxlbWVudChz
aGFkb3dSb290KSIpOworc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQo
aW5uZXJTaGFkb3dSb290MSkiKTsKK3Nob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmhhc0NvbnRlbnRF
bGVtZW50KGlubmVyU2hhZG93Um9vdDIpIik7CitzaGFkb3dSb290LmlubmVySFRNTCA9ICI8ZGl2
PjwvZGl2PiI7CitzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hh
ZG93Um9vdCkiKTsKKworLy8gQ2FzZSBmb3IgbXVsdGlwbGUgc2hhZG93IHN1YnRyZWVzCitzaGFk
b3dSb290LmlubmVySFRNTCA9ICI8ZGl2PjxkaXY+PGRpdj48Y29udGVudD48L2NvbnRlbnQ+PC9k
aXY+PC9kaXY+PC9kaXY+IjsKK3ZhciB5b3VuZ2VyU2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFk
b3dSb290KGhvc3QpOworLy8gTW9kaWZ5aW5nIG9sZGVyIHNoYWRvdyByb290IG9yIHlvdW5nZXIg
c2hhZG93IHJvb3QgZG9lc24ndCBhZmZlY3QgdGhlIG90aGVyLgorc2hvdWxkQmVUcnVlKCJpbnRl
cm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsKK3Nob3VsZEJlRmFsc2UoImlu
dGVybmFscy5oYXNDb250ZW50RWxlbWVudCh5b3VuZ2VyU2hhZG93Um9vdCkiKTsKKworc2hhZG93
Um9vdC5pbm5lckhUTUwgPSAiPHNoYWRvdz48L3NoYWRvdz4iOworc2hvdWxkQmVGYWxzZSgiaW50
ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIik7CitzaG91bGRCZUZhbHNlKCJp
bnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoeW91bmdlclNoYWRvd1Jvb3QpIik7CisKK3lvdW5n
ZXJTaGFkb3dSb290LmlubmVySFRNTCA9ICI8Y29udGVudD48L2NvbnRlbnQ+IjsKK3Nob3VsZEJl
RmFsc2UoImludGVybmFscy5oYXNDb250ZW50RWxlbWVudChzaGFkb3dSb290KSIpOworc2hvdWxk
QmVUcnVlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoeW91bmdlclNoYWRvd1Jvb3QpIik7
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172209</attachid>
            <date>2012-11-02 22:57:26 -0700</date>
            <delta_ts>2012-11-02 23:40:40 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-100921-20121103145545.patch</filename>
            <type>text/plain</type>
            <size>14220</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmE3ZjYwNjRkZWRkYzcw
N2NjNWZjNTcyYmExMjExMGJmMjMzY2U3NS4uZDcyZDA3MzRlOGY5NGNjNjFkZjFmYmVmMmY2N2Mx
Y2NjMjYyYjgxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTExLTAxICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbU2hhZG93XSBT
aGFkb3dSb290IHNob3VsZCBiZSBhYmxlIHRvIGtub3cgdGhlIGV4aXN0ZW5jZSBvZiA8Y29udGVu
dD4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDky
MQorCisgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KKworICAgICAgICBXaGVu
IDxjb250ZW50PiBpcyBpbnNlcnRlZCBpbnRvIG9yIHJlbW92ZWQgZnJvbSBhIHNoYWRvdyBzdWJ0
cmVlLCBTaGFkb3dSb290IGNvdW50cyB0aGUgbnVtYmVyIG9mIDxjb250ZW50Pi4KKyAgICAgICAg
SXQgcHJvdmlkZXMgTygxKSBtZXRob2QgdG8gY2hlY2sgdGhlIGV4aXN0ZW5jZSBvZiA8Y29udGVu
dD4uCisKKyAgICAgICAgVGhpcyBpcyBuZWNlc3Nhcnkgd2hlbiB3ZSBpbXBsZW1lbnQgYSBmYXN0
IGNoZWNraW5nIHBhdGggZm9yIGRpc3RyaWJ1dGlvbiBpbnZhbGlkYXRpb24gd2hlbiBhbiBlbGVt
ZW50IGF0dHJpYnV0ZQorICAgICAgICBpcyBjaGFuZ2VkLiBMYXJnZXIgY29udGV4dCBpcyBleHBs
YWluZWQgaW4gQnVnIDEwMDQ1MS4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvaGFz
LWNvbnRlbnQtZWxlbWVudHMuaHRtbAorCisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6U2hhZG93Um9vdCk6CisgICAgICAgIChXZWJD
b3JlOjpTaGFkb3dSb290OjpoYXNJbnNlcnRpb25Qb2ludCk6IFNpbmNlIHdlIHRyYWNrIGJvdGgg
PGNvbnRlbnQ+IGFuZCA8c2hhZG93Piwgd2UgZG9uJ3QgbmVlZCB0byB0cmF2ZXJzZQorICAgICAg
ICBhbGwgdGhlIGRlc2NlbmRhbnRzIG9mIFNoYWRvd1Jvb3QgYW55bW9yZS4KKyAgICAgICAgKiBk
b20vU2hhZG93Um9vdC5oOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6cmVnaXN0ZXJD
b250ZW50RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Ojp1bnJlZ2lzdGVy
Q29udGVudEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6aGFzQ29udGVu
dEVsZW1lbnQpOgorICAgICAgICAoU2hhZG93Um9vdCk6CisgICAgICAgICogaHRtbC9zaGFkb3cv
SFRNTENvbnRlbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb250ZW50RWxl
bWVudDo6SFRNTENvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb250ZW50
RWxlbWVudDo6aW5zZXJ0ZWRJbnRvKTogV2hlbiA8Y29udGVudD4gaXMgaW5zZXJ0ZWQgaW50byBT
aGFkb3dET00gc3VidHJlZSwKKyAgICAgICAgd2Ugbm90aWZ5IGl0IHRvIHRoZSBTaGFkb3dSb290
LiBOb3RlIHRoYXQgb25seSBhY3RpdmUgPGNvbnRlbnQ+IGVsZW1lbnQgaXMgY291bnRlZC4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnRlbnRFbGVtZW50Ojpy
ZW1vdmVkRnJvbSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50Lmg6
CisgICAgICAgIChIVE1MQ29udGVudEVsZW1lbnQpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6aGFzQ29udGVudEVsZW1lbnQp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAg
ICAgICAgKEludGVybmFscyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAy
MDEyLTEwLTI1ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBNb3ZlIHNvdXAgYXV0aGVudGljYXRpb24gZnJvbSBHdGtBdXRoZW50aWNhdGlv
bkRpYWxvZyB0byBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93
Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKaW5kZXggYjBiMGU2
ZDEzZGI2OTZkMjVjNjU0OTlmOWFlMWFhNDEwOGRmNzhhNy4uYTljNDQzZjdlYTVkZjBkOGQzNzBi
YzZjYTRlYjE3MDliZTUwZDk4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRv
d1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcApAQCAtNTcs
NiArNTcsNyBAQCBTaGFkb3dSb290OjpTaGFkb3dSb290KERvY3VtZW50KiBkb2N1bWVudCkKICAg
ICAsIG1fcmVzZXRTdHlsZUluaGVyaXRhbmNlKGZhbHNlKQogICAgICwgbV9pbnNlcnRpb25Qb2lu
dEFzc2lnbmVkVG8oMCkKICAgICAsIG1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4oMCkK
KyAgICAsIG1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuKDApCiAgICAgLCBtX251bWJl
ck9mU3R5bGVzKDApCiB7CiAgICAgQVNTRVJUKGRvY3VtZW50KTsKQEAgLTE5OCwxMiArMTk5LDcg
QEAgRWxlbWVudFNoYWRvdyogU2hhZG93Um9vdDo6b3duZXIoKSBjb25zdAogCiBib29sIFNoYWRv
d1Jvb3Q6Omhhc0luc2VydGlvblBvaW50KCkgY29uc3QKIHsKLSAgICBmb3IgKE5vZGUqIG4gPSBm
aXJzdENoaWxkKCk7IG47IG4gPSBuLT50cmF2ZXJzZU5leHROb2RlKHRoaXMpKSB7Ci0gICAgICAg
IGlmIChpc0luc2VydGlvblBvaW50KG4pKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
fQotCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBoYXNTaGFkb3dJbnNlcnRpb25Qb2lu
dCgpIHx8IGhhc0NvbnRlbnRFbGVtZW50KCk7CiB9CiAKIGJvb2wgU2hhZG93Um9vdDo6YXBwbHlB
dXRob3JTdHlsZXMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRv
d1Jvb3QuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKaW5kZXggY2VmZWI2YmIy
NTVlY2U1MGIyMzI0ZTY4MWE1MTg1MGI2MjBhNmU5OC4uMjA0NTJmM2E5NTEyMjZkZDZkYzFlNGFl
MDE1MWE0ZWY3NjhjMzYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jv
b3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCkBAIC05MSw2ICs5MSwx
MCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2hhZG93RWxlbWVudCgpIHsgLS1tX251
bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuOyB9CiAgICAgYm9vbCBoYXNTaGFkb3dJbnNlcnRp
b25Qb2ludCgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4g
PiAwOyB9CiAKKyAgICB2b2lkIHJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKSB7ICsrbV9udW1iZXJP
ZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW47IH0KKyAgICB2b2lkIHVucmVnaXN0ZXJDb250ZW50RWxl
bWVudCgpIHsgLS1tX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbjsgfQorICAgIGJvb2wg
aGFzQ29udGVudEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX251bWJlck9mQ29udGVudEVsZW1l
bnRDaGlsZHJlbiA+IDA7IH0KKwogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNjb3BlZEhUTUxT
dHlsZUNoaWxkKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJTY29wZWRI
VE1MU3R5bGVDaGlsZCgpIE9WRVJSSURFOwogCkBAIC0xMTYsNiArMTIwLDcgQEAgcHJpdmF0ZToK
ICAgICBib29sIG1fcmVzZXRTdHlsZUluaGVyaXRhbmNlIDogMTsKICAgICBJbnNlcnRpb25Qb2lu
dCogbV9pbnNlcnRpb25Qb2ludEFzc2lnbmVkVG87CiAgICAgc2l6ZV90IG1fbnVtYmVyT2ZTaGFk
b3dFbGVtZW50Q2hpbGRyZW47CisgICAgc2l6ZV90IG1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENo
aWxkcmVuOwogICAgIHNpemVfdCBtX251bWJlck9mU3R5bGVzOwogCiAjaWZuZGVmIE5ERUJVRwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAK
aW5kZXggZGVjOWUwOGY3YjZhMmQwOGM5ZDEwMjQ1MDQ5NTQ3YTVhYTZhNWRmZC4uYzBiOWJiYTgw
NWFkMjVjY2U1ODI3ZjFkNDAwNzQzMjNjYjBjNTQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCkBAIC02Myw2ICs2Myw3IEBAIFBh
c3NSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50PiBIVE1MQ29udGVudEVsZW1lbnQ6OmNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiB0CiAKIEhUTUxDb250ZW50RWxlbWVudDo6SFRNTENvbnRlbnRF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKICAg
ICA6IEluc2VydGlvblBvaW50KG5hbWUsIGRvY3VtZW50KQorICAgICwgbV9yZWdpc3RlcmVkV2l0
aFNoYWRvd1Jvb3QoZmFsc2UpCiB7CiB9CiAKQEAgLTk1LDQgKzk2LDI5IEBAIHZvaWQgSFRNTENv
bnRlbnRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBBdHRyaWJ1dGUmIGF0dHJpYnV0ZSkK
ICAgICAgICAgSW5zZXJ0aW9uUG9pbnQ6OnBhcnNlQXR0cmlidXRlKGF0dHJpYnV0ZSk7CiB9CiAK
K05vZGU6Okluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgSFRNTENvbnRlbnRFbGVtZW50Ojpp
bnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSogaW5zZXJ0aW9uUG9pbnQpCit7CisgICAgSW5zZXJ0
aW9uUG9pbnQ6Omluc2VydGVkSW50byhpbnNlcnRpb25Qb2ludCk7CisKKyAgICBpZiAoaW5zZXJ0
aW9uUG9pbnQtPmluRG9jdW1lbnQoKSAmJiBpc0FjdGl2ZSgpKSB7CisgICAgICAgIHNoYWRvd1Jv
b3QoKS0+cmVnaXN0ZXJDb250ZW50RWxlbWVudCgpOworICAgICAgICBtX3JlZ2lzdGVyZWRXaXRo
U2hhZG93Um9vdCA9IHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIEluc2VydGlvbkRvbmU7Cit9
CisKK3ZvaWQgSFRNTENvbnRlbnRFbGVtZW50OjpyZW1vdmVkRnJvbShDb250YWluZXJOb2RlKiBp
bnNlcnRpb25Qb2ludCkKK3sKKyAgICBpZiAoaW5zZXJ0aW9uUG9pbnQtPmluRG9jdW1lbnQoKSAm
JiBtX3JlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdCkgeworICAgICAgICBTaGFkb3dSb290KiByb290
ID0gc2hhZG93Um9vdCgpOworICAgICAgICBpZiAoIXJvb3QpCisgICAgICAgICAgICByb290ID0g
aW5zZXJ0aW9uUG9pbnQtPnNoYWRvd1Jvb3QoKTsKKyAgICAgICAgaWYgKHJvb3QpCisgICAgICAg
ICAgICByb290LT51bnJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKTsKKyAgICAgICAgbV9yZWdpc3Rl
cmVkV2l0aFNoYWRvd1Jvb3QgPSBmYWxzZTsKKyAgICB9CisgICAgSW5zZXJ0aW9uUG9pbnQ6OnJl
bW92ZWRGcm9tKGluc2VydGlvblBvaW50KTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaAppbmRleCA3NTQ3OTkzMDYyNTczY2U3MzA1
NmNlYzUzNzUwY2Q0MzNiNDViZGNjLi4yYTNhMzJjZWE1NTkyOWU4N2NlNzFiYWM3M2I3ODY0Yzc5
MGYwZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVu
dEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVs
ZW1lbnQuaApAQCAtNTEsOCArNTEsMTMgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIEhUTUxD
b250ZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAorICAgIHZp
cnR1YWwgSW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBpbnNlcnRlZEludG8oQ29udGFpbmVy
Tm9kZSopIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbShDb250YWluZXJO
b2RlKikgT1ZFUlJJREU7CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBhcnNlQXR0cmli
dXRlKGNvbnN0IEF0dHJpYnV0ZSYpIE9WRVJSSURFOworCisgICAgYm9vbCBtX3JlZ2lzdGVyZWRX
aXRoU2hhZG93Um9vdDsKIH07CiAKIGlubGluZSBib29sIGlzSFRNTENvbnRlbnRFbGVtZW50KGNv
bnN0IE5vZGUqIG5vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggMzVh
YmJkNGY5Mjk0ZWEzYzEyZDQxODI2MzUyYjFhODA4ZjM3MmEwYy4uMzUyYzBiNzJiNDBmYzg5MTQ3
NWMwMzY4YjI2MTg5MDE1NDc4NGU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cApAQCAtMzE1LDYgKzMxNSwxNSBAQCBib29sIEludGVybmFsczo6aGFzU2hhZG93SW5zZXJ0aW9u
UG9pbnQoY29uc3QgTm9kZSogcm9vdCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbgogICAgIHJldHVy
biAwOwogfQogCitib29sIEludGVybmFsczo6aGFzQ29udGVudEVsZW1lbnQoY29uc3QgTm9kZSog
cm9vdCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKHJvb3QgJiYgcm9vdC0+
aXNTaGFkb3dSb290KCkpCisgICAgICAgIHJldHVybiB0b1NoYWRvd1Jvb3Qocm9vdCktPmhhc0Nv
bnRlbnRFbGVtZW50KCk7CisKKyAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICByZXR1
cm4gMDsKK30KKwogYm9vbCBJbnRlcm5hbHM6OmF0dGFjaGVkKE5vZGUqIG5vZGUsIEV4Y2VwdGlv
bkNvZGUmIGVjKQogewogICAgIGlmICghbm9kZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmgKaW5kZXggMWM0YzRiYjU0ODNlYzdjYmZiOWM5ZjUzMGE2ZjQ3ZjhjZjY0ZTU4My4uNjU1Y2Uy
M2VkMGEyZTFiNDFmZjgzYjJkYmZiNzQ1ZGE1NTk4ZDE0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCkBAIC04NCw2ICs4NCw3IEBAIHB1YmxpYzoKICAgICBTaGFkb3dSb290SWZTaGFk
b3dET01FbmFibGVkT3JOb2RlKiB5b3VuZ2VyU2hhZG93Um9vdChOb2RlKiBzaGFkb3csIEV4Y2Vw
dGlvbkNvZGUmKTsKICAgICBTaGFkb3dSb290SWZTaGFkb3dET01FbmFibGVkT3JOb2RlKiBvbGRl
clNoYWRvd1Jvb3QoTm9kZSogc2hhZG93LCBFeGNlcHRpb25Db2RlJik7CiAgICAgYm9vbCBoYXNT
aGFkb3dJbnNlcnRpb25Qb2ludChjb25zdCBOb2RlKiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0Owor
ICAgIGJvb2wgaGFzQ29udGVudEVsZW1lbnQoY29uc3QgTm9kZSosIEV4Y2VwdGlvbkNvZGUmKSBj
b25zdDsKICAgICBFbGVtZW50KiBpbmNsdWRlckZvcihOb2RlKiwgRXhjZXB0aW9uQ29kZSYpOwog
ICAgIFN0cmluZyBzaGFkb3dQc2V1ZG9JZChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogICAg
IHZvaWQgc2V0U2hhZG93UHNldWRvSWQoRWxlbWVudCosIGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlv
bkNvZGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA1ZTUyNjhiZjFm
YzU3MzQxNjlkNjVkYTY0NTk5MTRlMGI3YTJkYzg2Li5lMjI0OTBmOWZkMDg1OGRjYzY3NjhiYThl
MWMzMzljODI0MGM1MWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC00
OCw2ICs0OCw3IEBACiAgICAgTm9kZSB5b3VuZ2VyU2hhZG93Um9vdChpbiBOb2RlIHJvb3QpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKICNlbmRpZgogICAgIGJvb2xlYW4gaGFzU2hhZG93SW5zZXJ0
aW9uUG9pbnQoaW4gTm9kZSByb290KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgYm9vbGVh
biBoYXNDb250ZW50RWxlbWVudChpbiBOb2RlIHJvb3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsK
ICAgICBFbGVtZW50IGluY2x1ZGVyRm9yKGluIE5vZGUgbm9kZSkgcmFpc2VzIChET01FeGNlcHRp
b24pOwogICAgIERPTVN0cmluZyBzaGFkb3dQc2V1ZG9JZChpbiBFbGVtZW50IGVsZW1lbnQpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICB2b2lkIHNldFNoYWRvd1BzZXVkb0lkKGluIEVsZW1l
bnQgZWxlbWVudCwgaW4gRE9NU3RyaW5nIGlkKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNDgzMjlhYTgyNGQ4MTZhZjcxYTI2ZDQ4YzQzY2EwNGRkY2ZjNTM4ZC4uNjY4ZTIwOTZkZjE0
MzNhZmY3OWM2ZmNjMjhkNGJjZWI2OTc3NTIyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEy
LTExLTAxICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBbU2hhZG93XSBTaGFkb3dSb290IHNob3VsZCBiZSBhYmxlIHRvIGtub3cgdGhlIGV4aXN0ZW5j
ZSBvZiA8Y29udGVudD4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMDkyMQorCisgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KKwor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVudC1lbGVtZW50cy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVudC1lbGVtZW50
cy5odG1sOiBBZGRlZC4KKwogMjAxMi0xMS0wMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3
LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzMzM3
NS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9oYXMtY29udGVudC1l
bGVtZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLWNv
bnRlbnQtZWxlbWVudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNDA3MzdmZWMwMDRhYjdk
YjZkOTE2ODBhZDRlYzJhYTJhYWI4NWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvaGFzLWNvbnRlbnQtZWxlbWVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjMgQEAKK1Rlc3QgZm9yIEJ1ZyAxMDA5MjE6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDA5MjEgLSBbU2hhZG93XSBTaGFkb3dSb290IHNob3VsZCBiZSBhYmxl
IHRvIGtub3cgdGhlIGV4aXN0ZW5jZSBvZiA8Y29udGVudD4KKworUEFTUyBpbnRlcm5hbHMuaGFz
Q29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc0Nv
bnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLmhhc0NvbnRl
bnRFbGVtZW50KHNoYWRvd1Jvb3QpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50
RWxlbWVudChzaGFkb3dSb290KSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzQ29udGVudEVs
ZW1lbnQoc2hhZG93Um9vdCkgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1l
bnQoc2hhZG93Um9vdCkgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50
KHNoYWRvd1Jvb3QpIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNo
YWRvd1Jvb3QpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50RWxlbWVudChpbm5l
clNoYWRvd1Jvb3QxKSBpcyB0cnVlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50RWxlbWVudChp
bm5lclNoYWRvd1Jvb3QyKSBpcyB0cnVlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50RWxlbWVu
dChzaGFkb3dSb290KSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQo
c2hhZG93Um9vdCkgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoeW91
bmdlclNoYWRvd1Jvb3QpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50RWxlbWVu
dChzaGFkb3dSb290KSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQo
eW91bmdlclNoYWRvd1Jvb3QpIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5oYXNDb250ZW50RWxl
bWVudChzaGFkb3dSb290KSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1l
bnQoeW91bmdlclNoYWRvd1Jvb3QpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvaGFzLWNvbnRlbnQtZWxlbWVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9oYXMtY29udGVudC1lbGVtZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2MTUxZTI4YzMw
NDQ5NDA3ZjA4YWQxMDEyYmQ0OTY4OGFhMjgxMjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvaGFzLWNvbnRlbnQtZWxlbWVudHMuaHRtbApAQCAtMCwwICsx
LDc5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2lmICghd2luZG93Lmlu
dGVybmFscykKKyAgICBkZWJ1Zygid2luZG93cy5pbnRlcm5hbHMgbm90IGZvdW5kISIpOworZWxz
ZSBpZiAoIXdpbmRvdy5pbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQpCisgICAgZGVidWcoIndp
bmRvd3MuaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50IG5vdCBmb3VuZCEiKTsKKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+CisKKzxwPlRlc3QgZm9yIEJ1ZyAxMDA5MjE6IDxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA5MjEiPmh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA5MjE8L2E+IC0gW1NoYWRvd10gU2hhZG93
Um9vdCBzaG91bGQgYmUgYWJsZSB0byBrbm93IHRoZSBleGlzdGVuY2Ugb2YgJmx0O2NvbnRlbnQm
Z3Q7PC9wPgorCis8ZGl2IGlkPSJob3N0Ij48L2Rpdj4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJl
PgorCis8c2NyaXB0PgordmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaG9zdCIp
OwordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKworc2hvdWxk
QmVGYWxzZSgiaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIik7CisKK3Zh
ciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK2Rpdi5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJjb250ZW50IikpOworc2hhZG93Um9vdC5hcHBlbmRDaGls
ZChkaXYpOworc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93
Um9vdCkiKTsKKworc2hhZG93Um9vdC5yZW1vdmVDaGlsZChkaXYpOworc2hvdWxkQmVGYWxzZSgi
aW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIik7CisKK3NoYWRvd1Jvb3Qu
aW5uZXJIVE1MID0gIjxkaXY+Tm8gSW5zZXJ0aW9uIFBvaW50czwvZGl2PiI7CitzaG91bGRCZUZh
bHNlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsKKworc2hhZG93
Um9vdC5pbm5lckhUTUwgPSAiPGNvbnRlbnQ+PC9jb250ZW50PiI7CitzaG91bGRCZVRydWUoImlu
dGVybmFscy5oYXNDb250ZW50RWxlbWVudChzaGFkb3dSb290KSIpOworCitzaGFkb3dSb290Lmlu
bmVySFRNTCA9ICI8c2hhZG93Pjwvc2hhZG93PiI7CitzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMu
aGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsKKworc2hhZG93Um9vdC5pbm5lckhUTUwg
PSAiPGRpdj48ZGl2PjxkaXY+PGNvbnRlbnQ+PC9jb250ZW50PjwvZGl2PjwvZGl2PjwvZGl2PiI7
CitzaG91bGRCZVRydWUoImludGVybmFscy5oYXNDb250ZW50RWxlbWVudChzaGFkb3dSb290KSIp
OworCisvLyBDYXNlIGZvciBuZXN0ZWQgc2hhZG93IHN1YnRyZWUKK3NoYWRvd1Jvb3QuaW5uZXJI
VE1MID0gJzxkaXY+aW4gc2hhZG93IHJvb3Q8L2Rpdj4nOwordmFyIGlubmVyRGl2MSA9IHNoYWRv
d1Jvb3QucXVlcnlTZWxlY3RvcignZGl2Jyk7Cit2YXIgaW5uZXJTaGFkb3dSb290MSA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGlubmVyRGl2MSk7Citpbm5lclNoYWRvd1Jvb3QxLmlubmVySFRNTCA9
ICI8ZGl2Pjxjb250ZW50PjwvY29udGVudD48L2Rpdj4iOwordmFyIGlubmVyRGl2MiA9IGlubmVy
U2hhZG93Um9vdDEucXVlcnlTZWxlY3RvcignZGl2Jyk7Cit2YXIgaW5uZXJTaGFkb3dSb290MiA9
IG5ldyBXZWJLaXRTaGFkb3dSb290KGlubmVyRGl2Mik7Citpbm5lclNoYWRvd1Jvb3QyLmlubmVy
SFRNTCA9ICI8ZGl2Pjxjb250ZW50IHRpdGxlPSdkZWJ1Z3N0b3AnPjwvY29udGVudD48L2Rpdj4i
OworCitzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9v
dCkiKTsKK3Nob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KGlubmVyU2hh
ZG93Um9vdDEpIik7CitzaG91bGRCZVRydWUoImludGVybmFscy5oYXNDb250ZW50RWxlbWVudChp
bm5lclNoYWRvd1Jvb3QyKSIpOworc2hhZG93Um9vdC5pbm5lckhUTUwgPSAiPGRpdj48L2Rpdj4i
Oworc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jvb3Qp
Iik7CisKKy8vIENhc2UgZm9yIG11bHRpcGxlIHNoYWRvdyBzdWJ0cmVlcworc2hhZG93Um9vdC5p
bm5lckhUTUwgPSAiPGRpdj48ZGl2PjxkaXY+PGNvbnRlbnQ+PC9jb250ZW50PjwvZGl2PjwvZGl2
PjwvZGl2PiI7Cit2YXIgeW91bmdlclNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdCho
b3N0KTsKKy8vIE1vZGlmeWluZyBvbGRlciBzaGFkb3cgcm9vdCBvciB5b3VuZ2VyIHNoYWRvdyBy
b290IGRvZXNuJ3QgYWZmZWN0IHRoZSBvdGhlci4KK3Nob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmhh
c0NvbnRlbnRFbGVtZW50KHNoYWRvd1Jvb3QpIik7CitzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMu
aGFzQ29udGVudEVsZW1lbnQoeW91bmdlclNoYWRvd1Jvb3QpIik7CisKK3NoYWRvd1Jvb3QuaW5u
ZXJIVE1MID0gIjxzaGFkb3c+PC9zaGFkb3c+IjsKK3Nob3VsZEJlRmFsc2UoImludGVybmFscy5o
YXNDb250ZW50RWxlbWVudChzaGFkb3dSb290KSIpOworc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxz
Lmhhc0NvbnRlbnRFbGVtZW50KHlvdW5nZXJTaGFkb3dSb290KSIpOworCit5b3VuZ2VyU2hhZG93
Um9vdC5pbm5lckhUTUwgPSAiPGNvbnRlbnQ+PC9jb250ZW50PiI7CitzaG91bGRCZUZhbHNlKCJp
bnRlcm5hbHMuaGFzQ29udGVudEVsZW1lbnQoc2hhZG93Um9vdCkiKTsKK3Nob3VsZEJlVHJ1ZSgi
aW50ZXJuYWxzLmhhc0NvbnRlbnRFbGVtZW50KHlvdW5nZXJTaGFkb3dSb290KSIpOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>