<?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>77935</bug_id>
          
          <creation_ts>2012-02-06 22:17:15 -0800</creation_ts>
          <short_desc>Disable adding a shadow root to elements having a dynamic built-in shadow root.</short_desc>
          <delta_ts>2012-03-04 10:24:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>77503</blocked>
    
    <blocked>77931</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>eric</cc>
    
    <cc>tkent</cc>
    
    <cc>tsepez</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>550628</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-06 22:17:15 -0800</bug_when>
    <thetext>Supporting multiple shadow subtrees for element having a dynamic built-in shadow root is difficult. It doesn&apos;t work well in current implementation.
So we have do refactoring them to fully support multiple shadow subtrees.

However, let&apos;s disable adding user-generated shadow root for them for a while.
If their refactoring ends, let turn it on again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550697</commentid>
    <comment_count>1</comment_count>
      <attachid>125779</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-07 01:04:57 -0800</bug_when>
    <thetext>Created attachment 125779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551698</commentid>
    <comment_count>2</comment_count>
      <attachid>125779</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-02-07 19:02:30 -0800</bug_when>
    <thetext>Comment on attachment 125779
Patch

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

Temporarily turning off author shadow roots for elements that use UA shadow roots sounds like a good idea.

&gt; Source/WebCore/dom/ShadowRoot.h:49
&gt; +    enum CheckUserShadowRootAllowance {

It might be better to rename this to reflect the caller intent, eg

enum (mumble) {
  CreatingUserAgentShadowRoot,
  CreatingAuthorShadowRoot
}

?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551808</commentid>
    <comment_count>3</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-02-07 22:39:45 -0800</bug_when>
    <thetext>Related Chromium bug: &lt;http://code.google.com/p/chromium/issues/detail?id=113168&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552198</commentid>
    <comment_count>4</comment_count>
      <attachid>125779</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-02-08 09:19:46 -0800</bug_when>
    <thetext>Comment on attachment 125779
Patch

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

&gt;&gt; Source/WebCore/dom/ShadowRoot.h:49
&gt;&gt; +    enum CheckUserShadowRootAllowance {
&gt; 
&gt; It might be better to rename this to reflect the caller intent, eg
&gt; 
&gt; enum (mumble) {
&gt;   CreatingUserAgentShadowRoot,
&gt;   CreatingAuthorShadowRoot
&gt; }
&gt; 
&gt; ?

I like Dominic&apos;s idea here. Other than that, the patch looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552701</commentid>
    <comment_count>5</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-02-08 17:51:30 -0800</bug_when>
    <thetext>Related to &lt;http://code.google.com/p/chromium/issues/detail?id=113168&gt; and &lt;http://code.google.com/p/chromium/issues/detail?id=113174&gt; downstream in Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552833</commentid>
    <comment_count>6</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-08 21:35:44 -0800</bug_when>
    <thetext>Since I want to add new flag which will introduced in Bug 77929, I&apos;ll update this after Bug 77929 is landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552863</commentid>
    <comment_count>7</comment_count>
      <attachid>126242</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-08 22:15:55 -0800</bug_when>
    <thetext>Created attachment 126242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552868</commentid>
    <comment_count>8</comment_count>
      <attachid>126242</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-08 22:24:36 -0800</bug_when>
    <thetext>Comment on attachment 126242
Patch

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

&gt; Source/WebCore/dom/ShadowRoot.cpp:85
&gt; +        return false;
&gt; +

maybe TEXTAREA, too.

&gt; Source/WebCore/dom/ShadowRoot.h:53
&gt; +    static PassRefPtr&lt;ShadowRoot&gt; create(Element*, ShadowRootCreationPurpose, ExceptionCode&amp;);

We had better add a default argument to ExceptionCode&amp;.
 ..., ExceptionCode&amp; = ASSERT_NO_EXCEPTION);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552887</commentid>
    <comment_count>9</comment_count>
      <attachid>126245</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-08 23:14:32 -0800</bug_when>
    <thetext>Created attachment 126245
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552918</commentid>
    <comment_count>10</comment_count>
      <attachid>126245</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-02-09 00:22:30 -0800</bug_when>
    <thetext>Comment on attachment 126245
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1202
&gt; +    return ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION).get();

You can remove ASSERT_NO_EXCEPTION argument.

&gt; Source/WebCore/html/HTMLDetailsElement.cpp:113
&gt; +    RefPtr&lt;ShadowRoot&gt; root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION);

ditto.

&gt; Source/WebCore/html/HTMLKeygenElement.cpp:89
&gt; +    RefPtr&lt;ShadowRoot&gt; root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION);

ditto.

&gt; Source/WebCore/html/HTMLMeterElement.cpp:244
&gt; +    RefPtr&lt;ShadowRoot&gt; root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION);

ditto.

&gt; Source/WebCore/html/HTMLSummaryElement.cpp:77
&gt; +    RefPtr&lt;ShadowRoot&gt; root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION);

ditto.

&gt; Source/WebCore/html/HTMLTextAreaElement.cpp:88
&gt; +    RefPtr&lt;ShadowRoot&gt; root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION);

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552948</commentid>
    <comment_count>11</comment_count>
      <attachid>126257</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-09 01:17:02 -0800</bug_when>
    <thetext>Created attachment 126257
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552949</commentid>
    <comment_count>12</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-09 01:17:47 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 126245 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=126245&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:1202
&gt; &gt; +    return ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION).get();
&gt; 
&gt; You can remove ASSERT_NO_EXCEPTION argument.
&gt; 
&gt; &gt; Source/WebCore/html/HTMLDetailsElement.cpp:113
&gt; &gt; +    RefPtr&lt;ShadowRoot&gt; root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION);
&gt; 
&gt; ditto.
&gt; 
&gt; &gt; Source/WebCore/html/HTMLKeygenElement.cpp:89
&gt; &gt; +    RefPtr&lt;ShadowRoot&gt; root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION);
&gt; 
&gt; ditto.
&gt; 
&gt; &gt; Source/WebCore/html/HTMLMeterElement.cpp:244
&gt; &gt; +    RefPtr&lt;ShadowRoot&gt; root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION);
&gt; 
&gt; ditto.
&gt; 
&gt; &gt; Source/WebCore/html/HTMLSummaryElement.cpp:77
&gt; &gt; +    RefPtr&lt;ShadowRoot&gt; root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION);
&gt; 
&gt; ditto.
&gt; 
&gt; &gt; Source/WebCore/html/HTMLTextAreaElement.cpp:88
&gt; &gt; +    RefPtr&lt;ShadowRoot&gt; root = ShadowRoot::create(this, ShadowRoot::CreatingUserAgentShadowRoot, ASSERT_NO_EXCEPTION);
&gt; 
&gt; ditto.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552968</commentid>
    <comment_count>13</comment_count>
      <attachid>126257</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-09 01:54:18 -0800</bug_when>
    <thetext>Comment on attachment 126257
Patch for landing

Clearing flags on attachment: 126257

Committed r107202: &lt;http://trac.webkit.org/changeset/107202&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552969</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-09 01:54:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561285</commentid>
    <comment_count>15</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2012-02-21 15:33:15 -0800</bug_when>
    <thetext>*** Bug 78138 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570262</commentid>
    <comment_count>16</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2012-03-04 10:24:59 -0800</bug_when>
    <thetext>&lt;rdar://problem/10830087&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125779</attachid>
            <date>2012-02-07 01:04:57 -0800</date>
            <delta_ts>2012-02-08 22:15:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77935-20120207180455.patch</filename>
            <type>text/plain</type>
            <size>12258</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2ODg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg1MTUxZWQyNDRkMDY3
M2JhZjI4Nzg0NDhkYWQ3ZmZiZTg5ZDA2Yi4uZjVkMDc2OWUwM2VjMGU5YmRlMDdkMWRjM2QzMTM1
ZjUxNTdlZTdjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAyLTA3ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CisKKyAgICAgICAgRGlzYWJsZSBhZGRp
bmcgYSBzaGFkb3cgcm9vdCB0byBlbGVtZW50cyBoYXZpbmcgYSBkeW5hbWljIGJ1aWx0LWluIHNo
YWRvdyByb290LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Nzc5MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBXZSB0ZW1wb3JhcmlseSBkaXNhYmxlIGFkZGluZyBhIHNoYWRvdyByb290IGluIGVsZW1lbnRz
IGhhdmluZyBhIGR5bmFtaWMgYnVpbHQtaW4gc2hhZG93IHJvb3QuCisgICAgICAgIFRoZXNlIHNo
YWRvdyByb290cyBhcmUgY3VycmVudGx5IGNyZWF0ZWQgdXNpbmcgRWxlbWVudDo6ZW5zdXJlU2hh
ZG93Um9vdCwgd2UgZG9uJ3QgY2hlY2sgdGhlIGNvbmRpdGlvbgorICAgICAgICBpZiBhIHNoYWRv
dyByb290IGlzIGNyZWF0ZWQgdXNpbmcgRWxlbWVudDo6ZW5zdXJlU2hhZG93Um9vdC4KKworICAg
ICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbAorCisgICAgICAg
ICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlU2hh
ZG93Um9vdCk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6YWxsb3dzVXNlclNoYWRvd1Jvb3QpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6
Y3JlYXRlKToKKyAgICAgICAgICBDcmVhdGVzIGFub3RoZXIgY29uc3RydWN0b3Igd2hpY2ggY2hl
Y2tzIGFuIGVsZW1lbnQgaGFzIGEgZHluYW1pYyBidWlsdC1pbiBzaGFkb3cgcm9vdCBvciBub3Qu
CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKFNoYWRvd1Jvb3QpOgorCiAy
MDEyLTAyLTA2ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTA2ODgzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmlu
ZGV4IDliMDIzZGYxZjlkZWZhMjdmNzIwMGU4OTM5MGY0MWJjZDE0N2U2NmEuLjBjZjM5OGNhNjZk
ZDdiNTI0NzkxYjg0ZTlkZTYxZDcyYTQ5Mzg4MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAg
LTExOTksMTAgKzExOTksNyBAQCBTaGFkb3dSb290KiBFbGVtZW50OjplbnN1cmVTaGFkb3dSb290
KCkKICAgICBpZiAoU2hhZG93Um9vdCogZXhpc3RpbmdSb290ID0gc2hhZG93Um9vdCgpKQogICAg
ICAgICByZXR1cm4gZXhpc3RpbmdSb290OwogCi0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0g
ICAgc2V0U2hhZG93Um9vdChTaGFkb3dSb290OjpjcmVhdGUoZG9jdW1lbnQoKSksIGVjKTsKLSAg
ICBBU1NFUlQoIWVjKTsKLSAgICByZXR1cm4gc2hhZG93Um9vdCgpOworICAgIHJldHVybiBTaGFk
b3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6RG9udENoZWNrQWxsb3dhbmNlLCBBU1NF
UlRfTk9fRVhDRVBUSU9OKS5nZXQoKTsKIH0KIAogdm9pZCBFbGVtZW50OjpyZW1vdmVTaGFkb3dS
b290KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAppbmRleCA5YmE2OGJkMzU4MTEzY2RiMWJm
MDA4OWI0Njc3MjIwNjliZTc2NmJkLi5iYmNiMjUwOTU2YTliN2MzOGI3NDYwNWYyNmE2MTI0YjBm
M2RmMGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCkBAIC0zMSw3ICszMSw5IEBACiAj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TENvbnRlbnRFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTm9k
ZVJhcmVEYXRhLmgiCisjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJUZXh0LmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU5LDEyICs2MSw1MCBAQCBTaGFkb3dSb290Ojp+U2hh
ZG93Um9vdCgpCiAgICAgICAgIGNsZWFyUmFyZURhdGEoKTsKIH0KIAorc3RhdGljIGJvb2wgYWxs
b3dzVXNlclNoYWRvd1Jvb3QoRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICAvLyBGSVhNRTogSU5Q
VVQgcmVjcmVhdGVzIHNoYWRvdyByb290IGR5bmFtaWNhbGx5LgorICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkzMAorICAgIGlmIChlbGVtZW50LT5oYXNU
YWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAvLyBGSVhNRTogTUVESUEgcmVjcmVhdGVzIHNoYWRvdyByb290IGR5bmFtaWNhbGx5LgorICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkzNgorICAgIGlm
IChlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dmlkZW9UYWcpIHx8IGVsZW1lbnQtPmhh
c1RhZ05hbWUoSFRNTE5hbWVzOjphdWRpb1RhZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIC8vIEZJWE1FOiBTRUxFQ1QgKFZhbGlkYXRpb25NZXNzYWdlKSByZWNyZWF0ZXMgc2hhZG93
IHJvb3QgZHluYW1pY2FsbHkuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc3OTM3CisgICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpz
ZWxlY3RUYWcpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBGSVhNRTogU1ZHIFRS
RUYgcmVjcmVhdGVzIHNoYWRvdyByb290IGR5bmFtaWNhbGx5LgorICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkzOAorICAgIGlmIChlbGVtZW50LT5oYXNU
YWdOYW1lKFNWR05hbWVzOjp0cmVmVGFnKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
cmV0dXJuIHRydWU7Cit9CisKIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gU2hhZG93Um9vdDo6Y3Jl
YXRlKEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogeworICAgIHJldHVybiBj
cmVhdGUoZWxlbWVudCwgQ2hlY2tBbGxvd2FuY2UsIGVjKTsKK30KKworUGFzc1JlZlB0cjxTaGFk
b3dSb290PiBTaGFkb3dSb290OjpjcmVhdGUoRWxlbWVudCogZWxlbWVudCwgQ2hlY2tVc2VyU2hh
ZG93Um9vdEFsbG93YW5jZSBhbGxvd2FuY2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQorewogICAgIGlm
ICghZWxlbWVudCB8fCBlbGVtZW50LT5zaGFkb3dSb290KCkpIHsKICAgICAgICAgZWMgPSBISUVS
QVJDSFlfUkVRVUVTVF9FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KKworICAgIC8vIFNp
bmNlIHNvbWUgZWxlbWVudHMgcmVjcmVhdGVzIHNoYWRvdyByb290IGR5bmFtaWNhbGx5LCBtdWx0
aXBsZSBzaGFkb3cgc3VidHJlZXMgd29uJ3Qgd29yayB3ZWxsIGluIHRoYXQgZWxlbWVudC4KKyAg
ICAvLyBVbnRpbCB0aGV5IGFyZSBmaXhlZCwgd2UgZGlzYWJsZSBhZGRpbmcgdXNlciBnZW5lcmF0
ZWQgc2hhZG93IHJvb3QgZm9yIHRoZW0uCisgICAgaWYgKGFsbG93YW5jZSA9PSBDaGVja0FsbG93
YW5jZSAmJiAhYWxsb3dzVXNlclNoYWRvd1Jvb3QoZWxlbWVudCkpIHsKKyAgICAgICAgZWMgPSBI
SUVSQVJDSFlfUkVRVUVTVF9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKwogICAgIFJl
ZlB0cjxTaGFkb3dSb290PiBzaGFkb3dSb290ID0gY3JlYXRlKGVsZW1lbnQtPmRvY3VtZW50KCkp
OwogICAgIGVsZW1lbnQtPnNldFNoYWRvd1Jvb3Qoc2hhZG93Um9vdCwgZWMpOwogICAgIGlmIChl
YykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCmluZGV4IGQwYjE4OTQ3MjE0NmJjNzkyMDhhNTlhOGIx
YWUxZjIxNjZmZjcyNWMuLmYwMTNmMDdiMDNhYjEwNmVlODYwOTg5YjVhMGEzNTU1Y2QxZjYyZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaApAQCAtNDIsNiArNDIsMTYgQEAgcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZShEb2N1bWVudCopOwogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZShFbGVtZW50KiwgRXhjZXB0aW9uQ29k
ZSYpOwogCisgICAgLy8gRklYTUU6IFdlIHdpbGwgc3VwcG9ydCBtdWx0aXBsZSBzaGFkb3cgc3Vi
dHJlZXMsIGhvd2V2ZXIgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCB3b3JrIHdlbGwK
KyAgICAvLyBpZiBhIHNoYWRvdyByb290IGlzIGR5bmFtaWNhbGx5IGNyZWF0ZWQuIFNvIHdlIHBy
b2hpYml0IG11bHRpcGxlIHNoYWRvdyBzdWJ0cmVlcworICAgIC8vIGluIHNldmVyYWwgZWxlbWVu
dHMgZm9yIGEgd2hpbGUuCisgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03NzUwMyBhbmQgcmVsYXRlZCBidWdzLgorICAgIGVudW0gQ2hlY2tVc2VyU2hh
ZG93Um9vdEFsbG93YW5jZSB7CisgICAgICAgIERvbnRDaGVja0FsbG93YW5jZSwKKyAgICAgICAg
Q2hlY2tBbGxvd2FuY2UKKyAgICB9OworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+
IGNyZWF0ZShFbGVtZW50KiwgQ2hlY2tVc2VyU2hhZG93Um9vdEFsbG93YW5jZSwgRXhjZXB0aW9u
Q29kZSYpOworCiAgICAgdm9pZCByZWNhbGNTaGFkb3dUcmVlU3R5bGUoU3R5bGVDaGFuZ2UpOwog
CiAgICAgdm9pZCBzZXROZWVkc1JlYXR0YWNoSG9zdENoaWxkcmVuQW5kU2hhZG93KCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggODM0ZDhiMDlmZDJhNjUzN2Q2ZmRjZTg5ZWU5M2I0YWQ4ZGRmMzRiMC4uNjkwN2JhZDVhYzQ4
MjBlYWJhNmY1N2E4ZTdhMzhkYzA4OTVlZDAxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEy
LTAyLTA3ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CisKKyAgICAgICAg
RGlzYWJsZSBhZGRpbmcgYSBzaGFkb3cgcm9vdCB0byBlbGVtZW50cyBoYXZpbmcgYSBkeW5hbWlj
IGJ1aWx0LWluIHNoYWRvdyByb290LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Nzc5MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVk
OgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQ6CisKIDIwMTItMDItMDYgIERh
dmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFBvcnQgc29tZSBp
bmRleGVkZGIgbGF5b3V0IHRlc3RzIHRvIHdvcmtlcnMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45NmYzYTA0OGU3YTk2ZTE2Njc5NDk4MDE4YTM4ZTk4ZDZiMjk1NjU3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDI3IEBACitUZXN0cyB0byBlbnN1cmUgdGhhdCBzaGFkb3cgZWxlbWVu
dCBjYW5ub3QgYmUgY3JlYXRlZCBpbiBlbGVtZW50cyBoYXZpbmcgZHluYW1pY2FsbHkgY3JlYXRl
ZCBzaGFkb3cgcm9vdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0RJVgorUEFT
UyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSBpcyBub3QgbnVsbAorU1BBTgorUEFTUyBu
ZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSBpcyBub3QgbnVsbAorQQorUEFTUyBuZXcgV2Vi
S2l0U2hhZG93Um9vdChlbGVtZW50KSBpcyBub3QgbnVsbAorU0VDVElPTgorUEFTUyBuZXcgV2Vi
S2l0U2hhZG93Um9vdChlbGVtZW50KSBpcyBub3QgbnVsbAorSU5QVVQKK1BBU1MgbmV3IFdlYktp
dFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBISUVSQVJDSFlfUkVR
VUVTVF9FUlI6IERPTSBFeGNlcHRpb24gMy4KK1NFTEVDVAorUEFTUyBuZXcgV2ViS2l0U2hhZG93
Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhJRVJBUkNIWV9SRVFVRVNUX0VS
UjogRE9NIEV4Y2VwdGlvbiAzLgorQVVESU8KK1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxl
bWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBISUVSQVJDSFlfUkVRVUVTVF9FUlI6IERPTSBF
eGNlcHRpb24gMy4KK1ZJREVPCitQQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogSElFUkFSQ0hZX1JFUVVFU1RfRVJSOiBET00gRXhjZXB0aW9u
IDMuCit0cmVmCitQQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogSElFUkFSQ0hZX1JFUVVFU1RfRVJSOiBET00gRXhjZXB0aW9uIDMuCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
ZTUyMGUxOWM2NWU2ODkwMGFlMmY0MTJhNDdiMDZjZDVlYWNkZDViCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0bWwKQEAgLTAs
MCArMSw1MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjx0cmVmIGlkPSJ0cmVmIiAvPjwv
c3ZnPgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3RzIHRvIGVuc3VyZSB0aGF0IHNoYWRvdyBlbGVtZW50IGNhbm5vdCBiZSBjcmVhdGVkIGluIGVs
ZW1lbnRzIGhhdmluZyBkeW5hbWljYWxseSBjcmVhdGVkIHNoYWRvdyByb290LiIpOworCitmdW5j
dGlvbiB0ZXN0VG9BZGRTaGFkb3dSb290KGVsZW1lbnQsIHN1Y2Nlc3MpIHsKKyAgICBkZWJ1Zyhl
bGVtZW50Lm5vZGVOYW1lKTsKKworICAgIGlmIChzdWNjZXNzKQorICAgICAgICBzaG91bGROb3RC
ZSgibmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkiLCAibnVsbCIpOworICAgIGVsc2UKKyAg
ICAgICAgc2hvdWxkVGhyb3coIm5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIik7Cit9CisK
K3ZhciBlbGVtZW50c1RvU3VjY2VzcyA9IFsKKyAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKSwKKyAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyksCisgICAgZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnYScpLAorICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlY3Rpb24n
KQorXTsKKwordmFyIGVsZW1lbnRzVG9GYWlsID0gWworICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2lucHV0JyksCisgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VsZWN0JyksCisgICAg
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYXVkaW8nKSwKKyAgICBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCd2aWRlbycpLAorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0cmVmJykKK107CisK
K2ZvciAodmFyIGkgPSAwOyBpIDwgZWxlbWVudHNUb1N1Y2Nlc3MubGVuZ3RoOyArK2kpIHsKKyAg
ICB2YXIgZWxlbWVudCA9IGVsZW1lbnRzVG9TdWNjZXNzW2ldOworICAgIHRlc3RUb0FkZFNoYWRv
d1Jvb3QoZWxlbWVudCwgdHJ1ZSk7Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgZWxlbWVudHNU
b0ZhaWwubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgZWxlbWVudCA9IGVsZW1lbnRzVG9GYWlsW2ld
OworICAgIHRlc3RUb0FkZFNoYWRvd1Jvb3QoZWxlbWVudCwgZmFsc2UpOworfQorCit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAppbmRleCA0MDA0YTA5ZmQ3NTM4ZGFhMDFkYmU4NmQxMjFh
ODAyYzYwYTllZWM4Li40NTI0MDI2YWU4OWZkZWVlMmJiMmU0MGM3NjE0Y2RkNjlkY2ZiODJmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZApAQCAtMTkzOCw2ICsxOTM4LDcgQEAgZmFzdC9jc3Mv
c3R5bGUtc2NvcGVkCiAKICMgRU5BQkxFKFNIQURPV19ET00pIGlzIGRpc2FibGVkLgogZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCitmYXN0L2RvbS9zaGFkb3cvc2hhZG93
LWRpc2FibGUuaHRtbAogCiAjIENTUyBGaWx0ZXJzIHN1cHBvcnQgbm90IHlldCBlbmFibGVkIChu
ZWVkcyBFTkFCTEVfQ1NTX0ZJTFRFUlMpLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Njg0NjkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9T
a2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggNTE2MDQ1Nzg2
ZGY5NjA1NWY3NzAzN2M1ZmQyOGMzZGE3MzQ3YTRjMS4uNzIyNWRkMmE2NTM1ZDc3MjQ0ZWFhZjAw
OWM5N2Y5YTZkNzMzYTEwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAgLTM0OCw2ICsz
NDgsNyBAQCBmYXN0L2Nzcy9zdHlsZS1zY29wZWQKIAogIyBFTkFCTEUoU0hBRE9XX0RPTSkgaXMg
ZGlzYWJsZWQuCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKK2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1sCiAKICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBu
b3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9ucwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCA5ODY1NzMwYzQxYTBlNDQyMWYwMWY2NWU0Njk1
OWFiOTYzNjMwODBkLi4zMjAwOTFjMTVhNjVhMjEzMmE1MjA2OTY3M2Q4MjJmYjA1ZDYxN2NlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtNDE2LDYgKzQxNiw3IEBAIGZhc3QvY3NzL3N0
eWxlLXNjb3BlZAogCiAjIEVOQUJMRShTSEFET1dfRE9NKSBpcyBkaXNhYmxlZC4KIGZhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorZmFzdC9kb20vc2hhZG93L3NoYWRvdy1k
aXNhYmxlLmh0bWwKIAogIyBKU0MgZG9lcyBub3Qgc3VwcG9ydCBzZXRJc29sYXRlZFdvcmxkU2Vj
dXJpdHlPcmlnaW4gKGh0dHA6Ly93ZWJraXQub3JnL2IvNjE1NDApCiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2lzb2xhdGVkV29ybGQvY3Jvc3Mtb3JpZ2luLXhoci5odG1sCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZAppbmRleCBiYjUzNTkyNTUxNjE4ODExMWEyODFmODQ2OTUwMzQzZjc0M2FiYjQyLi5lYTI3
NmJkMmVjZThiNTFmZTM0Y2JjNjM0ODNlMDhkOGE4M2M2Mzc4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Nr
aXBwZWQKQEAgLTE1OSw2ICsxNTksNyBAQCBmYXN0L2Nzcy9zdHlsZS1zY29wZWQKIAogIyBFTkFC
TEUoU0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQuCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
anMtYXBpLmh0bWwKK2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1sCiAKICMgQ1NT
IFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTcz
MTIKIGZhc3QvcmVnaW9ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Nr
aXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBmZDEwMDBhNjA4
OWM3MzEwMjA4NDE1ZDk1MjY4Zjk1NWFlMjc3YTY2Li40ZDgzMGVkYjczMTVmYjkzZjZkZTllYmVh
M2Q3YTcyNWM0ZjYwMjY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tp
cHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTQzOSw2ICsx
NDM5LDcgQEAgZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKICMgRU5BQkxFKFNIQURPV19ET00pIGlz
IGRpc2FibGVkLgogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCitmYXN0
L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbAogCiAjIENTUyBSZWdpb25zIHN1cHBvcnQg
bm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzU3MzEyCiBmYXN0L3JlZ2lvbnMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCmluZGV4IDVmZjc5YjU0YjQ5MTdmZjky
YTM4YjM2NmQ1OWFhNmY2ZmUwZTUyMWIuLjAyYTQ4OTBmZGNiYjJhNjY5N2M0YzNlYzhmMGJiMzYy
OWFhZDRiZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBw
ZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZApAQCAtMTk2Myw2
ICsxOTYzLDcgQEAgZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKICMgRU5BQkxFKFNIQURPV19ET00p
IGlzIGRpc2FibGVkLgogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCitm
YXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbAogCiAjIENTUyBSZWdpb25zIHN1cHBv
cnQgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzU3MzEyCiBmYXN0L3JlZ2lv
bnMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126242</attachid>
            <date>2012-02-08 22:15:55 -0800</date>
            <delta_ts>2012-02-08 23:14:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77935-20120209151553.patch</filename>
            <type>text/plain</type>
            <size>17551</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3MTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFkZGNiN2JjYjdjMTIy
ZWRmZDZlM2FhNDhkYWVhYjhjNDBhNzNhZC4uMDk3ZmYzMGVlNGRhYWRiYjJhMjA0NzE3NTRkZGZk
Y2UxOTNmYzc4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTAyLTA4ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CisKKyAgICAgICAgRGlzYWJsZSBhZGRp
bmcgYSBzaGFkb3cgcm9vdCB0byBlbGVtZW50cyBoYXZpbmcgYSBkeW5hbWljIGJ1aWx0LWluIHNo
YWRvdyByb290LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Nzc5MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBXZSB0ZW1wb3JhcmlseSBkaXNhYmxlIGFkZGluZyBhIHNoYWRvdyByb290IGluIGVsZW1lbnRz
IGhhdmluZyBhIGR5bmFtaWMgdXNlciBhZ2VudCBzaGFkb3cgcm9vdC4KKyAgICAgICAgVGhlc2Ug
c2hhZG93IHJvb3RzIGFyZSBjdXJyZW50bHkgY3JlYXRlZCB1c2luZyBFbGVtZW50OjplbnN1cmVT
aGFkb3dSb290LgorICAgICAgICBTbyB3ZSBkb24ndCBjaGVjayB0aGUgY29uZGl0aW9uIGlmIGEg
c2hhZG93IHJvb3QgaXMgY3JlYXRlZCBlYWl0aGVyIHVzaW5nIEVsZW1lbnQ6OmVuc3VyZVNoYWRv
d1Jvb3QKKyAgICAgICAgb3IgU2hhZG93Um9vdDo6Q3JlYXRpbmdVc2VyQWdlbnRTaGFkb3dSb290
IGlzIHNwZWNpZmllZCBmb3IgU2hhZG93Um9vdDo6Y3JlYXRlLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnN1cmVTaGFkb3dSb290KToKKyAg
ICAgICAgKiBkb20vU2hhZG93Um9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjphbGxvd3NVc2Vy
U2hhZG93Um9vdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRv
d1Jvb3Q6OmNyZWF0ZSk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKFNo
YWRvd1Jvb3QpOgorICAgICAgICAqIGh0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxEZXRhaWxzRWxlbWVudDo6Y3JlYXRlU2hhZG93U3VidHJlZSk6Cisg
ICAgICAgICAgU2hhZG93Um9vdDo6Q3JlYXRpbmdVc2VyQWdlbnRTaGFkb3dSb290IGlzIHNwZWNp
ZmllZC4KKyAgICAgICAgKiBodG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxLZXlnZW5FbGVtZW50OjpIVE1MS2V5Z2VuRWxlbWVudCk6IGRpdHRvLgorICAg
ICAgICAqIGh0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWV0ZXJFbGVtZW50OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKTogZGl0dG8uCisgICAgICAgICogaHRt
bC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQcm9ncmVz
c0VsZW1lbnQ6OmNyZWF0ZVNoYWRvd1N1YnRyZWUpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0hU
TUxTdW1tYXJ5RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3VtbWFyeUVsZW1l
bnQ6OmNyZWF0ZVNoYWRvd1N1YnRyZWUpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0hUTUxUZXh0
QXJlYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6
Y3JlYXRlU2hhZG93U3VidHJlZSk6IGRpdHRvLgorCiAyMDEyLTAyLTA4ICBUb255IENoYW5nICA8
dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgcmVmYWN0b3IgUmVuZGVyRmxleGlibGVCb3gg
dG8gcmV0dXJuIHByZWZlcnJlZCBzaXplcyBvZiBhbGwgY2hpbGRyZW4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcAppbmRleCA5YjAyM2RmMWY5ZGVmYTI3ZjcyMDBlODkzOTBmNDFiY2QxNDdlNjZhLi4zNjRi
ZDgzYmNlZDI1ZTIxOGEzNjgyN2Q4MDRhZTY5YTJhZWZiMWI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCkBAIC0xMTk5LDEwICsxMTk5LDcgQEAgU2hhZG93Um9vdCogRWxlbWVudDo6ZW5zdXJlU2hh
ZG93Um9vdCgpCiAgICAgaWYgKFNoYWRvd1Jvb3QqIGV4aXN0aW5nUm9vdCA9IHNoYWRvd1Jvb3Qo
KSkKICAgICAgICAgcmV0dXJuIGV4aXN0aW5nUm9vdDsKIAotICAgIEV4Y2VwdGlvbkNvZGUgZWMg
PSAwOwotICAgIHNldFNoYWRvd1Jvb3QoU2hhZG93Um9vdDo6Y3JlYXRlKGRvY3VtZW50KCkpLCBl
Yyk7Ci0gICAgQVNTRVJUKCFlYyk7Ci0gICAgcmV0dXJuIHNoYWRvd1Jvb3QoKTsKKyAgICByZXR1
cm4gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OkNyZWF0aW5nVXNlckFnZW50
U2hhZG93Um9vdCwgQVNTRVJUX05PX0VYQ0VQVElPTikuZ2V0KCk7CiB9CiAKIHZvaWQgRWxlbWVu
dDo6cmVtb3ZlU2hhZG93Um9vdCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKaW5kZXggYmJh
MTg5ZjE0YWUzYzdmNDZiMTMyNzUyZjA3NDNiYzEzNTgwZGIyYS4uNjhiMTU5ZGUyM2Y1ZGNhNGUx
ZmJjMGFkYmZhMGRiNmZiZWEzMDkzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1No
YWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcApAQCAt
MzEsNyArMzEsOSBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxDb250ZW50RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5o
IgogI2luY2x1ZGUgIk5vZGVSYXJlRGF0YS5oIgorI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5j
bHVkZSAiVGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01OSwxMiArNjEsNTEgQEAg
U2hhZG93Um9vdDo6flNoYWRvd1Jvb3QoKQogICAgICAgICBjbGVhclJhcmVEYXRhKCk7CiB9CiAK
K3N0YXRpYyBib29sIGFsbG93c1VzZXJTaGFkb3dSb290KEVsZW1lbnQqIGVsZW1lbnQpCit7Cisg
ICAgLy8gRklYTUU6IElOUFVUIHJlY3JlYXRlcyBzaGFkb3cgcm9vdCBkeW5hbWljYWxseS4KKyAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MzAKKyAgICBp
ZiAoZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgLy8gRklYTUU6IE1FRElBIHJlY3JlYXRlcyBzaGFkb3cgcm9vdCBk
eW5hbWljYWxseS4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Nzc5MzYKKyAgICBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnZpZGVvVGFn
KSB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6YXVkaW9UYWcpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAvLyBGSVhNRTogU0VMRUNUIChWYWxpZGF0aW9uTWVzc2FnZSkg
cmVjcmVhdGVzIHNoYWRvdyByb290IGR5bmFtaWNhbGx5LgorICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkzNworICAgIGlmIChlbGVtZW50LT5oYXNUYWdO
YW1lKEhUTUxOYW1lczo6c2VsZWN0VGFnKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
Ly8gRklYTUU6IFNWRyBUUkVGIHJlY3JlYXRlcyBzaGFkb3cgcm9vdCBkeW5hbWljYWxseS4KKyAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MzgKKyAgICBp
ZiAoZWxlbWVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6dHJlZlRhZykpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+
IFNoYWRvd1Jvb3Q6OmNyZWF0ZShFbGVtZW50KiBlbGVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykK
IHsKKyAgICByZXR1cm4gY3JlYXRlKGVsZW1lbnQsIENyZWF0aW5nQXV0aG9yU2hhZG93Um9vdCwg
ZWMpOworfQorCitQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IFNoYWRvd1Jvb3Q6OmNyZWF0ZShFbGVt
ZW50KiBlbGVtZW50LCBTaGFkb3dSb290Q3JlYXRpb25QdXJwb3NlIHB1cnBvc2UsIEV4Y2VwdGlv
bkNvZGUmIGVjKQorewogICAgIGlmICghZWxlbWVudCB8fCBlbGVtZW50LT5zaGFkb3dSb290KCkp
IHsKICAgICAgICAgZWMgPSBISUVSQVJDSFlfUkVRVUVTVF9FUlI7CiAgICAgICAgIHJldHVybiAw
OwogICAgIH0KKworICAgIC8vIFNpbmNlIHNvbWUgZWxlbWVudHMgcmVjcmVhdGVzIHNoYWRvdyBy
b290IGR5bmFtaWNhbGx5LCBtdWx0aXBsZSBzaGFkb3cgc3VidHJlZXMgd29uJ3Qgd29yayB3ZWxs
IGluIHRoYXQgZWxlbWVudC4KKyAgICAvLyBVbnRpbCB0aGV5IGFyZSBmaXhlZCwgd2UgZGlzYWJs
ZSBhZGRpbmcgdXNlciBnZW5lcmF0ZWQgc2hhZG93IHJvb3QgZm9yIHRoZW0uCisgICAgaWYgKHB1
cnBvc2UgPT0gQ3JlYXRpbmdBdXRob3JTaGFkb3dSb290ICYmICFhbGxvd3NVc2VyU2hhZG93Um9v
dChlbGVtZW50KSkgeworICAgICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjsKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgQVNTRVJUKHB1cnBvc2UgIT0gQ3JlYXRpbmdVc2Vy
QWdlbnRTaGFkb3dSb290IHx8ICFlbGVtZW50LT5zaGFkb3dSb290KCkpOwogICAgIFJlZlB0cjxT
aGFkb3dSb290PiBzaGFkb3dSb290ID0gY3JlYXRlKGVsZW1lbnQtPmRvY3VtZW50KCkpOwogCiAg
ICAgZWMgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKaW5kZXggZDBiMTg5NDcyMTQ2YmM3OTIw
OGE1OWE4YjFhZTFmMjE2NmZmNzI1Yy4uMDI4MWIyYTcwYTZlMmM1OTAzMDRhYjg3MTNiNWU5OWM5
YTQ4MWY3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCkBAIC00Miw2ICs0MiwxNiBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gY3JlYXRlKERvY3VtZW50Kik7
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gY3JlYXRlKEVsZW1lbnQqLCBFeGNl
cHRpb25Db2RlJik7CiAKKyAgICAvLyBGSVhNRTogV2Ugd2lsbCBzdXBwb3J0IG11bHRpcGxlIHNo
YWRvdyBzdWJ0cmVlcywgaG93ZXZlciBjdXJyZW50IGltcGxlbWVudGF0aW9uIGRvZXMgbm90IHdv
cmsgd2VsbAorICAgIC8vIGlmIGEgc2hhZG93IHJvb3QgaXMgZHluYW1pY2FsbHkgY3JlYXRlZC4g
U28gd2UgcHJvaGliaXQgbXVsdGlwbGUgc2hhZG93IHN1YnRyZWVzCisgICAgLy8gaW4gc2V2ZXJh
bCBlbGVtZW50cyBmb3IgYSB3aGlsZS4KKyAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc3NTAzIGFuZCByZWxhdGVkIGJ1Z3MuCisgICAgZW51bSBTaGFk
b3dSb290Q3JlYXRpb25QdXJwb3NlIHsKKyAgICAgICAgQ3JlYXRpbmdVc2VyQWdlbnRTaGFkb3dS
b290LAorICAgICAgICBDcmVhdGluZ0F1dGhvclNoYWRvd1Jvb3QsCisgICAgfTsKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxTaGFkb3dSb290PiBjcmVhdGUoRWxlbWVudCosIFNoYWRvd1Jvb3RDcmVh
dGlvblB1cnBvc2UsIEV4Y2VwdGlvbkNvZGUmKTsKKwogICAgIHZvaWQgcmVjYWxjU2hhZG93VHJl
ZVN0eWxlKFN0eWxlQ2hhbmdlKTsKIAogICAgIHZvaWQgc2V0TmVlZHNSZWF0dGFjaEhvc3RDaGls
ZHJlbkFuZFNoYWRvdygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0
YWlsc0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQu
Y3BwCmluZGV4IGQ1M2EwNjNhYmEwMWIwNDhhNTQ2MTU4MTYwZjAzODA1YzY4Njc5NDEuLjU2MWU5
NTg5NmNjYzc2NTY5Y2E2ZTcwN2NmNDg4NDgwNTgwZThhMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIEhUTUxE
ZXRhaWxzRWxlbWVudDo6Y3JlYXRlU2hhZG93U3VidHJlZSgpCiB7CiAgICAgQVNTRVJUKCFzaGFk
b3dSb290KCkpOwogCi0gICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QgPSBTaGFkb3dSb290Ojpj
cmVhdGUodGhpcywgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgUmVmUHRyPFNoYWRvd1Jvb3Q+
IHJvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6Q3JlYXRpbmdVc2Vy
QWdlbnRTaGFkb3dSb290LCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICByb290LT5hcHBlbmRD
aGlsZChEZXRhaWxzU3VtbWFyeUVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCgpKSwgQVNTRVJUX05P
X0VYQ0VQVElPTiwgdHJ1ZSk7CiAgICAgcm9vdC0+YXBwZW5kQ2hpbGQoRGV0YWlsc0NvbnRlbnRF
bGVtZW50OjpjcmVhdGUoZG9jdW1lbnQoKSksIEFTU0VSVF9OT19FWENFUFRJT04sIHRydWUpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcAppbmRleCA3ZDA3OTQy
NTlkYWVkMTM4YWM5NzU2ZGNkMWNkZTI2ZDEzMzg4ZTU4Li40MmI1ZjgwMzJhZmU0NzYzYzFmZDY3
MDI5ZjU4ZmU0ZDZjMDliMTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxL
ZXlnZW5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVt
ZW50LmNwcApAQCAtODYsNyArODYsNyBAQCBpbmxpbmUgSFRNTEtleWdlbkVsZW1lbnQ6OkhUTUxL
ZXlnZW5FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZQogICAgIH0K
IAogICAgIEFTU0VSVCghc2hhZG93Um9vdCgpKTsKLSAgICBSZWZQdHI8U2hhZG93Um9vdD4gcm9v
dCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAgICBS
ZWZQdHI8U2hhZG93Um9vdD4gcm9vdCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dS
b290OjpDcmVhdGluZ1VzZXJBZ2VudFNoYWRvd1Jvb3QsIEFTU0VSVF9OT19FWENFUFRJT04pOwog
ICAgIHJvb3QtPmFwcGVuZENoaWxkKHNlbGVjdCwgZWMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWV0ZXJFbGVtZW50LmNwcAppbmRleCA1OTI1ZTQ5Zjg3MzdjMWFiOGUzZjU0M2ExN2Ew
NzZmOTlmNTkzOTlkLi5iYjY0MDY4ZDhkMGZhMGM0MmJjMDkwMDdkZmViZTlhMTQ3MzIzZmM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAKQEAgLTI0MSw3ICsyNDEs
NyBAQCB2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQogICAgIEV4
Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIGJhci0+YXBwZW5kQ2hpbGQobV92YWx1ZSwgZWMpOwog
Ci0gICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywg
QVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QgPSBTaGFk
b3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6Q3JlYXRpbmdVc2VyQWdlbnRTaGFkb3dS
b290LCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICByb290LT5hcHBlbmRDaGlsZChiYXIsIGVj
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAKaW5k
ZXggMWIyNDYxYzgyMDc3ZWFlYjg5MTAyZGIyNGNlZTFjYmJiNTk3MTI1My4uMGMyMzcyNTgxZjc5
YWZmNGRhYzU0OGEwYmE3ZTQ0YzU2YWE5YjVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQcm9ncmVzc0VsZW1lbnQuY3BwCkBAIC0xNTksNyArMTU5LDcgQEAgdm9pZCBIVE1MUHJvZ3Jl
c3NFbGVtZW50OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKICAgICBtX3ZhbHVlID0gUHJvZ3Jlc3NW
YWx1ZUVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCgpKTsKICAgICBiYXItPmFwcGVuZENoaWxkKG1f
dmFsdWUsIEFTU0VSVF9OT19FWENFUFRJT04pOwogCi0gICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJv
b3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAg
UmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93
Um9vdDo6Q3JlYXRpbmdVc2VyQWdlbnRTaGFkb3dSb290LCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsK
ICAgICByb290LT5hcHBlbmRDaGlsZChiYXIsIEFTU0VSVF9OT19FWENFUFRJT04pOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdW1tYXJ5RWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdW1tYXJ5RWxlbWVudC5jcHAKaW5kZXggZDVmNGMxNTZl
MWIxOWJlN2I3MzZiMmFlODBhMWQ1NGMyYzQyYTE2OS4uOTc5ZWY1NDcyMWJmNGJjZmU2ZTMyZjdh
N2RlODk3ZWMxOWUyMmNjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3Vt
bWFyeUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVt
ZW50LmNwcApAQCAtNzQsNyArNzQsNyBAQCBSZW5kZXJPYmplY3QqIEhUTUxTdW1tYXJ5RWxlbWVu
dDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZQogdm9pZCBI
VE1MU3VtbWFyeUVsZW1lbnQ6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQogewogICAgIEFTU0VSVCgh
c2hhZG93Um9vdCgpKTsKLSAgICBSZWZQdHI8U2hhZG93Um9vdD4gcm9vdCA9IFNoYWRvd1Jvb3Q6
OmNyZWF0ZSh0aGlzLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAgICBSZWZQdHI8U2hhZG93Um9v
dD4gcm9vdCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpDcmVhdGluZ1Vz
ZXJBZ2VudFNoYWRvd1Jvb3QsIEFTU0VSVF9OT19FWENFUFRJT04pOwogICAgIHJvb3QtPmFwcGVu
ZENoaWxkKERldGFpbHNNYXJrZXJDb250cm9sOjpjcmVhdGUoZG9jdW1lbnQoKSksIEFTU0VSVF9O
T19FWENFUFRJT04sIHRydWUpOwogICAgIHJvb3QtPmFwcGVuZENoaWxkKFN1bW1hcnlDb250ZW50
RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkpLCBBU1NFUlRfTk9fRVhDRVBUSU9OLCB0cnVlKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCmluZGV4IDYx
OTY2NzAyMmRlMWUwMjU1ZjZiNGUwNmU5ZDA0NWNkMGI3NjI3NDkuLjQwMTkxNTYyMjUyMDNmYTk3
YTI3YTA5YjNhODkzYzFjYjBmOWMxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRleHRBcmVhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEFyZWFFbGVtZW50LmNwcApAQCAtODUsNyArODUsNyBAQCBQYXNzUmVmUHRyPEhUTUxUZXh0QXJl
YUVsZW1lbnQ+IEhUTUxUZXh0QXJlYUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
Jgogdm9pZCBIVE1MVGV4dEFyZWFFbGVtZW50OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKIHsKICAg
ICBBU1NFUlQoIXNoYWRvd1Jvb3QoKSk7Ci0gICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QgPSBT
aGFkb3dSb290OjpjcmVhdGUodGhpcywgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgUmVmUHRy
PFNoYWRvd1Jvb3Q+IHJvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6
Q3JlYXRpbmdVc2VyQWdlbnRTaGFkb3dSb290LCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICBy
b290LT5hcHBlbmRDaGlsZChUZXh0Q29udHJvbElubmVyVGV4dEVsZW1lbnQ6OmNyZWF0ZShkb2N1
bWVudCgpKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNmNlMTA0NGU2YTkz
NDFlOWQzODVmZjY4MmNlYjIwZWQyMmExZDNiLi42NzQyN2Y4Nzc1ZTJkNzczMDU2NDAyZDVlNzhj
MmI3ODU1NjU4NmMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDItMDggIFNoaW55YSBL
YXdhbmFrYSAgPHNoaW55YWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBEaXNhYmxlIGFkZGluZyBh
IHNoYWRvdyByb290IHRvIGVsZW1lbnRzIGhhdmluZyBhIGR5bmFtaWMgYnVpbHQtaW4gc2hhZG93
IHJvb3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
NzkzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2VmbC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVk
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0
L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisgICAgICAgICogcGxh
dGZvcm0vd2luY2Fpcm8vU2tpcHBlZDoKKwogMjAxMi0wMi0wNyAgTU9SSVRBIEhhamltZSAgPG1v
cnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXBsYWNlbWVudCB0ZXh0IHNob3VsZCBiZSBh
dmFpbGFibGUgZnJvbSB0aGUgbWFya2VyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZmM2Ew
NDhlN2E5NmUxNjY3OTQ5ODAxOGEzOGU5OGQ2YjI5NTY1NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwyNyBAQAorVGVzdHMgdG8gZW5zdXJlIHRoYXQgc2hhZG93IGVsZW1lbnQgY2Fubm90
IGJlIGNyZWF0ZWQgaW4gZWxlbWVudHMgaGF2aW5nIGR5bmFtaWNhbGx5IGNyZWF0ZWQgc2hhZG93
IHJvb3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitESVYKK1BBU1MgbmV3IFdl
YktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgaXMgbm90IG51bGwKK1NQQU4KK1BBU1MgbmV3IFdlYktp
dFNoYWRvd1Jvb3QoZWxlbWVudCkgaXMgbm90IG51bGwKK0EKK1BBU1MgbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZWxlbWVudCkgaXMgbm90IG51bGwKK1NFQ1RJT04KK1BBU1MgbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZWxlbWVudCkgaXMgbm90IG51bGwKK0lOUFVUCitQQVNTIG5ldyBXZWJLaXRTaGFkb3dS
b290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSElFUkFSQ0hZX1JFUVVFU1RfRVJS
OiBET00gRXhjZXB0aW9uIDMuCitTRUxFQ1QKK1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxl
bWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBISUVSQVJDSFlfUkVRVUVTVF9FUlI6IERPTSBF
eGNlcHRpb24gMy4KK0FVRElPCitQQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogSElFUkFSQ0hZX1JFUVVFU1RfRVJSOiBET00gRXhjZXB0aW9u
IDMuCitWSURFTworUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjogRE9NIEV4Y2VwdGlvbiAzLgordHJl
ZgorUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWU1MjBlMTlj
NjVlNjg5MDBhZTJmNDEyYTQ3YjA2Y2Q1ZWFjZGQ1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1sCkBAIC0wLDAgKzEsNTEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiBzdHlsZT0iZGlzcGxheTpub25lIj48dHJlZiBpZD0idHJlZiIgLz48L3N2Zz4KKzxw
cmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0byBl
bnN1cmUgdGhhdCBzaGFkb3cgZWxlbWVudCBjYW5ub3QgYmUgY3JlYXRlZCBpbiBlbGVtZW50cyBo
YXZpbmcgZHluYW1pY2FsbHkgY3JlYXRlZCBzaGFkb3cgcm9vdC4iKTsKKworZnVuY3Rpb24gdGVz
dFRvQWRkU2hhZG93Um9vdChlbGVtZW50LCBzdWNjZXNzKSB7CisgICAgZGVidWcoZWxlbWVudC5u
b2RlTmFtZSk7CisKKyAgICBpZiAoc3VjY2VzcykKKyAgICAgICAgc2hvdWxkTm90QmUoIm5ldyBX
ZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIiwgIm51bGwiKTsKKyAgICBlbHNlCisgICAgICAgIHNo
b3VsZFRocm93KCJuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSIpOworfQorCit2YXIgZWxl
bWVudHNUb1N1Y2Nlc3MgPSBbCisgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksCisg
ICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpLAorICAgIGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2EnKSwKKyAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWN0aW9uJykKK107CisK
K3ZhciBlbGVtZW50c1RvRmFpbCA9IFsKKyAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1
dCcpLAorICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlbGVjdCcpLAorICAgIGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2F1ZGlvJyksCisgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlk
ZW8nKSwKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndHJlZicpCitdOworCitmb3IgKHZh
ciBpID0gMDsgaSA8IGVsZW1lbnRzVG9TdWNjZXNzLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGVs
ZW1lbnQgPSBlbGVtZW50c1RvU3VjY2Vzc1tpXTsKKyAgICB0ZXN0VG9BZGRTaGFkb3dSb290KGVs
ZW1lbnQsIHRydWUpOworfQorCitmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1lbnRzVG9GYWlsLmxl
bmd0aDsgKytpKSB7CisgICAgdmFyIGVsZW1lbnQgPSBlbGVtZW50c1RvRmFpbFtpXTsKKyAgICB0
ZXN0VG9BZGRTaGFkb3dSb290KGVsZW1lbnQsIGZhbHNlKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsL1NraXBwZWQKaW5kZXggNDAwNGEwOWZkNzUzOGRhYTAxZGJlODZkMTIxYTgwMmM2MGE5
ZWVjOC4uNDUyNDAyNmFlODlmZGVlZTJiYjJlNDBjNzYxNGNkZDY5ZGNmYjgyZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsL1NraXBwZWQKQEAgLTE5MzgsNiArMTkzOCw3IEBAIGZhc3QvY3NzL3N0eWxlLXNj
b3BlZAogCiAjIEVOQUJMRShTSEFET1dfRE9NKSBpcyBkaXNhYmxlZC4KIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxl
Lmh0bWwKIAogIyBDU1MgRmlsdGVycyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZCAobmVlZHMgRU5B
QkxFX0NTU19GSUxURVJTKS4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY4NDY5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IGRjZThkZTQ1MTU4YWQyNTFl
NzE5MmJiMjRlYWFlNmU1MDAyZDVkODMuLmExYTRiMTczNDg1ZWE4YWU5ZGQ4ZmRkMWUxMmEzNzk2
MjE5YTI3YjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0zNTEsNiArMzUxLDcgQEAg
ZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKICMgRU5BQkxFKFNIQURPV19ET00pIGlzIGRpc2FibGVk
LgogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCitmYXN0L2RvbS9zaGFk
b3cvc2hhZG93LWRpc2FibGUuaHRtbAogCiAjIENTUyBSZWdpb25zIHN1cHBvcnQgbm90IHlldCBl
bmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzU3MzEyCiBmYXN0L3JlZ2lvbnMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1NraXBwZWQKaW5kZXggMjJkYTczZTkwYzg5MGRhMjk3NjIxNGJmNzQyYzQwYWFhYWQ1
ZjRjNi4uYWQzMGU2YmVlZjYzYzQ1ZjY5Yzc1YjRlNWUxYThiMTc2MzBmMGRhOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1NraXBwZWQKQEAgLTQyMCw2ICs0MjAsNyBAQCBmYXN0L2Nzcy9zdHlsZS1zY29w
ZWQKIAogIyBFTkFCTEUoU0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQuCiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXJvb3QtanMtYXBpLmh0bWwKK2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5o
dG1sCiAKICMgSlNDIGRvZXMgbm90IHN1cHBvcnQgc2V0SXNvbGF0ZWRXb3JsZFNlY3VyaXR5T3Jp
Z2luIChodHRwOi8vd2Via2l0Lm9yZy9iLzYxNTQwKQogaHR0cC90ZXN0cy9zZWN1cml0eS9pc29s
YXRlZFdvcmxkL2Nyb3NzLW9yaWdpbi14aHIuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5k
ZXggMTJjZTY3NDA1MzE3NDZiMDg4MGIyYWY3ZjY2NjA5NTk1N2FjYjFiYy4uYmVhYjk3OTFlZWRm
YzNlNmNlODdkOWEzYzRhNWIyMmI1OGFlNTUyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBA
IC0xNTksNiArMTU5LDcgQEAgZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKICMgRU5BQkxFKFNIQURP
V19ET00pIGlzIGRpc2FibGVkLgogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5o
dG1sCitmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbAogCiAjIENTUyBSZWdpb25z
IHN1cHBvcnQgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzU3MzEyCiBmYXN0
L3JlZ2lvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggMjU0YzMxM2IxM2Y3MzA1NzY0
NWY0ZWMyNTliNGU4ODE4ZGY0ZWZmMS4uMWFkYmUyNWI1Y2Q0ZTE1MzJiYmU3ZTdjNjIyYzk2NDll
Zjk3ZGI0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTE0NDIsNiArMTQ0Miw3IEBA
IGZhc3QvY3NzL3N0eWxlLXNjb3BlZAogCiAjIEVOQUJMRShTSEFET1dfRE9NKSBpcyBkaXNhYmxl
ZC4KIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1kaXNhYmxlLmh0bWwKIAogIyBDU1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQg
ZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMgogZmFzdC9yZWdpb25zCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAppbmRleCA1ZmY3OWI1NGI0OTE3ZmY5MmEzOGIzNjZk
NTlhYTZmNmZlMGU1MjFiLi4wMmE0ODkwZmRjYmIyYTY2OTdjNGMzZWM4ZjBiYjM2MjlhYWQ0YmQ1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKQEAgLTE5NjMsNiArMTk2Myw3
IEBAIGZhc3QvY3NzL3N0eWxlLXNjb3BlZAogCiAjIEVOQUJMRShTSEFET1dfRE9NKSBpcyBkaXNh
YmxlZC4KIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0bWwKIAogIyBDU1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5
ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMgogZmFzdC9yZWdpb25zCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126245</attachid>
            <date>2012-02-08 23:14:32 -0800</date>
            <delta_ts>2012-02-09 01:18:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77935-20120209161431.patch</filename>
            <type>text/plain</type>
            <size>17788</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3MTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFkZGNiN2JjYjdjMTIy
ZWRmZDZlM2FhNDhkYWVhYjhjNDBhNzNhZC4uMDk3ZmYzMGVlNGRhYWRiYjJhMjA0NzE3NTRkZGZk
Y2UxOTNmYzc4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTAyLTA4ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CisKKyAgICAgICAgRGlzYWJsZSBhZGRp
bmcgYSBzaGFkb3cgcm9vdCB0byBlbGVtZW50cyBoYXZpbmcgYSBkeW5hbWljIGJ1aWx0LWluIHNo
YWRvdyByb290LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Nzc5MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBXZSB0ZW1wb3JhcmlseSBkaXNhYmxlIGFkZGluZyBhIHNoYWRvdyByb290IGluIGVsZW1lbnRz
IGhhdmluZyBhIGR5bmFtaWMgdXNlciBhZ2VudCBzaGFkb3cgcm9vdC4KKyAgICAgICAgVGhlc2Ug
c2hhZG93IHJvb3RzIGFyZSBjdXJyZW50bHkgY3JlYXRlZCB1c2luZyBFbGVtZW50OjplbnN1cmVT
aGFkb3dSb290LgorICAgICAgICBTbyB3ZSBkb24ndCBjaGVjayB0aGUgY29uZGl0aW9uIGlmIGEg
c2hhZG93IHJvb3QgaXMgY3JlYXRlZCBlYWl0aGVyIHVzaW5nIEVsZW1lbnQ6OmVuc3VyZVNoYWRv
d1Jvb3QKKyAgICAgICAgb3IgU2hhZG93Um9vdDo6Q3JlYXRpbmdVc2VyQWdlbnRTaGFkb3dSb290
IGlzIHNwZWNpZmllZCBmb3IgU2hhZG93Um9vdDo6Y3JlYXRlLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnN1cmVTaGFkb3dSb290KToKKyAg
ICAgICAgKiBkb20vU2hhZG93Um9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjphbGxvd3NVc2Vy
U2hhZG93Um9vdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRv
d1Jvb3Q6OmNyZWF0ZSk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKFNo
YWRvd1Jvb3QpOgorICAgICAgICAqIGh0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxEZXRhaWxzRWxlbWVudDo6Y3JlYXRlU2hhZG93U3VidHJlZSk6Cisg
ICAgICAgICAgU2hhZG93Um9vdDo6Q3JlYXRpbmdVc2VyQWdlbnRTaGFkb3dSb290IGlzIHNwZWNp
ZmllZC4KKyAgICAgICAgKiBodG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxLZXlnZW5FbGVtZW50OjpIVE1MS2V5Z2VuRWxlbWVudCk6IGRpdHRvLgorICAg
ICAgICAqIGh0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWV0ZXJFbGVtZW50OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKTogZGl0dG8uCisgICAgICAgICogaHRt
bC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQcm9ncmVz
c0VsZW1lbnQ6OmNyZWF0ZVNoYWRvd1N1YnRyZWUpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0hU
TUxTdW1tYXJ5RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU3VtbWFyeUVsZW1l
bnQ6OmNyZWF0ZVNoYWRvd1N1YnRyZWUpOiBkaXR0by4KKyAgICAgICAgKiBodG1sL0hUTUxUZXh0
QXJlYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6
Y3JlYXRlU2hhZG93U3VidHJlZSk6IGRpdHRvLgorCiAyMDEyLTAyLTA4ICBUb255IENoYW5nICA8
dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgcmVmYWN0b3IgUmVuZGVyRmxleGlibGVCb3gg
dG8gcmV0dXJuIHByZWZlcnJlZCBzaXplcyBvZiBhbGwgY2hpbGRyZW4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcAppbmRleCA5YjAyM2RmMWY5ZGVmYTI3ZjcyMDBlODkzOTBmNDFiY2QxNDdlNjZhLi4zNjRi
ZDgzYmNlZDI1ZTIxOGEzNjgyN2Q4MDRhZTY5YTJhZWZiMWI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCkBAIC0xMTk5LDEwICsxMTk5LDcgQEAgU2hhZG93Um9vdCogRWxlbWVudDo6ZW5zdXJlU2hh
ZG93Um9vdCgpCiAgICAgaWYgKFNoYWRvd1Jvb3QqIGV4aXN0aW5nUm9vdCA9IHNoYWRvd1Jvb3Qo
KSkKICAgICAgICAgcmV0dXJuIGV4aXN0aW5nUm9vdDsKIAotICAgIEV4Y2VwdGlvbkNvZGUgZWMg
PSAwOwotICAgIHNldFNoYWRvd1Jvb3QoU2hhZG93Um9vdDo6Y3JlYXRlKGRvY3VtZW50KCkpLCBl
Yyk7Ci0gICAgQVNTRVJUKCFlYyk7Ci0gICAgcmV0dXJuIHNoYWRvd1Jvb3QoKTsKKyAgICByZXR1
cm4gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OkNyZWF0aW5nVXNlckFnZW50
U2hhZG93Um9vdCwgQVNTRVJUX05PX0VYQ0VQVElPTikuZ2V0KCk7CiB9CiAKIHZvaWQgRWxlbWVu
dDo6cmVtb3ZlU2hhZG93Um9vdCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hh
ZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKaW5kZXggYmJh
MTg5ZjE0YWUzYzdmNDZiMTMyNzUyZjA3NDNiYzEzNTgwZGIyYS4uMjkwYmUzZjZkNDUyNzk3MWQy
ODkwNmJhZTNiN2I4ODAwNjIyMDhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1No
YWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcApAQCAt
MzEsNyArMzEsOSBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxDb250ZW50RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5o
IgogI2luY2x1ZGUgIk5vZGVSYXJlRGF0YS5oIgorI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5j
bHVkZSAiVGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01OSwxMiArNjEsNTAgQEAg
U2hhZG93Um9vdDo6flNoYWRvd1Jvb3QoKQogICAgICAgICBjbGVhclJhcmVEYXRhKCk7CiB9CiAK
K3N0YXRpYyBib29sIGFsbG93c0F1dGhvclNoYWRvd1Jvb3QoRWxlbWVudCogZWxlbWVudCkKK3sK
KyAgICAvLyBGSVhNRTogTUVESUEgcmVjcmVhdGVzIHNoYWRvdyByb290IGR5bmFtaWNhbGx5Lgor
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkzNgorICAg
IGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dmlkZW9UYWcpIHx8IGVsZW1lbnQt
Pmhhc1RhZ05hbWUoSFRNTE5hbWVzOjphdWRpb1RhZykpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIC8vIEZJWE1FOiBWYWxpZGF0aW9uTWVzc2FnZSByZWNyZWF0ZXMgc2hhZG93IHJvb3Qg
ZHluYW1pY2FsbHkuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc3OTM3CisgICAgLy8gRXNwZWNpYWxseSwgSU5QVVQgcmVjcmVhdGVzIHNoYWRvdyByb290
IGR5bmFtaWNhbGx5LgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NzkzMAorICAgIGlmIChlbGVtZW50LT5pc0Zvcm1Db250cm9sRWxlbWVudCgpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBGSVhNRTogV2UgZGlzYWJsZSBtdWx0aXBsZSBz
aGFkb3cgc3VidHJlZXMgZm9yIFNWRyBmb3Igd2hpbGUsIGJlY2F1c2UgdGhlcmUgd2lsbCBiZSBw
cm9ibGVtcyB0byBzdXBwb3J0IGl0LgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03ODIwNQorICAgIC8vIEVzcGVjaWFsbHkgU1ZHIFRSRUYgcmVjcmVhdGVz
IHNoYWRvdyByb290IGR5bmFtaWNhbGx5LgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03NzkzOAorICAgIGlmIChlbGVtZW50LT5pc1NWR0VsZW1lbnQoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIFBhc3NSZWZQ
dHI8U2hhZG93Um9vdD4gU2hhZG93Um9vdDo6Y3JlYXRlKEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogeworICAgIHJldHVybiBjcmVhdGUoZWxlbWVudCwgQ3JlYXRpbmdBdXRo
b3JTaGFkb3dSb290LCBlYyk7Cit9CisKK1Bhc3NSZWZQdHI8U2hhZG93Um9vdD4gU2hhZG93Um9v
dDo6Y3JlYXRlKEVsZW1lbnQqIGVsZW1lbnQsIFNoYWRvd1Jvb3RDcmVhdGlvblB1cnBvc2UgcHVy
cG9zZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CiAgICAgaWYgKCFlbGVtZW50IHx8IGVsZW1lbnQt
PnNoYWRvd1Jvb3QoKSkgewogICAgICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjsKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgfQorCisgICAgLy8gU2luY2Ugc29tZSBlbGVtZW50cyByZWNy
ZWF0ZXMgc2hhZG93IHJvb3QgZHluYW1pY2FsbHksIG11bHRpcGxlIHNoYWRvdyBzdWJ0cmVlcyB3
b24ndCB3b3JrIHdlbGwgaW4gdGhhdCBlbGVtZW50LgorICAgIC8vIFVudGlsIHRoZXkgYXJlIGZp
eGVkLCB3ZSBkaXNhYmxlIGFkZGluZyBhdXRob3Igc2hhZG93IHJvb3QgZm9yIHRoZW0uCisgICAg
aWYgKHB1cnBvc2UgPT0gQ3JlYXRpbmdBdXRob3JTaGFkb3dSb290ICYmICFhbGxvd3NBdXRob3JT
aGFkb3dSb290KGVsZW1lbnQpKSB7CisgICAgICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJS
OworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBBU1NFUlQocHVycG9zZSAhPSBDcmVh
dGluZ1VzZXJBZ2VudFNoYWRvd1Jvb3QgfHwgIWVsZW1lbnQtPnNoYWRvd1Jvb3QoKSk7CiAgICAg
UmVmUHRyPFNoYWRvd1Jvb3Q+IHNoYWRvd1Jvb3QgPSBjcmVhdGUoZWxlbWVudC0+ZG9jdW1lbnQo
KSk7CiAKICAgICBlYyA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93
Um9vdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAppbmRleCBkMGIxODk0NzIx
NDZiYzc5MjA4YTU5YThiMWFlMWYyMTY2ZmY3MjVjLi40MDFlZTVlOWQ2NjU1ZTE2MDJkMTM3NGZk
OTQ3OGY1ZWE0NjU2MGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9v
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKQEAgLTQyLDYgKzQyLDE2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dSb290PiBjcmVhdGUoRG9j
dW1lbnQqKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFkb3dSb290PiBjcmVhdGUoRWxlbWVu
dCosIEV4Y2VwdGlvbkNvZGUmKTsKIAorICAgIC8vIEZJWE1FOiBXZSB3aWxsIHN1cHBvcnQgbXVs
dGlwbGUgc2hhZG93IHN1YnRyZWVzLCBob3dldmVyIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gZG9l
cyBub3Qgd29yayB3ZWxsCisgICAgLy8gaWYgYSBzaGFkb3cgcm9vdCBpcyBkeW5hbWljYWxseSBj
cmVhdGVkLiBTbyB3ZSBwcm9oaWJpdCBtdWx0aXBsZSBzaGFkb3cgc3VidHJlZXMKKyAgICAvLyBp
biBzZXZlcmFsIGVsZW1lbnRzIGZvciBhIHdoaWxlLgorICAgIC8vIFNlZSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MDMgYW5kIHJlbGF0ZWQgYnVncy4KKyAgICBl
bnVtIFNoYWRvd1Jvb3RDcmVhdGlvblB1cnBvc2UgeworICAgICAgICBDcmVhdGluZ1VzZXJBZ2Vu
dFNoYWRvd1Jvb3QsCisgICAgICAgIENyZWF0aW5nQXV0aG9yU2hhZG93Um9vdCwKKyAgICB9Owor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZShFbGVtZW50KiwgU2hhZG93
Um9vdENyZWF0aW9uUHVycG9zZSwgRXhjZXB0aW9uQ29kZSYgPSBBU1NFUlRfTk9fRVhDRVBUSU9O
KTsKKwogICAgIHZvaWQgcmVjYWxjU2hhZG93VHJlZVN0eWxlKFN0eWxlQ2hhbmdlKTsKIAogICAg
IHZvaWQgc2V0TmVlZHNSZWF0dGFjaEhvc3RDaGlsZHJlbkFuZFNoYWRvdygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCmluZGV4IGQ1M2EwNjNhYmEwMWIwNDhh
NTQ2MTU4MTYwZjAzODA1YzY4Njc5NDEuLjU2MWU5NTg5NmNjYzc2NTY5Y2E2ZTcwN2NmNDg4NDgw
NTgwZThhMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5jcHAK
QEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIEhUTUxEZXRhaWxzRWxlbWVudDo6Y3JlYXRlU2hhZG93
U3VidHJlZSgpCiB7CiAgICAgQVNTRVJUKCFzaGFkb3dSb290KCkpOwogCi0gICAgUmVmUHRyPFNo
YWRvd1Jvb3Q+IHJvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgQVNTRVJUX05PX0VYQ0VQ
VElPTik7CisgICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUo
dGhpcywgU2hhZG93Um9vdDo6Q3JlYXRpbmdVc2VyQWdlbnRTaGFkb3dSb290LCBBU1NFUlRfTk9f
RVhDRVBUSU9OKTsKICAgICByb290LT5hcHBlbmRDaGlsZChEZXRhaWxzU3VtbWFyeUVsZW1lbnQ6
OmNyZWF0ZShkb2N1bWVudCgpKSwgQVNTRVJUX05PX0VYQ0VQVElPTiwgdHJ1ZSk7CiAgICAgcm9v
dC0+YXBwZW5kQ2hpbGQoRGV0YWlsc0NvbnRlbnRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQoKSks
IEFTU0VSVF9OT19FWENFUFRJT04sIHRydWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxL
ZXlnZW5FbGVtZW50LmNwcAppbmRleCA3ZDA3OTQyNTlkYWVkMTM4YWM5NzU2ZGNkMWNkZTI2ZDEz
Mzg4ZTU4Li40MmI1ZjgwMzJhZmU0NzYzYzFmZDY3MDI5ZjU4ZmU0ZDZjMDliMTdjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcApAQCAtODYsNyArODYsNyBAQCBp
bmxpbmUgSFRNTEtleWdlbkVsZW1lbnQ6OkhUTUxLZXlnZW5FbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZQogICAgIH0KIAogICAgIEFTU0VSVCghc2hhZG93Um9vdCgp
KTsKLSAgICBSZWZQdHI8U2hhZG93Um9vdD4gcm9vdCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlz
LCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAgICBSZWZQdHI8U2hhZG93Um9vdD4gcm9vdCA9IFNo
YWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpDcmVhdGluZ1VzZXJBZ2VudFNoYWRv
d1Jvb3QsIEFTU0VSVF9OT19FWENFUFRJT04pOwogICAgIHJvb3QtPmFwcGVuZENoaWxkKHNlbGVj
dCwgZWMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRlckVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcAppbmRl
eCA1OTI1ZTQ5Zjg3MzdjMWFiOGUzZjU0M2ExN2EwNzZmOTlmNTkzOTlkLi5iYjY0MDY4ZDhkMGZh
MGM0MmJjMDkwMDdkZmViZTlhMTQ3MzIzZmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
dGVyRWxlbWVudC5jcHAKQEAgLTI0MSw3ICsyNDEsNyBAQCB2b2lkIEhUTUxNZXRlckVsZW1lbnQ6
OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIGJh
ci0+YXBwZW5kQ2hpbGQobV92YWx1ZSwgZWMpOwogCi0gICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJv
b3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAg
UmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93
Um9vdDo6Q3JlYXRpbmdVc2VyQWdlbnRTaGFkb3dSb290LCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsK
ICAgICByb290LT5hcHBlbmRDaGlsZChiYXIsIGVjKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAKaW5kZXggMWIyNDYxYzgyMDc3ZWFlYjg5MTAyZGIy
NGNlZTFjYmJiNTk3MTI1My4uMGMyMzcyNTgxZjc5YWZmNGRhYzU0OGEwYmE3ZTQ0YzU2YWE5YjVm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwCkBAIC0x
NTksNyArMTU5LDcgQEAgdm9pZCBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpjcmVhdGVTaGFkb3dTdWJ0
cmVlKCkKICAgICBtX3ZhbHVlID0gUHJvZ3Jlc3NWYWx1ZUVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVu
dCgpKTsKICAgICBiYXItPmFwcGVuZENoaWxkKG1fdmFsdWUsIEFTU0VSVF9OT19FWENFUFRJT04p
OwogCi0gICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhp
cywgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QgPSBT
aGFkb3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6Q3JlYXRpbmdVc2VyQWdlbnRTaGFk
b3dSb290LCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICByb290LT5hcHBlbmRDaGlsZChiYXIs
IEFTU0VSVF9OT19FWENFUFRJT04pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTdW1tYXJ5RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdW1t
YXJ5RWxlbWVudC5jcHAKaW5kZXggZDVmNGMxNTZlMWIxOWJlN2I3MzZiMmFlODBhMWQ1NGMyYzQy
YTE2OS4uOTc5ZWY1NDcyMWJmNGJjZmU2ZTMyZjdhN2RlODk3ZWMxOWUyMmNjYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3VtbWFyeUVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcApAQCAtNzQsNyArNzQsNyBAQCBS
ZW5kZXJPYmplY3QqIEhUTUxTdW1tYXJ5RWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJl
bmEqIGFyZW5hLCBSZW5kZXJTdHlsZQogdm9pZCBIVE1MU3VtbWFyeUVsZW1lbnQ6OmNyZWF0ZVNo
YWRvd1N1YnRyZWUoKQogewogICAgIEFTU0VSVCghc2hhZG93Um9vdCgpKTsKLSAgICBSZWZQdHI8
U2hhZG93Um9vdD4gcm9vdCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBBU1NFUlRfTk9fRVhD
RVBUSU9OKTsKKyAgICBSZWZQdHI8U2hhZG93Um9vdD4gcm9vdCA9IFNoYWRvd1Jvb3Q6OmNyZWF0
ZSh0aGlzLCBTaGFkb3dSb290OjpDcmVhdGluZ1VzZXJBZ2VudFNoYWRvd1Jvb3QsIEFTU0VSVF9O
T19FWENFUFRJT04pOwogICAgIHJvb3QtPmFwcGVuZENoaWxkKERldGFpbHNNYXJrZXJDb250cm9s
OjpjcmVhdGUoZG9jdW1lbnQoKSksIEFTU0VSVF9OT19FWENFUFRJT04sIHRydWUpOwogICAgIHJv
b3QtPmFwcGVuZENoaWxkKFN1bW1hcnlDb250ZW50RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkp
LCBBU1NFUlRfTk9fRVhDRVBUSU9OLCB0cnVlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUZXh0QXJlYUVsZW1lbnQuY3BwCmluZGV4IDYxOTY2NzAyMmRlMWUwMjU1ZjZiNGUwNmU5ZDA0
NWNkMGI3NjI3NDkuLjQwMTkxNTYyMjUyMDNmYTk3YTI3YTA5YjNhODkzYzFjYjBmOWMxZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcApAQCAtODUsNyAr
ODUsNyBAQCBQYXNzUmVmUHRyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+IEhUTUxUZXh0QXJlYUVsZW1l
bnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJgogdm9pZCBIVE1MVGV4dEFyZWFFbGVtZW50
OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKIHsKICAgICBBU1NFUlQoIXNoYWRvd1Jvb3QoKSk7Ci0g
ICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgQVNT
RVJUX05PX0VYQ0VQVElPTik7CisgICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHJvb3QgPSBTaGFkb3dS
b290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6Q3JlYXRpbmdVc2VyQWdlbnRTaGFkb3dSb290
LCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICByb290LT5hcHBlbmRDaGlsZChUZXh0Q29udHJv
bElubmVyVGV4dEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCgpKSwgQVNTRVJUX05PX0VYQ0VQVElP
Tik7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAzNmNlMTA0NGU2YTkzNDFlOWQzODVmZjY4MmNlYjIwZWQyMmExZDNi
Li42NzQyN2Y4Nzc1ZTJkNzczMDU2NDAyZDVlNzhjMmI3ODU1NjU4NmMzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMTItMDItMDggIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAZ29vZ2xlLmNv
bT4KKworICAgICAgICBEaXNhYmxlIGFkZGluZyBhIHNoYWRvdyByb290IHRvIGVsZW1lbnRzIGhh
dmluZyBhIGR5bmFtaWMgYnVpbHQtaW4gc2hhZG93IHJvb3QuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkzNQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNh
YmxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1kaXNhYmxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9Ta2lwcGVkOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9T
a2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZv
cm0vd2luL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZDoKKwog
MjAxMi0wMi0wNyAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBSZXBsYWNlbWVudCB0ZXh0IHNob3VsZCBiZSBhdmFpbGFibGUgZnJvbSB0aGUgbWFya2VyLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBiZDhjZTcwMGM3ZWY2ZGQ2MjJhMDA2OGFhMTdiYmEw
MDU1OTBlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctZGlzYWJsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOSBAQAorVGVzdHMgdG8gZW5z
dXJlIHRoYXQgc2hhZG93IGVsZW1lbnQgY2Fubm90IGJlIGNyZWF0ZWQgaW4gZWxlbWVudHMgaGF2
aW5nIGR5bmFtaWNhbGx5IGNyZWF0ZWQgc2hhZG93IHJvb3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitESVYKK1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgaXMg
bm90IG51bGwKK1NQQU4KK1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgaXMgbm90
IG51bGwKK0EKK1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgaXMgbm90IG51bGwK
K1NFQ1RJT04KK1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgaXMgbm90IG51bGwK
K0lOUFVUCitQQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogSElFUkFSQ0hZX1JFUVVFU1RfRVJSOiBET00gRXhjZXB0aW9uIDMuCitURVhUQVJF
QQorUEFTUyBuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjogRE9NIEV4Y2VwdGlvbiAzLgorU0VMRUNUCitQQVNT
IG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSElF
UkFSQ0hZX1JFUVVFU1RfRVJSOiBET00gRXhjZXB0aW9uIDMuCitBVURJTworUEFTUyBuZXcgV2Vi
S2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhJRVJBUkNIWV9S
RVFVRVNUX0VSUjogRE9NIEV4Y2VwdGlvbiAzLgorVklERU8KK1BBU1MgbmV3IFdlYktpdFNoYWRv
d1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBISUVSQVJDSFlfUkVRVUVTVF9F
UlI6IERPTSBFeGNlcHRpb24gMy4KK3RyZWYKK1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxl
bWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBISUVSQVJDSFlfUkVRVUVTVF9FUlI6IERPTSBF
eGNlcHRpb24gMy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRp
c2FibGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjNiZTBlOGRjNmE2Zjg3ZDk3NTIwMWFkNTI3M2UyMTJmYjBkMmMwNGEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRp
c2FibGUuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8c3ZnIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PHRy
ZWYgaWQ9InRyZWYiIC8+PC9zdmc+Cis8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbigiVGVzdHMgdG8gZW5zdXJlIHRoYXQgc2hhZG93IGVsZW1lbnQgY2Fubm90
IGJlIGNyZWF0ZWQgaW4gZWxlbWVudHMgaGF2aW5nIGR5bmFtaWNhbGx5IGNyZWF0ZWQgc2hhZG93
IHJvb3QuIik7CisKK2Z1bmN0aW9uIHRlc3RUb0FkZFNoYWRvd1Jvb3QoZWxlbWVudCwgc3VjY2Vz
cykgeworICAgIGRlYnVnKGVsZW1lbnQubm9kZU5hbWUpOworCisgICAgaWYgKHN1Y2Nlc3MpCisg
ICAgICAgIHNob3VsZE5vdEJlKCJuZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSIsICJudWxs
Iik7CisgICAgZWxzZQorICAgICAgICBzaG91bGRUaHJvdygibmV3IFdlYktpdFNoYWRvd1Jvb3Qo
ZWxlbWVudCkiKTsKK30KKwordmFyIGVsZW1lbnRzVG9TdWNjZXNzID0gWworICAgIGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLAorICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4n
KSwKKyAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyksCisgICAgZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnc2VjdGlvbicpCitdOworCit2YXIgZWxlbWVudHNUb0ZhaWwgPSBbCisgICAgZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKSwKKyAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCd0ZXh0YXJlYScpLAorICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlbGVjdCcpLAorICAg
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2F1ZGlvJyksCisgICAgZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgndmlkZW8nKSwKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndHJlZicpCitdOwor
Citmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1lbnRzVG9TdWNjZXNzLmxlbmd0aDsgKytpKSB7Cisg
ICAgdmFyIGVsZW1lbnQgPSBlbGVtZW50c1RvU3VjY2Vzc1tpXTsKKyAgICB0ZXN0VG9BZGRTaGFk
b3dSb290KGVsZW1lbnQsIHRydWUpOworfQorCitmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1lbnRz
VG9GYWlsLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGVsZW1lbnQgPSBlbGVtZW50c1RvRmFpbFtp
XTsKKyAgICB0ZXN0VG9BZGRTaGFkb3dSb290KGVsZW1lbnQsIGZhbHNlKTsKK30KKwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXggNDAwNGEwOWZkNzUzOGRhYTAxZGJlODZkMTIx
YTgwMmM2MGE5ZWVjOC4uNDUyNDAyNmFlODlmZGVlZTJiYjJlNDBjNzYxNGNkZDY5ZGNmYjgyZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTE5MzgsNiArMTkzOCw3IEBAIGZhc3QvY3Nz
L3N0eWxlLXNjb3BlZAogCiAjIEVOQUJMRShTSEFET1dfRE9NKSBpcyBkaXNhYmxlZC4KIGZhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1kaXNhYmxlLmh0bWwKIAogIyBDU1MgRmlsdGVycyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZCAo
bmVlZHMgRU5BQkxFX0NTU19GSUxURVJTKS4KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY4NDY5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
U2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IGRjZThkZTQ1
MTU4YWQyNTFlNzE5MmJiMjRlYWFlNmU1MDAyZDVkODMuLmExYTRiMTczNDg1ZWE4YWU5ZGQ4ZmRk
MWUxMmEzNzk2MjE5YTI3YjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0zNTEsNiAr
MzUxLDcgQEAgZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKICMgRU5BQkxFKFNIQURPV19ET00pIGlz
IGRpc2FibGVkLgogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCitmYXN0
L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbAogCiAjIENTUyBSZWdpb25zIHN1cHBvcnQg
bm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzU3MzEyCiBmYXN0L3JlZ2lvbnMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggMjJkYTczZTkwYzg5MGRhMjk3NjIxNGJmNzQy
YzQwYWFhYWQ1ZjRjNi4uYWQzMGU2YmVlZjYzYzQ1ZjY5Yzc1YjRlNWUxYThiMTc2MzBmMGRhOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTQyMCw2ICs0MjAsNyBAQCBmYXN0L2Nzcy9z
dHlsZS1zY29wZWQKIAogIyBFTkFCTEUoU0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQuCiBmYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKK2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
ZGlzYWJsZS5odG1sCiAKICMgSlNDIGRvZXMgbm90IHN1cHBvcnQgc2V0SXNvbGF0ZWRXb3JsZFNl
Y3VyaXR5T3JpZ2luIChodHRwOi8vd2Via2l0Lm9yZy9iLzYxNTQwKQogaHR0cC90ZXN0cy9zZWN1
cml0eS9pc29sYXRlZFdvcmxkL2Nyb3NzLW9yaWdpbi14aHIuaHRtbApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Nr
aXBwZWQKaW5kZXggMTJjZTY3NDA1MzE3NDZiMDg4MGIyYWY3ZjY2NjA5NTk1N2FjYjFiYy4uYmVh
Yjk3OTFlZWRmYzNlNmNlODdkOWEzYzRhNWIyMmI1OGFlNTUyMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9T
a2lwcGVkCkBAIC0xNTksNiArMTU5LDcgQEAgZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKICMgRU5B
QkxFKFNIQURPV19ET00pIGlzIGRpc2FibGVkLgogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LWpzLWFwaS5odG1sCitmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbAogCiAjIENT
UyBSZWdpb25zIHN1cHBvcnQgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzU3
MzEyCiBmYXN0L3JlZ2lvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9T
a2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggMjU0YzMxM2Ix
M2Y3MzA1NzY0NWY0ZWMyNTliNGU4ODE4ZGY0ZWZmMS4uMWFkYmUyNWI1Y2Q0ZTE1MzJiYmU3ZTdj
NjIyYzk2NDllZjk3ZGI0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTE0NDIsNiAr
MTQ0Miw3IEBAIGZhc3QvY3NzL3N0eWxlLXNjb3BlZAogCiAjIEVOQUJMRShTSEFET1dfRE9NKSBp
cyBkaXNhYmxlZC4KIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0bWwKIAogIyBDU1MgUmVnaW9ucyBzdXBwb3J0
IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMgogZmFzdC9yZWdpb25z
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAppbmRleCA1ZmY3OWI1NGI0OTE3ZmY5
MmEzOGIzNjZkNTlhYTZmNmZlMGU1MjFiLi4wMmE0ODkwZmRjYmIyYTY2OTdjNGMzZWM4ZjBiYjM2
MjlhYWQ0YmQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lw
cGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKQEAgLTE5NjMs
NiArMTk2Myw3IEBAIGZhc3QvY3NzL3N0eWxlLXNjb3BlZAogCiAjIEVOQUJMRShTSEFET1dfRE9N
KSBpcyBkaXNhYmxlZC4KIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAor
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0bWwKIAogIyBDU1MgUmVnaW9ucyBzdXBw
b3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMgogZmFzdC9yZWdp
b25zCg==
</data>
<flag name="commit-queue"
          id="128027"
          type_id="3"
          status="-"
          setter="morrita"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126257</attachid>
            <date>2012-02-09 01:17:02 -0800</date>
            <delta_ts>2012-02-09 01:54:18 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-77935-20120209181701.patch</filename>
            <type>text/plain</type>
            <size>17660</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3MTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFkZGNiN2JjYjdjMTIy
ZWRmZDZlM2FhNDhkYWVhYjhjNDBhNzNhZC4uODUzMmIzMzJhZDY5ODc4ZWViNjg3YWJiYmQwNTc4
ODcwNGJjM2U5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTAyLTA4ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CisKKyAgICAgICAgRGlzYWJsZSBhZGRp
bmcgYSBzaGFkb3cgcm9vdCB0byBlbGVtZW50cyBoYXZpbmcgYSBkeW5hbWljIGJ1aWx0LWluIHNo
YWRvdyByb290LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Nzc5MzUKKworICAgICAgICBSZXZpZXdlZCBieSBIYWppbWUgTW9yaXRhLgorCisgICAgICAg
IFdlIHRlbXBvcmFyaWx5IGRpc2FibGUgYWRkaW5nIGEgc2hhZG93IHJvb3QgaW4gZWxlbWVudHMg
aGF2aW5nIGEgZHluYW1pYyB1c2VyIGFnZW50IHNoYWRvdyByb290LgorICAgICAgICBUaGVzZSBz
aGFkb3cgcm9vdHMgYXJlIGN1cnJlbnRseSBjcmVhdGVkIHVzaW5nIEVsZW1lbnQ6OmVuc3VyZVNo
YWRvd1Jvb3QuCisgICAgICAgIFNvIHdlIGRvbid0IGNoZWNrIHRoZSBjb25kaXRpb24gaWYgYSBz
aGFkb3cgcm9vdCBpcyBjcmVhdGVkIGVhaXRoZXIgdXNpbmcgRWxlbWVudDo6ZW5zdXJlU2hhZG93
Um9vdAorICAgICAgICBvciBTaGFkb3dSb290OjpDcmVhdGluZ1VzZXJBZ2VudFNoYWRvd1Jvb3Qg
aXMgc3BlY2lmaWVkIGZvciBTaGFkb3dSb290OjpjcmVhdGUuCisKKyAgICAgICAgVGVzdDogZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0bWwKKworICAgICAgICAqIGRvbS9FbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmVuc3VyZVNoYWRvd1Jvb3QpOgorICAg
ICAgICAqIGRvbS9TaGFkb3dSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFsbG93c1VzZXJT
aGFkb3dSb290KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93
Um9vdDo6Y3JlYXRlKToKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5oOgorICAgICAgICAoU2hh
ZG93Um9vdCk6CisgICAgICAgICogaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTERldGFpbHNFbGVtZW50OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKToKKyAg
ICAgICAgICBTaGFkb3dSb290OjpDcmVhdGluZ1VzZXJBZ2VudFNoYWRvd1Jvb3QgaXMgc3BlY2lm
aWVkLgorICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTEtleWdlbkVsZW1lbnQ6OkhUTUxLZXlnZW5FbGVtZW50KTogZGl0dG8uCisgICAg
ICAgICogaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZXRlckVsZW1lbnQ6OmNyZWF0ZVNoYWRvd1N1YnRyZWUpOiBkaXR0by4KKyAgICAgICAgKiBodG1s
L0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFByb2dyZXNz
RWxlbWVudDo6Y3JlYXRlU2hhZG93U3VidHJlZSk6IGRpdHRvLgorICAgICAgICAqIGh0bWwvSFRN
TFN1bW1hcnlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdW1tYXJ5RWxlbWVu
dDo6Y3JlYXRlU2hhZG93U3VidHJlZSk6IGRpdHRvLgorICAgICAgICAqIGh0bWwvSFRNTFRleHRB
cmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50Ojpj
cmVhdGVTaGFkb3dTdWJ0cmVlKTogZGl0dG8uCisKIDIwMTItMDItMDggIFRvbnkgQ2hhbmcgIDx0
b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICByZWZhY3RvciBSZW5kZXJGbGV4aWJsZUJveCB0
byByZXR1cm4gcHJlZmVycmVkIHNpemVzIG9mIGFsbCBjaGlsZHJlbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCmluZGV4IDliMDIzZGYxZjlkZWZhMjdmNzIwMGU4OTM5MGY0MWJjZDE0N2U2NmEuLjM1NWYz
OGFkYmU0ZDJkZmEzY2NjYzIwNDlhNGViNjFmZjg2NmY0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAKQEAgLTExOTksMTAgKzExOTksNyBAQCBTaGFkb3dSb290KiBFbGVtZW50OjplbnN1cmVTaGFk
b3dSb290KCkKICAgICBpZiAoU2hhZG93Um9vdCogZXhpc3RpbmdSb290ID0gc2hhZG93Um9vdCgp
KQogICAgICAgICByZXR1cm4gZXhpc3RpbmdSb290OwogCi0gICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7Ci0gICAgc2V0U2hhZG93Um9vdChTaGFkb3dSb290OjpjcmVhdGUoZG9jdW1lbnQoKSksIGVj
KTsKLSAgICBBU1NFUlQoIWVjKTsKLSAgICByZXR1cm4gc2hhZG93Um9vdCgpOworICAgIHJldHVy
biBTaGFkb3dSb290OjpjcmVhdGUodGhpcywgU2hhZG93Um9vdDo6Q3JlYXRpbmdVc2VyQWdlbnRT
aGFkb3dSb290KS5nZXQoKTsKIH0KIAogdm9pZCBFbGVtZW50OjpyZW1vdmVTaGFkb3dSb290KCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAppbmRleCBiYmExODlmMTRhZTNjN2Y0NmIxMzI3NTJm
MDc0M2JjMTM1ODBkYjJhLi4yOTBiZTNmNmQ0NTI3OTcxZDI4OTA2YmFlM2I3Yjg4MDA2MjIwOGIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCkBAIC0zMSw3ICszMSw5IEBACiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTENvbnRl
bnRFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTm9kZVJhcmVE
YXRhLmgiCisjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJUZXh0LmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTU5LDEyICs2MSw1MCBAQCBTaGFkb3dSb290Ojp+U2hhZG93Um9v
dCgpCiAgICAgICAgIGNsZWFyUmFyZURhdGEoKTsKIH0KIAorc3RhdGljIGJvb2wgYWxsb3dzQXV0
aG9yU2hhZG93Um9vdChFbGVtZW50KiBlbGVtZW50KQoreworICAgIC8vIEZJWE1FOiBNRURJQSBy
ZWNyZWF0ZXMgc2hhZG93IHJvb3QgZHluYW1pY2FsbHkuCisgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTM2CisgICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05h
bWUoSFRNTE5hbWVzOjp2aWRlb1RhZykgfHwgZWxlbWVudC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6
OmF1ZGlvVGFnKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gRklYTUU6IFZhbGlk
YXRpb25NZXNzYWdlIHJlY3JlYXRlcyBzaGFkb3cgcm9vdCBkeW5hbWljYWxseS4KKyAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MzcKKyAgICAvLyBFc3Bl
Y2lhbGx5LCBJTlBVVCByZWNyZWF0ZXMgc2hhZG93IHJvb3QgZHluYW1pY2FsbHkuCisgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTMwCisgICAgaWYgKGVs
ZW1lbnQtPmlzRm9ybUNvbnRyb2xFbGVtZW50KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIC8vIEZJWE1FOiBXZSBkaXNhYmxlIG11bHRpcGxlIHNoYWRvdyBzdWJ0cmVlcyBmb3IgU1ZH
IGZvciB3aGlsZSwgYmVjYXVzZSB0aGVyZSB3aWxsIGJlIHByb2JsZW1zIHRvIHN1cHBvcnQgaXQu
CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjA1Cisg
ICAgLy8gRXNwZWNpYWxseSBTVkcgVFJFRiByZWNyZWF0ZXMgc2hhZG93IHJvb3QgZHluYW1pY2Fs
bHkuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTM4
CisgICAgaWYgKGVsZW1lbnQtPmlzU1ZHRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogUGFzc1JlZlB0cjxTaGFkb3dSb290PiBTaGFkb3dS
b290OjpjcmVhdGUoRWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CisgICAg
cmV0dXJuIGNyZWF0ZShlbGVtZW50LCBDcmVhdGluZ0F1dGhvclNoYWRvd1Jvb3QsIGVjKTsKK30K
KworUGFzc1JlZlB0cjxTaGFkb3dSb290PiBTaGFkb3dSb290OjpjcmVhdGUoRWxlbWVudCogZWxl
bWVudCwgU2hhZG93Um9vdENyZWF0aW9uUHVycG9zZSBwdXJwb3NlLCBFeGNlcHRpb25Db2RlJiBl
YykKK3sKICAgICBpZiAoIWVsZW1lbnQgfHwgZWxlbWVudC0+c2hhZG93Um9vdCgpKSB7CiAgICAg
ICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOwogICAgICAgICByZXR1cm4gMDsKICAgICB9
CisKKyAgICAvLyBTaW5jZSBzb21lIGVsZW1lbnRzIHJlY3JlYXRlcyBzaGFkb3cgcm9vdCBkeW5h
bWljYWxseSwgbXVsdGlwbGUgc2hhZG93IHN1YnRyZWVzIHdvbid0IHdvcmsgd2VsbCBpbiB0aGF0
IGVsZW1lbnQuCisgICAgLy8gVW50aWwgdGhleSBhcmUgZml4ZWQsIHdlIGRpc2FibGUgYWRkaW5n
IGF1dGhvciBzaGFkb3cgcm9vdCBmb3IgdGhlbS4KKyAgICBpZiAocHVycG9zZSA9PSBDcmVhdGlu
Z0F1dGhvclNoYWRvd1Jvb3QgJiYgIWFsbG93c0F1dGhvclNoYWRvd1Jvb3QoZWxlbWVudCkpIHsK
KyAgICAgICAgZWMgPSBISUVSQVJDSFlfUkVRVUVTVF9FUlI7CisgICAgICAgIHJldHVybiAwOwor
ICAgIH0KKworICAgIEFTU0VSVChwdXJwb3NlICE9IENyZWF0aW5nVXNlckFnZW50U2hhZG93Um9v
dCB8fCAhZWxlbWVudC0+c2hhZG93Um9vdCgpKTsKICAgICBSZWZQdHI8U2hhZG93Um9vdD4gc2hh
ZG93Um9vdCA9IGNyZWF0ZShlbGVtZW50LT5kb2N1bWVudCgpKTsKIAogICAgIGVjID0gMDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2hhZG93Um9vdC5oCmluZGV4IGQwYjE4OTQ3MjE0NmJjNzkyMDhhNTlhOGIxYWUxZjIx
NjZmZjcyNWMuLjQwMWVlNWU5ZDY2NTVlMTYwMmQxMzc0ZmQ5NDc4ZjVlYTQ2NTYwZjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NoYWRvd1Jvb3QuaApAQCAtNDIsNiArNDIsMTYgQEAgcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZShEb2N1bWVudCopOwogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IGNyZWF0ZShFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwog
CisgICAgLy8gRklYTUU6IFdlIHdpbGwgc3VwcG9ydCBtdWx0aXBsZSBzaGFkb3cgc3VidHJlZXMs
IGhvd2V2ZXIgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCB3b3JrIHdlbGwKKyAgICAv
LyBpZiBhIHNoYWRvdyByb290IGlzIGR5bmFtaWNhbGx5IGNyZWF0ZWQuIFNvIHdlIHByb2hpYml0
IG11bHRpcGxlIHNoYWRvdyBzdWJ0cmVlcworICAgIC8vIGluIHNldmVyYWwgZWxlbWVudHMgZm9y
IGEgd2hpbGUuCisgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NzUwMyBhbmQgcmVsYXRlZCBidWdzLgorICAgIGVudW0gU2hhZG93Um9vdENyZWF0aW9u
UHVycG9zZSB7CisgICAgICAgIENyZWF0aW5nVXNlckFnZW50U2hhZG93Um9vdCwKKyAgICAgICAg
Q3JlYXRpbmdBdXRob3JTaGFkb3dSb290LAorICAgIH07CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
U2hhZG93Um9vdD4gY3JlYXRlKEVsZW1lbnQqLCBTaGFkb3dSb290Q3JlYXRpb25QdXJwb3NlLCBF
eGNlcHRpb25Db2RlJiA9IEFTU0VSVF9OT19FWENFUFRJT04pOworCiAgICAgdm9pZCByZWNhbGNT
aGFkb3dUcmVlU3R5bGUoU3R5bGVDaGFuZ2UpOwogCiAgICAgdm9pZCBzZXROZWVkc1JlYXR0YWNo
SG9zdENoaWxkcmVuQW5kU2hhZG93KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxEZXRhaWxzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxz
RWxlbWVudC5jcHAKaW5kZXggZDUzYTA2M2FiYTAxYjA0OGE1NDYxNTgxNjBmMDM4MDVjNjg2Nzk0
MS4uMDE1Y2Y2MWNlYjgzMzc2OTk4YjY4ZWI2YWIwOWVmNTYyNjQ0YWI0MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIHZv
aWQgSFRNTERldGFpbHNFbGVtZW50OjpjcmVhdGVTaGFkb3dTdWJ0cmVlKCkKIHsKICAgICBBU1NF
UlQoIXNoYWRvd1Jvb3QoKSk7CiAKLSAgICBSZWZQdHI8U2hhZG93Um9vdD4gcm9vdCA9IFNoYWRv
d1Jvb3Q6OmNyZWF0ZSh0aGlzLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAgICBSZWZQdHI8U2hh
ZG93Um9vdD4gcm9vdCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpDcmVh
dGluZ1VzZXJBZ2VudFNoYWRvd1Jvb3QpOwogICAgIHJvb3QtPmFwcGVuZENoaWxkKERldGFpbHNT
dW1tYXJ5RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkpLCBBU1NFUlRfTk9fRVhDRVBUSU9OLCB0
cnVlKTsKICAgICByb290LT5hcHBlbmRDaGlsZChEZXRhaWxzQ29udGVudEVsZW1lbnQ6OmNyZWF0
ZShkb2N1bWVudCgpKSwgQVNTRVJUX05PX0VYQ0VQVElPTiwgdHJ1ZSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwCmluZGV4IDdkMDc5NDI1OWRhZWQxMzhhYzk3
NTZkY2QxY2RlMjZkMTMzODhlNTguLjg1MjUyODE5YWE1OGU3MGMyZDAzNzE1MDcyNWQxN2M0ODk4
OTAxMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwCkBAIC04
Niw3ICs4Niw3IEBAIGlubGluZSBIVE1MS2V5Z2VuRWxlbWVudDo6SFRNTEtleWdlbkVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lCiAgICAgfQogCiAgICAgQVNTRVJU
KCFzaGFkb3dSb290KCkpOwotICAgIFJlZlB0cjxTaGFkb3dSb290PiByb290ID0gU2hhZG93Um9v
dDo6Y3JlYXRlKHRoaXMsIEFTU0VSVF9OT19FWENFUFRJT04pOworICAgIFJlZlB0cjxTaGFkb3dS
b290PiByb290ID0gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OkNyZWF0aW5n
VXNlckFnZW50U2hhZG93Um9vdCk7CiAgICAgcm9vdC0+YXBwZW5kQ2hpbGQoc2VsZWN0LCBlYyk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCmluZGV4IDU5MjVl
NDlmODczN2MxYWI4ZTNmNTQzYTE3YTA3NmY5OWY1OTM5OWQuLmExZmRhZjZjNzJkNGIwNjUxMmU4
NDIxZGU4MDBlNTIwYmNhYTdhNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1ldGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVt
ZW50LmNwcApAQCAtMjQxLDcgKzI0MSw3IEBAIHZvaWQgSFRNTE1ldGVyRWxlbWVudDo6Y3JlYXRl
U2hhZG93U3VidHJlZSgpCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgYmFyLT5hcHBl
bmRDaGlsZChtX3ZhbHVlLCBlYyk7CiAKLSAgICBSZWZQdHI8U2hhZG93Um9vdD4gcm9vdCA9IFNo
YWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAgICBSZWZQdHI8
U2hhZG93Um9vdD4gcm9vdCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpD
cmVhdGluZ1VzZXJBZ2VudFNoYWRvd1Jvb3QpOwogICAgIHJvb3QtPmFwcGVuZENoaWxkKGJhciwg
ZWMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0Vs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcApp
bmRleCAxYjI0NjFjODIwNzdlYWViODkxMDJkYjI0Y2VlMWNiYmI1OTcxMjUzLi4wYzIzNzI1ODFm
NzlhZmY0ZGFjNTQ4YTBiYTdlNDRjNTZhYTliNWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFByb2dyZXNzRWxlbWVudC5jcHAKQEAgLTE1OSw3ICsxNTksNyBAQCB2b2lkIEhUTUxQcm9n
cmVzc0VsZW1lbnQ6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQogICAgIG1fdmFsdWUgPSBQcm9ncmVz
c1ZhbHVlRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkpOwogICAgIGJhci0+YXBwZW5kQ2hpbGQo
bV92YWx1ZSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CiAKLSAgICBSZWZQdHI8U2hhZG93Um9vdD4g
cm9vdCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAg
ICBSZWZQdHI8U2hhZG93Um9vdD4gcm9vdCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFk
b3dSb290OjpDcmVhdGluZ1VzZXJBZ2VudFNoYWRvd1Jvb3QsIEFTU0VSVF9OT19FWENFUFRJT04p
OwogICAgIHJvb3QtPmFwcGVuZENoaWxkKGJhciwgQVNTRVJUX05PX0VYQ0VQVElPTik7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50LmNwcAppbmRleCBkNWY0YzE1
NmUxYjE5YmU3YjczNmIyYWU4MGExZDU0YzJjNDJhMTY5Li5mNTdhNWRiMjNmMzQxZWM0Mzk4YmZi
NTcxZmEyOTUwZGU0NjZmMmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
dW1tYXJ5RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3VtbWFyeUVs
ZW1lbnQuY3BwCkBAIC03NCw3ICs3NCw3IEBAIFJlbmRlck9iamVjdCogSFRNTFN1bW1hcnlFbGVt
ZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlCiB2b2lk
IEhUTUxTdW1tYXJ5RWxlbWVudDo6Y3JlYXRlU2hhZG93U3VidHJlZSgpCiB7CiAgICAgQVNTRVJU
KCFzaGFkb3dSb290KCkpOwotICAgIFJlZlB0cjxTaGFkb3dSb290PiByb290ID0gU2hhZG93Um9v
dDo6Y3JlYXRlKHRoaXMsIEFTU0VSVF9OT19FWENFUFRJT04pOworICAgIFJlZlB0cjxTaGFkb3dS
b290PiByb290ID0gU2hhZG93Um9vdDo6Y3JlYXRlKHRoaXMsIFNoYWRvd1Jvb3Q6OkNyZWF0aW5n
VXNlckFnZW50U2hhZG93Um9vdCk7CiAgICAgcm9vdC0+YXBwZW5kQ2hpbGQoRGV0YWlsc01hcmtl
ckNvbnRyb2w6OmNyZWF0ZShkb2N1bWVudCgpKSwgQVNTRVJUX05PX0VYQ0VQVElPTiwgdHJ1ZSk7
CiAgICAgcm9vdC0+YXBwZW5kQ2hpbGQoU3VtbWFyeUNvbnRlbnRFbGVtZW50OjpjcmVhdGUoZG9j
dW1lbnQoKSksIEFTU0VSVF9OT19FWENFUFRJT04sIHRydWUpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKaW5kZXggNjE5NjY3MDIyZGUxZTAyNTVmNmI0
ZTA2ZTlkMDQ1Y2QwYjc2Mjc0OS4uYmZmNzU3NGJlYjc4YTkzNTZjZWQ5NmZhNGQyMzBhZWFlZmQx
MzliOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCkBA
IC04NSw3ICs4NSw3IEBAIFBhc3NSZWZQdHI8SFRNTFRleHRBcmVhRWxlbWVudD4gSFRNTFRleHRB
cmVhRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmCiB2b2lkIEhUTUxUZXh0QXJl
YUVsZW1lbnQ6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQogewogICAgIEFTU0VSVCghc2hhZG93Um9v
dCgpKTsKLSAgICBSZWZQdHI8U2hhZG93Um9vdD4gcm9vdCA9IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0
aGlzLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAgICBSZWZQdHI8U2hhZG93Um9vdD4gcm9vdCA9
IFNoYWRvd1Jvb3Q6OmNyZWF0ZSh0aGlzLCBTaGFkb3dSb290OjpDcmVhdGluZ1VzZXJBZ2VudFNo
YWRvd1Jvb3QpOwogICAgIHJvb3QtPmFwcGVuZENoaWxkKFRleHRDb250cm9sSW5uZXJUZXh0RWxl
bWVudDo6Y3JlYXRlKGRvY3VtZW50KCkpLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKIH0KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDM2Y2UxMDQ0ZTZhOTM0MWU5ZDM4NWZmNjgyY2ViMjBlZDIyYTFkM2IuLmZkYzMwYzc2MDgy
MjhhNjc3NzdiODMzN2QxYjQ3ZDFkOGJjMTM3MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAx
Mi0wMi0wOCAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0Bnb29nbGUuY29tPgorCisgICAgICAg
IERpc2FibGUgYWRkaW5nIGEgc2hhZG93IHJvb3QgdG8gZWxlbWVudHMgaGF2aW5nIGEgZHluYW1p
YyBidWlsdC1pbiBzaGFkb3cgcm9vdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTc3OTM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSGFqaW1lIE1vcml0
YS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVk
OgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQ6CisKIDIwMTItMDItMDcgIE1P
UklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmVwbGFjZW1lbnQg
dGV4dCBzaG91bGQgYmUgYXZhaWxhYmxlIGZyb20gdGhlIG1hcmtlci4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmUwYmQ4Y2U3MDBjN2VmNmRkNjIyYTAwNjhhYTE3YmJhMDA1NTkwZTAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK1Rlc3RzIHRvIGVuc3VyZSB0aGF0IHNoYWRv
dyBlbGVtZW50IGNhbm5vdCBiZSBjcmVhdGVkIGluIGVsZW1lbnRzIGhhdmluZyBkeW5hbWljYWxs
eSBjcmVhdGVkIHNoYWRvdyByb290LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
RElWCitQQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIGlzIG5vdCBudWxsCitTUEFO
CitQQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIGlzIG5vdCBudWxsCitBCitQQVNT
IG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIGlzIG5vdCBudWxsCitTRUNUSU9OCitQQVNT
IG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIGlzIG5vdCBudWxsCitJTlBVVAorUEFTUyBu
ZXcgV2ViS2l0U2hhZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhJRVJB
UkNIWV9SRVFVRVNUX0VSUjogRE9NIEV4Y2VwdGlvbiAzLgorVEVYVEFSRUEKK1BBU1MgbmV3IFdl
YktpdFNoYWRvd1Jvb3QoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBISUVSQVJDSFlf
UkVRVUVTVF9FUlI6IERPTSBFeGNlcHRpb24gMy4KK1NFTEVDVAorUEFTUyBuZXcgV2ViS2l0U2hh
ZG93Um9vdChlbGVtZW50KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhJRVJBUkNIWV9SRVFVRVNU
X0VSUjogRE9NIEV4Y2VwdGlvbiAzLgorQVVESU8KK1BBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3Qo
ZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBISUVSQVJDSFlfUkVRVUVTVF9FUlI6IERP
TSBFeGNlcHRpb24gMy4KK1ZJREVPCitQQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQp
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSElFUkFSQ0hZX1JFUVVFU1RfRVJSOiBET00gRXhjZXB0
aW9uIDMuCit0cmVmCitQQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogSElFUkFSQ0hZX1JFUVVFU1RfRVJSOiBET00gRXhjZXB0aW9uIDMuCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zYmUwZThkYzZhNmY4N2Q5NzUyMDFhZDUyNzNlMjEyZmIwZDJjMDRhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0bWwKQEAg
LTAsMCArMSw1MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjx0cmVmIGlkPSJ0cmVmIiAv
Pjwvc3ZnPgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3RzIHRvIGVuc3VyZSB0aGF0IHNoYWRvdyBlbGVtZW50IGNhbm5vdCBiZSBjcmVhdGVkIGlu
IGVsZW1lbnRzIGhhdmluZyBkeW5hbWljYWxseSBjcmVhdGVkIHNoYWRvdyByb290LiIpOworCitm
dW5jdGlvbiB0ZXN0VG9BZGRTaGFkb3dSb290KGVsZW1lbnQsIHN1Y2Nlc3MpIHsKKyAgICBkZWJ1
ZyhlbGVtZW50Lm5vZGVOYW1lKTsKKworICAgIGlmIChzdWNjZXNzKQorICAgICAgICBzaG91bGRO
b3RCZSgibmV3IFdlYktpdFNoYWRvd1Jvb3QoZWxlbWVudCkiLCAibnVsbCIpOworICAgIGVsc2UK
KyAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBXZWJLaXRTaGFkb3dSb290KGVsZW1lbnQpIik7Cit9
CisKK3ZhciBlbGVtZW50c1RvU3VjY2VzcyA9IFsKKyAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKSwKKyAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyksCisgICAgZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnYScpLAorICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlY3Rp
b24nKQorXTsKKwordmFyIGVsZW1lbnRzVG9GYWlsID0gWworICAgIGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2lucHV0JyksCisgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKSwK
KyAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKSwKKyAgICBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdhdWRpbycpLAorICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyks
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RyZWYnKQorXTsKKworZm9yICh2YXIgaSA9
IDA7IGkgPCBlbGVtZW50c1RvU3VjY2Vzcy5sZW5ndGg7ICsraSkgeworICAgIHZhciBlbGVtZW50
ID0gZWxlbWVudHNUb1N1Y2Nlc3NbaV07CisgICAgdGVzdFRvQWRkU2hhZG93Um9vdChlbGVtZW50
LCB0cnVlKTsKK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtZW50c1RvRmFpbC5sZW5ndGg7
ICsraSkgeworICAgIHZhciBlbGVtZW50ID0gZWxlbWVudHNUb0ZhaWxbaV07CisgICAgdGVzdFRv
QWRkU2hhZG93Um9vdChlbGVtZW50LCBmYWxzZSk7Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Vm
bC9Ta2lwcGVkCmluZGV4IDQwMDRhMDlmZDc1MzhkYWEwMWRiZTg2ZDEyMWE4MDJjNjBhOWVlYzgu
LjQ1MjQwMjZhZTg5ZmRlZWUyYmIyZTQwYzc2MTRjZGQ2OWRjZmI4MmYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9Ta2lwcGVkCkBAIC0xOTM4LDYgKzE5MzgsNyBAQCBmYXN0L2Nzcy9zdHlsZS1zY29wZWQK
IAogIyBFTkFCTEUoU0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQuCiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJvb3QtanMtYXBpLmh0bWwKK2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctZGlzYWJsZS5odG1s
CiAKICMgQ1NTIEZpbHRlcnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQgKG5lZWRzIEVOQUJMRV9D
U1NfRklMVEVSUykuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
ODQ2OQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCBkY2U4ZGU0NTE1OGFkMjUxZTcxOTJi
YjI0ZWFhZTZlNTAwMmQ1ZDgzLi5hMWE0YjE3MzQ4NWVhOGFlOWRkOGZkZDFlMTJhMzc5NjIxOWEy
N2I3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAtMzUxLDYgKzM1MSw3IEBAIGZhc3Qv
Y3NzL3N0eWxlLXNjb3BlZAogCiAjIEVOQUJMRShTSEFET1dfRE9NKSBpcyBkaXNhYmxlZC4KIGZh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorZmFzdC9kb20vc2hhZG93L3No
YWRvdy1kaXNhYmxlLmh0bWwKIAogIyBDU1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxl
ZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMgogZmFzdC9yZWdpb25zCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkCmluZGV4IDIyZGE3M2U5MGM4OTBkYTI5NzYyMTRiZjc0MmM0MGFhYWFkNWY0YzYu
LmFkMzBlNmJlZWY2M2M0NWY2OWM3NWI0ZTVlMWE4YjE3NjMwZjBkYTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9Ta2lwcGVkCkBAIC00MjAsNiArNDIwLDcgQEAgZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAK
ICMgRU5BQkxFKFNIQURPV19ET00pIGlzIGRpc2FibGVkLgogZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWpzLWFwaS5odG1sCitmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWRpc2FibGUuaHRtbAog
CiAjIEpTQyBkb2VzIG5vdCBzdXBwb3J0IHNldElzb2xhdGVkV29ybGRTZWN1cml0eU9yaWdpbiAo
aHR0cDovL3dlYmtpdC5vcmcvYi82MTU0MCkKIGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRX
b3JsZC9jcm9zcy1vcmlnaW4teGhyLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDEy
Y2U2NzQwNTMxNzQ2YjA4ODBiMmFmN2Y2NjYwOTU5NTdhY2IxYmMuLmJlYWI5NzkxZWVkZmMzZTZj
ZTg3ZDlhM2M0YTViMjJiNThhZTU1MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMTU5
LDYgKzE1OSw3IEBAIGZhc3QvY3NzL3N0eWxlLXNjb3BlZAogCiAjIEVOQUJMRShTSEFET1dfRE9N
KSBpcyBkaXNhYmxlZC4KIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAor
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1kaXNhYmxlLmh0bWwKIAogIyBDU1MgUmVnaW9ucyBzdXBw
b3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81NzMxMgogZmFzdC9yZWdp
b25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDI1NGMzMTNiMTNmNzMwNTc2NDVmNGVj
MjU5YjRlODgxOGRmNGVmZjEuLjFhZGJlMjViNWNkNGUxNTMyYmJlN2U3YzYyMmM5NjQ5ZWY5N2Ri
NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xNDQyLDYgKzE0NDIsNyBAQCBmYXN0
L2Nzcy9zdHlsZS1zY29wZWQKIAogIyBFTkFCTEUoU0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQuCiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKK2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctZGlzYWJsZS5odG1sCiAKICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJs
ZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9ucwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbmNhaXJvL1NraXBwZWQKaW5kZXggNWZmNzliNTRiNDkxN2ZmOTJhMzhiMzY2ZDU5YWE2
ZjZmZTBlNTIxYi4uMDJhNDg5MGZkY2JiMmE2Njk3YzRjM2VjOGYwYmIzNjI5YWFkNGJkNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCkBAIC0xOTYzLDYgKzE5NjMsNyBAQCBm
YXN0L2Nzcy9zdHlsZS1zY29wZWQKIAogIyBFTkFCTEUoU0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQu
CiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKK2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctZGlzYWJsZS5odG1sCiAKICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVu
YWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9ucwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>