<?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>78874</bug_id>
          
          <creation_ts>2012-02-16 21:38:31 -0800</creation_ts>
          <short_desc>Rename [CheckDomainSecurity] to [CheckSecurity]</short_desc>
          <delta_ts>2012-02-19 15:47:34 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>77393</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>558893</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-16 21:38:31 -0800</bug_when>
    <thetext>For naming consistency with [CheckAccessToNode], we can rename the following IDL attributes:

[CheckDomainSecurity] =&gt; [CheckAccessToFrame]
[DoNotCheckDomainSecurity] =&gt; [DoNotCheckAccessToFrame]
[DoNotCheckDomainSecurityOnGetter] =&gt; [DoNotCheckAccessToFrameOnGetter]
[DoNotCheckDomainSecurityOnSetter] =&gt; [DoNotCheckAccessToFrameOnSetter]

Adam: Would it make sense? If so, I&apos;ll make a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558895</commentid>
    <comment_count>1</comment_count>
      <attachid>127517</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-16 21:40:20 -0800</bug_when>
    <thetext>Created attachment 127517
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559311</commentid>
    <comment_count>2</comment_count>
      <attachid>127517</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-17 10:38:08 -0800</bug_when>
    <thetext>Comment on attachment 127517
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        - [CheckDomainSecurity] =&gt; [CheckAccessToFrame]
&gt; +        - [DoNotCheckDomainSecurity] =&gt; [DoNotCheckAccessToFrame]

I&apos;m not super excited about mentioning &quot;frame&quot; here because that&apos;s not quite right.  We should be checking access to the ScriptExecutionContext (although we don&apos;t get that 100% correct yet).  How about:

CheckAccess
DoNotCheckAccess

?

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:1694
&gt;                      push(@implContent, &quot;    if (!castedThis-&gt;allowsAccessFrom(exec))\n&quot;);

For example, |castedThis| might not be a Frame.  We&apos;re just generally checking access.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559856</commentid>
    <comment_count>3</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-18 19:46:19 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; +        - [CheckDomainSecurity] =&gt; [CheckAccessToFrame]
&gt; &gt; +        - [DoNotCheckDomainSecurity] =&gt; [DoNotCheckAccessToFrame]
&gt; 
&gt; I&apos;m not super excited about mentioning &quot;frame&quot; here because that&apos;s not quite right.  We should be checking access to the ScriptExecutionContext (although we don&apos;t get that 100% correct yet).  How about:
&gt; 
&gt; CheckAccess
&gt; DoNotCheckAccess

Thanks. Then [CheckDomainSecurity] might be better than [CheckAccess] in that it is clear that it is checking domain security. Instead, how about renaming [CheckAccessToNode] to [CheckDomainSecurityForNode]?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559878</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-19 00:19:52 -0800</bug_when>
    <thetext>&gt; Instead, how about renaming [CheckAccessToNode] to [CheckDomainSecurityForNode]?

The problem is that &quot;domain security&quot; isn&apos;t a term that&apos;s used elsewhere.  We usually call it the same-origin policy...

How about just [CheckSecurity] or [CheckSameOriginPolicy]?  The name [CheckSecurityForNode] makes sense and seems better than [CheckDomainSecurityForNode] or [CheckSameOriginPolicyForNode]...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559880</commentid>
    <comment_count>5</comment_count>
      <attachid>127731</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-19 00:30:22 -0800</bug_when>
    <thetext>Created attachment 127731
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559883</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-19 00:40:08 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; How about just [CheckSecurity] or [CheckSameOriginPolicy]?  The name [CheckSecurityForNode] makes sense and seems better than [CheckDomainSecurityForNode] or [CheckSameOriginPolicyForNode]...

Sounds good! I uploaded patches:

[*CheckDomainSecurity*] =&gt; [*CheckSecurity*] : this patch
[CheckAccessToNode] =&gt; [CheckSecurityForNode] : bug 78991</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559962</commentid>
    <comment_count>7</comment_count>
      <attachid>127731</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-19 15:47:28 -0800</bug_when>
    <thetext>Comment on attachment 127731
Patch

Clearing flags on attachment: 127731

Committed r108201: &lt;http://trac.webkit.org/changeset/108201&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>559963</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-19 15:47:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127517</attachid>
            <date>2012-02-16 21:40:20 -0800</date>
            <delta_ts>2012-02-19 00:30:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78874-20120217144019.patch</filename>
            <type>text/plain</type>
            <size>22094</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGZmOTViNjZiYTFmZTAw
MTAwYThjYTlmOTUwNzBjODJlNzZmYjkwNS4uOGRiZjc5NzU5NTE5MmZmZTY2NDZlNDE4ZmVlZDQ1
N2U2NzVhYzU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM5IEBACiAyMDEyLTAyLTE2ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBSZW5hbWUgW0NoZWNr
RG9tYWluU2VjdXJpdHldIHRvIFtDaGVja0FjY2Vzc1RvRnJhbWVdCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg3NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciBuYW1pbmcgY29uc2lzdGVuY3kgd2l0
aCBbQ2hlY2tBY2Nlc3NUb05vZGVdLAorICAgICAgICB0aGlzIHBhdGNoIHJlbmFtZXMgdGhlIGZv
bGxvd2luZyBJREwgYXR0cmlidXRlczoKKworICAgICAgICAtIFtDaGVja0RvbWFpblNlY3VyaXR5
XSA9PiBbQ2hlY2tBY2Nlc3NUb0ZyYW1lXQorICAgICAgICAtIFtEb05vdENoZWNrRG9tYWluU2Vj
dXJpdHldID0+IFtEb05vdENoZWNrQWNjZXNzVG9GcmFtZV0KKyAgICAgICAgLSBbRG9Ob3RDaGVj
a0RvbWFpblNlY3VyaXR5T25HZXR0ZXJdID0+IFtEb05vdENoZWNrQWNjZXNzVG9GcmFtZU9uR2V0
dGVyXQorICAgICAgICAtIFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHlPblNldHRlcl0gPT4gW0Rv
Tm90Q2hlY2tBY2Nlc3NUb0ZyYW1lT25TZXR0ZXJdCisKKyAgICAgICAgTm8gdGVzdHMuIE5vIGNo
YW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JCb2R5
KToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgor
ICAgICAgICAoSXNWaXNpYmxlQWNyb3NzT3JpZ2lucyk6CisgICAgICAgIChHZW5lcmF0ZUZ1bmN0
aW9uQ2FsbGJhY2spOgorICAgICAgICAoR2VuZXJhdGVTaW5nbGVCYXRjaGVkQXR0cmlidXRlKToK
KyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAoR2VuZXJhdGVUb1Y4
Q29udmVydGVycyk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3REb21haW5T
ZWN1cml0eS5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFj
dGl2ZURPTU9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb25maWd1cmVWOFRlc3RBY3Rp
dmVET01PYmplY3RUZW1wbGF0ZSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAg
ICAgICAqIHBhZ2UvSGlzdG9yeS5pZGw6CisgICAgICAgICogcGFnZS9Mb2NhdGlvbi5pZGw6CisK
KzIwMTItMDItMTYgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgorCiAgICAg
ICAgIFVucmV2aWV3ZWQuIFJlYmFzZWxpbmVkIHJ1bi1iaW5kaW5ncy10ZXN0cyByZXN1bHRzLgog
CiAgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0
b3IuY3BwOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbQppbmRleCA5NzliOTdiNGUyNDY4ODQ2NmQwZDVjODA0YjhlYzIxNjkwNTg3ODg3
Li42MThmNzcwMTE3YTBlYjcyMmRlZGU3NzI1Yjk2YWVjMzZmOThhMzUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNDk3
LDcgKzQ5Nyw3IEBAIHN1YiBHZW5lcmF0ZUdldE93blByb3BlcnR5RGVzY3JpcHRvckJvZHkKICAg
ICBteSAkbmFtZXNwYWNlTWF5YmUgPSAoJGlubGluZWQgPyAiSlNDOjoiIDogIiIpOwogICAgIAog
ICAgIG15IEBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JJbXBsID0gKCk7Ci0gICAgaWYgKCRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrRG9tYWluU2VjdXJpdHkifSkgeworICAg
IGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja0FjY2Vzc1RvRnJhbWUi
fSkgewogICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmICghdGhpc09iamVjdC0+YWxsb3dzQWNj
ZXNzRnJvbShleGVjKSlcbiIpOwogICAgICAgICB9IGVsc2UgewpAQCAtMTY4OCw5ICsxNjg4LDkg
QEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgICAgICAgICAgJG5lZWRz
TWFya0NoaWxkcmVuID0gMTsKICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBp
ZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tEb21haW5TZWN1cml0eSJ9
ICYmIAotICAgICAgICAgICAgICAgICAgICAgICAgISRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkRvTm90Q2hlY2tEb21haW5TZWN1cml0eSJ9ICYmCi0gICAgICAg
ICAgICAgICAgICAgICAgICAhJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5T25HZXR0ZXIifSkgeworICAgICAgICAgICAg
ICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja0FjY2Vzc1RvRnJh
bWUifSAmJiAKKyAgICAgICAgICAgICAgICAgICAgICAgICEkYXR0cmlidXRlLT5zaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJEb05vdENoZWNrQWNjZXNzVG9GcmFtZSJ9ICYmCisgICAg
ICAgICAgICAgICAgICAgICAgICAhJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiRG9Ob3RDaGVja0FjY2Vzc1RvRnJhbWVPbkdldHRlciJ9KSB7CiAgICAgICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmICghY2FzdGVkVGhpcy0+YWxsb3dz
QWNjZXNzRnJvbShleGVjKSlcbiIpOwogICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7XG4iKTsKICAgICAgICAgICAgICAg
ICB9CkBAIC0xODAzLDcgKzE4MDMsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiBkb21PYmplY3QgPSBzdGF0aWNf
Y2FzdDwkY2xhc3NOYW1lKj4oYXNPYmplY3Qoc2xvdEJhc2UpKTtcbiIpOwogCi0gICAgICAgICAg
ICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrRG9tYWluU2Vj
dXJpdHkifSkgeworICAgICAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJDaGVja0FjY2Vzc1RvRnJhbWUifSkgewogICAgICAgICAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICBpZiAoIWRvbU9iamVjdC0+YWxsb3dzQWNjZXNzRnJvbShleGVj
KSlcbiIpOwogICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAg
cmV0dXJuIGpzVW5kZWZpbmVkKCk7XG4iKTsKICAgICAgICAgICAgICAgICB9CkBAIC0xODc0LDcg
KzE4NzQsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ2b2lkICR7cHV0RnVuY3Rpb25OYW1lfShFeGVjU3Rh
dGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKVxuIik7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogCi0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hl
Y2tEb21haW5TZWN1cml0eSJ9ICYmICEkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJEb05vdENoZWNrRG9tYWluU2VjdXJpdHkifSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrQWNjZXNz
VG9GcmFtZSJ9ICYmICEkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJEb05vdENoZWNrQWNjZXNzVG9GcmFtZSJ9KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSB7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmICghc3RhdGljX2Nhc3Q8
JGNsYXNzTmFtZSo+KHRoaXNPYmplY3QpLT5hbGxvd3NBY2Nlc3NGcm9tKGV4ZWMpKVxuIik7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTE5OTksNyArMTk5OSw3IEBA
IHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgInZvaWQgJHtjb25zdHJ1Y3RvckZ1bmN0aW9uTmFtZX0oRXhlY1N0YXRlKiBleGVj
LCBKU09iamVjdCogdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSlcbiIpOwogICAgICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKCRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrRG9tYWluU2VjdXJpdHkifSkgeworICAg
ICAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja0Fj
Y2Vzc1RvRnJhbWUifSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUg
ZXEgIkRPTVdpbmRvdyIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIGlmICghc3RhdGljX2Nhc3Q8JGNsYXNzTmFtZSo+KHRoaXNPYmplY3QpLT5hbGxv
d3NBY2Nlc3NGcm9tKGV4ZWMpKVxuIik7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CkBA
IC0yMDkwLDggKzIwOTAsOCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNh
c3RlZFRoaXMsICYke2NsYXNzTmFtZX06OnNfaW5mbyk7XG4iKSB1bmxlc3MgKCRmdW5jdGlvbi0+
aXNTdGF0aWMpOwogCi0gICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ2hlY2tEb21haW5TZWN1cml0eSJ9IGFuZAotICAgICAgICAgICAgICAgICEkZnVuY3Rp
b24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkRvTm90Q2hlY2tEb21haW5TZWN1
cml0eSJ9IGFuZAorICAgICAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkNoZWNrQWNjZXNzVG9GcmFtZSJ9IGFuZAorICAgICAgICAgICAgICAgICEkZnVuY3Rpb24t
PnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkRvTm90Q2hlY2tBY2Nlc3NUb0ZyYW1l
In0gYW5kCiAgICAgICAgICAgICAgICAgISRmdW5jdGlvbi0+aXNTdGF0aWMpIHsKICAgICAgICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIWNhc3RlZFRoaXMtPmFsbG93c0Fj
Y2Vzc0Zyb20oZXhlYykpXG4iKTsKICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTtcbiIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgu
cG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpp
bmRleCBmZjdmYjhkMThjMmI2MTg5YjAzODBmMWExODc2MDY4ZTg0YTY1MjcyLi4zOGM1YThjOWI0
YTMyZDY1OWMwNTBlMzljMmQxZWQxZDRiNTU3MTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtNDA3LDcgKzQwNyw3IEBA
IEVORAogICAgIEdlbmVyYXRlSGVhZGVyQ3VzdG9tQ2FsbCgkZGF0YU5vZGUpOwogICAgIEdlbmVy
YXRlSGVhZGVyQ3VzdG9tSW50ZXJuYWxGaWVsZEluZGljZXMoJGRhdGFOb2RlKTsKIAotICAgIGlm
ICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja0RvbWFpblNlY3VyaXR5In0p
IHsKKyAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tBY2Nlc3NU
b0ZyYW1lIn0pIHsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgPDxFTkQpOwogICAgIHN0
YXRpYyBib29sIG5hbWVkU2VjdXJpdHlDaGVjayh2ODo6TG9jYWw8djg6Ok9iamVjdD4gaG9zdCwg
djg6OkxvY2FsPHY4OjpWYWx1ZT4ga2V5LCB2ODo6QWNjZXNzVHlwZSwgdjg6OkxvY2FsPHY4OjpW
YWx1ZT4gZGF0YSk7CiAgICAgc3RhdGljIGJvb2wgaW5kZXhlZFNlY3VyaXR5Q2hlY2sodjg6Okxv
Y2FsPHY4OjpPYmplY3Q+IGhvc3QsIHVpbnQzMl90IGluZGV4LCB2ODo6QWNjZXNzVHlwZSwgdjg6
OkxvY2FsPHY4OjpWYWx1ZT4gZGF0YSk7CkBAIC02NzUsNyArNjc1LDcgQEAgc3ViIElzTm9kZVN1
YlR5cGUKIHN1YiBJc1Zpc2libGVBY3Jvc3NPcmlnaW5zCiB7CiAgICAgbXkgJGRhdGFOb2RlID0g
c2hpZnQ7Ci0gICAgcmV0dXJuICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNr
RG9tYWluU2VjdXJpdHkifSAmJiAhKCRkYXRhTm9kZS0+bmFtZSBlcSAiRE9NV2luZG93Iik7Cisg
ICAgcmV0dXJuICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrQWNjZXNzVG9G
cmFtZSJ9ICYmICEoJGRhdGFOb2RlLT5uYW1lIGVxICJET01XaW5kb3ciKTsKIH0KIAogc3ViIElz
Q29uc3RydWN0YWJsZQpAQCAtMTM4Nyw5ICsxMzg3LDkgQEAgRU5ECiAgICAgfQogCiAgICAgIyBD
aGVjayBkb21haW4gc2VjdXJpdHkgaWYgbmVlZGVkCi0gICAgaWYgKCgkZGF0YU5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJDaGVja0RvbWFpblNlY3VyaXR5In0KKyAgICBpZiAoKCRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrQWNjZXNzVG9GcmFtZSJ9CiAgICAgICAgfHwg
JGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpCi0gICAgICAgJiYgISRmdW5jdGlvbi0+c2ln
bmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5In0p
IHsKKyAgICAgICAmJiAhJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJEb05vdENoZWNrQWNjZXNzVG9GcmFtZSJ9KSB7CiAgICAgIyBXZSBoYXZlIG5vdCBmaW5kIHJl
YWwgdXNlIGNhc2VzIHlldC4KICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCA8PEVORCk7CiAg
ICAgaWYgKCFWOEJpbmRpbmdTZWN1cml0eTo6Y2FuQWNjZXNzRnJhbWUoVjhCaW5kaW5nU3RhdGU6
Ok9ubHkoKSwgaW1wLT5mcmFtZSgpLCB0cnVlKSkKQEAgLTE5MjMsMTEgKzE5MjMsMTEgQEAgc3Vi
IEdlbmVyYXRlU2luZ2xlQmF0Y2hlZEF0dHJpYnV0ZQogICAgIG15ICRhdHRyRXh0ID0gJGF0dHJp
YnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXM7CiAKICAgICBteSAkYWNjZXNzQ29u
dHJvbCA9ICJ2ODo6REVGQVVMVCI7Ci0gICAgaWYgKCRhdHRyRXh0LT57IkRvTm90Q2hlY2tEb21h
aW5TZWN1cml0eU9uR2V0dGVyIn0pIHsKKyAgICBpZiAoJGF0dHJFeHQtPnsiRG9Ob3RDaGVja0Fj
Y2Vzc1RvRnJhbWVPbkdldHRlciJ9KSB7CiAgICAgICAgICRhY2Nlc3NDb250cm9sID0gInY4OjpB
TExfQ0FOX1JFQUQiOwotICAgIH0gZWxzaWYgKCRhdHRyRXh0LT57IkRvTm90Q2hlY2tEb21haW5T
ZWN1cml0eU9uU2V0dGVyIn0pIHsKKyAgICB9IGVsc2lmICgkYXR0ckV4dC0+eyJEb05vdENoZWNr
QWNjZXNzVG9GcmFtZU9uU2V0dGVyIn0pIHsKICAgICAgICAgJGFjY2Vzc0NvbnRyb2wgPSAidjg6
OkFMTF9DQU5fV1JJVEUiOwotICAgIH0gZWxzaWYgKCRhdHRyRXh0LT57IkRvTm90Q2hlY2tEb21h
aW5TZWN1cml0eSJ9KSB7CisgICAgfSBlbHNpZiAoJGF0dHJFeHQtPnsiRG9Ob3RDaGVja0FjY2Vz
c1RvRnJhbWUifSkgewogICAgICAgICAkYWNjZXNzQ29udHJvbCA9ICJ2ODo6QUxMX0NBTl9SRUFE
IjsKICAgICAgICAgaWYgKCEoJGF0dHJpYnV0ZS0+dHlwZSA9fiAvXnJlYWRvbmx5LykgJiYgISgk
YXR0ckV4dC0+eyJWOFJlYWRPbmx5In0pKSB7CiAgICAgICAgICAgICAkYWNjZXNzQ29udHJvbCAu
PSAiIHwgdjg6OkFMTF9DQU5fV1JJVEUiOwpAQCAtMjMyNyw3ICsyMzI3LDcgQEAgc3ViIEdlbmVy
YXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgIyBJZiB0aGUgZnVuY3Rpb24gZG9lcyBub3QgbmVl
ZCBkb21haW4gc2VjdXJpdHkgY2hlY2ssIHdlIG5lZWQgdG8KICAgICAgICAgIyBnZW5lcmF0ZSBh
biBhY2Nlc3MgZ2V0dGVyIHRoYXQgcmV0dXJucyBkaWZmZXJlbnQgZnVuY3Rpb24gb2JqZWN0cwog
ICAgICAgICAjIGZvciBkaWZmZXJlbnQgY2FsbGluZyBjb250ZXh0LgotICAgICAgICBpZiAoKCRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrRG9tYWluU2VjdXJpdHkifSB8fCAo
JGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpKSAmJiAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkRvTm90Q2hlY2tEb21haW5TZWN1cml0eSJ9KSB7CisgICAg
ICAgIGlmICgoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tBY2Nlc3NUb0Zy
YW1lIn0gfHwgKCRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSkgJiYgJGZ1bmN0aW9uLT5z
aWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJEb05vdENoZWNrQWNjZXNzVG9GcmFtZSJ9
KSB7CiAgICAgICAgICAgICBpZiAoISRpc0N1c3RvbSB8fCAkZnVuY3Rpb24tPntvdmVybG9hZElu
ZGV4fSA9PSAxKSB7CiAgICAgICAgICAgICAgICAgR2VuZXJhdGVEb21haW5TYWZlRnVuY3Rpb25H
ZXR0ZXIoJGZ1bmN0aW9uLCAkaW1wbENsYXNzTmFtZSk7CiAgICAgICAgICAgICB9CkBAIC0yMzg3
LDggKzIzODcsOCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICBpZiAoJGF0
dHJFeHQtPnsiVjhFbmFibGVkQXRSdW50aW1lIn0gfHwgUmVxdWlyZXNDdXN0b21TaWduYXR1cmUo
JGZ1bmN0aW9uKSB8fCAkYXR0ckV4dC0+eyJWOERvTm90Q2hlY2tTaWduYXR1cmUifSkgewogICAg
ICAgICAgICAgbmV4dDsKICAgICAgICAgfQotICAgICAgICBpZiAoJGF0dHJFeHQtPnsiRG9Ob3RD
aGVja0RvbWFpblNlY3VyaXR5In0gJiYKLSAgICAgICAgICAgICgkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJDaGVja0RvbWFpblNlY3VyaXR5In0gfHwgJGludGVyZmFjZU5hbWUgZXEg
IkRPTVdpbmRvdyIpKSB7CisgICAgICAgIGlmICgkYXR0ckV4dC0+eyJEb05vdENoZWNrQWNjZXNz
VG9GcmFtZSJ9ICYmCisgICAgICAgICAgICAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiQ2hlY2tBY2Nlc3NUb0ZyYW1lIn0gfHwgJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIp
KSB7CiAgICAgICAgICAgICBuZXh0OwogICAgICAgICB9CiAgICAgICAgIGlmICgkYXR0ckV4dC0+
eyJOb3RFbnVtZXJhYmxlIn0gfHwgJGF0dHJFeHQtPnsiVjhSZWFkT25seSJ9KSB7CkBAIC0yNDU0
LDcgKzI0NTQsNyBAQCBFTkQKICAgICB9CiAKICAgICBteSAkYWNjZXNzX2NoZWNrID0gIiI7Ci0g
ICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrRG9tYWluU2VjdXJp
dHkifSAmJiAhKCRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSkgeworICAgIGlmICgkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja0FjY2Vzc1RvRnJhbWUifSAmJiAhKCRp
bnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSkgewogICAgICAgICAkYWNjZXNzX2NoZWNrID0g
Imluc3RhbmNlLT5TZXRBY2Nlc3NDaGVja0NhbGxiYWNrcyhWOCR7aW50ZXJmYWNlTmFtZX06Om5h
bWVkU2VjdXJpdHlDaGVjaywgVjgke2ludGVyZmFjZU5hbWV9OjppbmRleGVkU2VjdXJpdHlDaGVj
aywgdjg6OkV4dGVybmFsOjpXcmFwKCZWOCR7aW50ZXJmYWNlTmFtZX06OmluZm8pKTsiOwogICAg
IH0KIApAQCAtMjYxMSw4ICsyNjExLDggQEAgRU5ECiAgICAgICAgICAgICAkY29uZGl0aW9uYWwg
PSAiaWYgKCR7ZW5hYmxlX2Z1bmN0aW9ufSgpKVxuICAgICAgICAiOwogICAgICAgICB9CiAKLSAg
ICAgICAgaWYgKCRhdHRyRXh0LT57IkRvTm90Q2hlY2tEb21haW5TZWN1cml0eSJ9ICYmCi0gICAg
ICAgICAgICAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tEb21haW5TZWN1
cml0eSJ9IHx8ICRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSkgeworICAgICAgICBpZiAo
JGF0dHJFeHQtPnsiRG9Ob3RDaGVja0FjY2Vzc1RvRnJhbWUifSAmJgorICAgICAgICAgICAgKCRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrQWNjZXNzVG9GcmFtZSJ9IHx8ICRp
bnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSkgewogICAgICAgICAgICAgIyBNYXJrIHRoZSBh
Y2Nlc3NvciBhcyBSZWFkT25seSBhbmQgc2V0IGl0IG9uIHRoZSBwcm90byBvYmplY3Qgc28KICAg
ICAgICAgICAgICMgaXQgY2FuIGJlIHNoYWRvd2VkLiBUaGlzIGlzIHJlYWxseSBhIGhhY2sgdG8g
bWFrZSBpdCB3b3JrLgogICAgICAgICAgICAgIyBUaGVyZSBhcmUgc2V2ZXJhbCBzY2VuZXJpYSB0
byBjYWxsIGludG8gdGhlIGFjY2Vzc29yOgpAQCAtMzAzOSw3ICszMDM5LDcgQEAgRU5ECiAKICAg
ICAjIEZJWE1FOiBXZSBuZWVkIGEgYmV0dGVyIHdheSBvZiByZWNvdmVyaW5nIHRoZSBjb3JyZWN0
IHByb3RvdHlwZSBjaGFpbgogICAgICMgZm9yIGV2ZXJ5IHNvcnQgb2Ygb2JqZWN0LiBGb3Igbm93
LCB3ZSBzcGVjaWFsLWNhc2UgY3Jvc3Mtb3JpZ2luIHZpc2libGUKLSAgICAjIG9iamVjdHMgKGku
ZS4sIHRob3NlIHdpdGggQ2hlY2tEb21haW5TZWN1cml0eSkuCisgICAgIyBvYmplY3RzIChpLmUu
LCB0aG9zZSB3aXRoIENoZWNrQWNjZXNzVG9GcmFtZSkuCiAgICAgaWYgKElzVmlzaWJsZUFjcm9z
c09yaWdpbnMoJGRhdGFOb2RlKSkgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQp
OwogICAgIGlmIChpbXBsLT5mcmFtZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdERvbWFpblNlY3VyaXR5LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RG9tYWluU2VjdXJpdHkuaWRsCmluZGV4IDA5
ZDYwYmQ1MmNhOTEwZDU3ZDI3OTZiNGUzOWJlNGQ5Zjc3ZTJlYmMuLjNlNzEwODllMWMxYTZkZmU5
ZjFhMTlhMGE4OGUxMjdhZjE4NGY4ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0RG9tYWluU2VjdXJpdHkuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RG9tYWluU2VjdXJpdHkuaWRsCkBAIC0yOCwx
MCArMjgsMTAgQEAKIAogbW9kdWxlIHRlc3QgewogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENo
ZWNrRG9tYWluU2VjdXJpdHkKKyAgICAgICAgQ2hlY2tBY2Nlc3NUb0ZyYW1lCiAgICAgXSBUZXN0
QWN0aXZlRE9NT2JqZWN0IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgZXhjaXRp
bmdBdHRyOwogICAgICAgICB2b2lkIGV4Y2l0aW5nRnVuY3Rpb24oaW4gTm9kZSBuZXh0Q2hpbGQp
OwotICAgICAgICBbRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5XSB2b2lkIHBvc3RNZXNzYWdlKGlu
IERPTVN0cmluZyBtZXNzYWdlKTsKKyAgICAgICAgW0RvTm90Q2hlY2tBY2Nlc3NUb0ZyYW1lXSB2
b2lkIHBvc3RNZXNzYWdlKGluIERPTVN0cmluZyBtZXNzYWdlKTsKICAgICB9OwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2
ZURPTU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAppbmRleCBiODdiYjU0YTQxMTkwODQyNDYwOWE0N2Y4
YTJlOTdhYTg3ZGMyZmIyLi4wOGI5NWZmMTA3ODhiMjQ3ZTQ5Nzk2OThkMzI2NWZiYWQ0YWI1N2Rm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcApAQCAtMTE3LDcgKzExNyw3IEBA
IHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gQ29uZmlndXJlVjhU
ZXN0QWN0aXZlRE9NT2JqZWN0VGVtcGxhCiAgICAgdjg6OkhhbmRsZTx2ODo6U2lnbmF0dXJlPiBl
eGNpdGluZ0Z1bmN0aW9uU2lnbmF0dXJlID0gdjg6OlNpZ25hdHVyZTo6TmV3KGRlc2MsIGV4Y2l0
aW5nRnVuY3Rpb25BcmdjLCBleGNpdGluZ0Z1bmN0aW9uQXJndik7CiAgICAgcHJvdG8tPlNldCh2
ODo6U3RyaW5nOjpOZXcoImV4Y2l0aW5nRnVuY3Rpb24iKSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6
Ok5ldyhUZXN0QWN0aXZlRE9NT2JqZWN0SW50ZXJuYWw6OmV4Y2l0aW5nRnVuY3Rpb25DYWxsYmFj
aywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCksIGV4Y2l0aW5nRnVuY3Rpb25TaWduYXR1cmUpKTsK
IAotICAgIC8vIEZ1bmN0aW9uICdwb3N0TWVzc2FnZScgKEV4dEF0dHI6ICdEb05vdENoZWNrRG9t
YWluU2VjdXJpdHknKQorICAgIC8vIEZ1bmN0aW9uICdwb3N0TWVzc2FnZScgKEV4dEF0dHI6ICdE
b05vdENoZWNrQWNjZXNzVG9GcmFtZScpCiAgICAgcHJvdG8tPlNldEFjY2Vzc29yKHY4OjpTdHJp
bmc6Ok5ldygicG9zdE1lc3NhZ2UiKSwgVGVzdEFjdGl2ZURPTU9iamVjdEludGVybmFsOjpwb3N0
TWVzc2FnZUF0dHJHZXR0ZXIsIDAsIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpLCB2ODo6QUxMX0NB
Tl9SRUFELCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpEb250RGVsZXRl
IHwgdjg6OlJlYWRPbmx5KSk7CiAKICAgICAvLyBDdXN0b20gdG9TdHJpbmcgdGVtcGxhdGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCAzNGQ5OGIwOGZjYTI2ODg4MWRhM2M4OTI0YjQ4
OWVlNzhiYzI0MWRjLi5iYTk2YWEzNDY4OGVlZjIwMjRjMjg5YWI1MTMyOWMzNzc4OTAxMmU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0yNyw3ICsyNyw3IEBACiBtb2R1bGUgd2lu
ZG93IHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENoZWNrRG9tYWluU2VjdXJpdHksCisg
ICAgICAgIENoZWNrQWNjZXNzVG9GcmFtZSwKICAgICAgICAgSlNDdXN0b21EZWZpbmVPd25Qcm9w
ZXJ0eSwKICAgICAgICAgQ3VzdG9tRGVsZXRlUHJvcGVydHksCiAgICAgICAgIEN1c3RvbUdldE93
blByb3BlcnR5U2xvdCwKQEAgLTQ0LDcgKzQ0LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgXSBE
T01XaW5kb3cgewogICAgICAgICAvLyBET00gTGV2ZWwgMAogICAgICAgICBhdHRyaWJ1dGUgW1Jl
cGxhY2VhYmxlXSBTY3JlZW4gc2NyZWVuOwotICAgICAgICBhdHRyaWJ1dGUgW1JlcGxhY2VhYmxl
LCBEb05vdENoZWNrRG9tYWluU2VjdXJpdHlPbkdldHRlciwgSlNDdXN0b21HZXR0ZXJdIEhpc3Rv
cnkgaGlzdG9yeTsKKyAgICAgICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZSwgRG9Ob3RDaGVja0Fj
Y2Vzc1RvRnJhbWVPbkdldHRlciwgSlNDdXN0b21HZXR0ZXJdIEhpc3RvcnkgaGlzdG9yeTsKICAg
ICAgICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZV0gQmFySW5mbyBsb2NhdGlvbmJhcjsKICAgICAg
ICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZV0gQmFySW5mbyBtZW51YmFyOwogICAgICAgICBhdHRy
aWJ1dGUgW1JlcGxhY2VhYmxlXSBCYXJJbmZvIHBlcnNvbmFsYmFyOwpAQCAtNTQsNyArNTQsNyBA
QCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZV0gTmF2aWdh
dG9yIG5hdmlnYXRvcjsKICAgICAgICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZV0gTmF2aWdhdG9y
IGNsaWVudEluZm9ybWF0aW9uOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ3J5cHRvIGNy
eXB0bzsKLSAgICAgICAgYXR0cmlidXRlIFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHksIEpTQ3Vz
dG9tLCBWOEN1c3RvbVNldHRlciwgVjhVbmZvcmdlYWJsZV0gTG9jYXRpb24gbG9jYXRpb247Cisg
ICAgICAgIGF0dHJpYnV0ZSBbRG9Ob3RDaGVja0FjY2Vzc1RvRnJhbWUsIEpTQ3VzdG9tLCBWOEN1
c3RvbVNldHRlciwgVjhVbmZvcmdlYWJsZV0gTG9jYXRpb24gbG9jYXRpb247CiAKICAgICAgICAg
YXR0cmlidXRlIFtSZXBsYWNlYWJsZSwgQ3VzdG9tR2V0dGVyLCBWOEN1c3RvbVNldHRlcl0gRXZl
bnQgZXZlbnQ7CiAKQEAgLTYzLDkgKzYzLDkgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFtDaGVja0FjY2Vzc1RvTm9kZV0gRWxlbWVudCBmcmFtZUVsZW1l
bnQ7CiAKLSAgICAgICAgW0RvTm90Q2hlY2tEb21haW5TZWN1cml0eV0gdm9pZCBmb2N1cygpOwot
ICAgICAgICBbRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5XSB2b2lkIGJsdXIoKTsKLSAgICAgICAg
W0RvTm90Q2hlY2tEb21haW5TZWN1cml0eSwgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4
dF0gdm9pZCBjbG9zZSgpOworICAgICAgICBbRG9Ob3RDaGVja0FjY2Vzc1RvRnJhbWVdIHZvaWQg
Zm9jdXMoKTsKKyAgICAgICAgW0RvTm90Q2hlY2tBY2Nlc3NUb0ZyYW1lXSB2b2lkIGJsdXIoKTsK
KyAgICAgICAgW0RvTm90Q2hlY2tBY2Nlc3NUb0ZyYW1lLCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0XSB2b2lkIGNsb3NlKCk7CiAKICAgICAgICAgdm9pZCBwcmludCgpOwogICAgICAg
ICB2b2lkIHN0b3AoKTsKQEAgLTExNCw5ICsxMTQsOSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAg
ICAgdm9pZCByZXNpemVCeShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4
LCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB5KTsgLy8gRklYTUU6IHRo
aXMgc2hvdWxkIHRha2UgbG9uZ3Mgbm90IGZsb2F0cy4KICAgICAgICAgdm9pZCByZXNpemVUbyhp
biBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB3aWR0aCwgaW4gW09wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgaGVpZ2h0KTsgLy8gRklYTUU6IHRoaXMgc2hvdWxk
IHRha2UgbG9uZ3Mgbm90IGZsb2F0cy4KIAotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0Rv
Tm90Q2hlY2tEb21haW5TZWN1cml0eV0gYm9vbGVhbiBjbG9zZWQ7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBbRG9Ob3RDaGVja0FjY2Vzc1RvRnJhbWVdIGJvb2xlYW4gY2xvc2VkOwogCi0g
ICAgICAgIGF0dHJpYnV0ZSBbUmVwbGFjZWFibGUsIERvTm90Q2hlY2tEb21haW5TZWN1cml0eU9u
R2V0dGVyXSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICAgICAgYXR0cmlidXRlIFtSZXBsYWNl
YWJsZSwgRG9Ob3RDaGVja0FjY2Vzc1RvRnJhbWVPbkdldHRlcl0gdW5zaWduZWQgbG9uZyBsZW5n
dGg7CiAKICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwogCkBAIC0xMjgsMTMgKzEy
OCwxMyBAQCBtb2R1bGUgd2luZG93IHsKICNlbmRpZgogCiAgICAgICAgIC8vIFNlbGYgcmVmZXJl
bnRpYWwgYXR0cmlidXRlcwotICAgICAgICBhdHRyaWJ1dGUgW1JlcGxhY2VhYmxlLCBEb05vdENo
ZWNrRG9tYWluU2VjdXJpdHlPbkdldHRlcl0gRE9NV2luZG93IHNlbGY7Ci0gICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBbRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5LCBWOFVuZm9yZ2VhYmxlXSBE
T01XaW5kb3cgd2luZG93OwotICAgICAgICBhdHRyaWJ1dGUgW1JlcGxhY2VhYmxlLCBEb05vdENo
ZWNrRG9tYWluU2VjdXJpdHlPbkdldHRlcl0gRE9NV2luZG93IGZyYW1lczsKKyAgICAgICAgYXR0
cmlidXRlIFtSZXBsYWNlYWJsZSwgRG9Ob3RDaGVja0FjY2Vzc1RvRnJhbWVPbkdldHRlcl0gRE9N
V2luZG93IHNlbGY7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbRG9Ob3RDaGVja0FjY2Vz
c1RvRnJhbWUsIFY4VW5mb3JnZWFibGVdIERPTVdpbmRvdyB3aW5kb3c7CisgICAgICAgIGF0dHJp
YnV0ZSBbUmVwbGFjZWFibGUsIERvTm90Q2hlY2tBY2Nlc3NUb0ZyYW1lT25HZXR0ZXJdIERPTVdp
bmRvdyBmcmFtZXM7CiAKLSAgICAgICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZSwgRG9Ob3RDaGVj
a0RvbWFpblNlY3VyaXR5T25HZXR0ZXIsIFY4Q3VzdG9tU2V0dGVyXSBET01XaW5kb3cgb3BlbmVy
OwotICAgICAgICBhdHRyaWJ1dGUgW1JlcGxhY2VhYmxlLCBEb05vdENoZWNrRG9tYWluU2VjdXJp
dHlPbkdldHRlcl0gRE9NV2luZG93IHBhcmVudDsKLSAgICAgICAgYXR0cmlidXRlIFtSZXBsYWNl
YWJsZSwgRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5T25HZXR0ZXIsIFY4VW5mb3JnZWFibGUsIFY4
UmVhZE9ubHldIERPTVdpbmRvdyB0b3A7CisgICAgICAgIGF0dHJpYnV0ZSBbUmVwbGFjZWFibGUs
IERvTm90Q2hlY2tBY2Nlc3NUb0ZyYW1lT25HZXR0ZXIsIFY4Q3VzdG9tU2V0dGVyXSBET01XaW5k
b3cgb3BlbmVyOworICAgICAgICBhdHRyaWJ1dGUgW1JlcGxhY2VhYmxlLCBEb05vdENoZWNrQWNj
ZXNzVG9GcmFtZU9uR2V0dGVyXSBET01XaW5kb3cgcGFyZW50OworICAgICAgICBhdHRyaWJ1dGUg
W1JlcGxhY2VhYmxlLCBEb05vdENoZWNrQWNjZXNzVG9GcmFtZU9uR2V0dGVyLCBWOFVuZm9yZ2Vh
YmxlLCBWOFJlYWRPbmx5XSBET01XaW5kb3cgdG9wOwogCiAgICAgICAgIC8vIERPTSBMZXZlbCAy
IEFic3RyYWN0VmlldyBJbnRlcmZhY2UKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERvY3Vt
ZW50IGRvY3VtZW50OwpAQCAtMTkwLDE4ICsxOTAsMTggQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAg
ICAgICAgLy8gY3Jvc3MtZG9jdW1lbnQgbWVzc2FnaW5nCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9K
QVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCi0gICAgICAgIFtEb05vdENoZWNrRG9t
YWluU2VjdXJpdHksIEN1c3RvbV0gdm9pZCBwb3N0TWVzc2FnZShpbiBTZXJpYWxpemVkU2NyaXB0
VmFsdWUgbWVzc2FnZSwgaW4gRE9NU3RyaW5nIHRhcmdldE9yaWdpbikKKyAgICAgICAgW0RvTm90
Q2hlY2tBY2Nlc3NUb0ZyYW1lLCBDdXN0b21dIHZvaWQgcG9zdE1lc3NhZ2UoaW4gU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlIG1lc3NhZ2UsIGluIERPTVN0cmluZyB0YXJnZXRPcmlnaW4pCiAgICAgICAg
ICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgW0RvTm90Q2hlY2tEb21haW5TZWN1
cml0eSwgQ3VzdG9tXSB2b2lkIHBvc3RNZXNzYWdlKGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBt
ZXNzYWdlLCBpbiBET01TdHJpbmcgdGFyZ2V0T3JpZ2luLCBpbiBBcnJheSBtZXNzYWdlUG9ydHMp
CisgICAgICAgIFtEb05vdENoZWNrQWNjZXNzVG9GcmFtZSwgQ3VzdG9tXSB2b2lkIHBvc3RNZXNz
YWdlKGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBtZXNzYWdlLCBpbiBET01TdHJpbmcgdGFyZ2V0
T3JpZ2luLCBpbiBBcnJheSBtZXNzYWdlUG9ydHMpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKIAotICAgICAgICBbRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5LCBDdXN0b21dIHZv
aWQgd2Via2l0UG9zdE1lc3NhZ2UoaW4gU2VyaWFsaXplZFNjcmlwdFZhbHVlIG1lc3NhZ2UsIGlu
IERPTVN0cmluZyB0YXJnZXRPcmlnaW4pCisgICAgICAgIFtEb05vdENoZWNrQWNjZXNzVG9GcmFt
ZSwgQ3VzdG9tXSB2b2lkIHdlYmtpdFBvc3RNZXNzYWdlKGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZSBtZXNzYWdlLCBpbiBET01TdHJpbmcgdGFyZ2V0T3JpZ2luKQogICAgICAgICAgICAgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHksIEN1c3Rv
bV0gdm9pZCB3ZWJraXRQb3N0TWVzc2FnZShpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgbWVzc2Fn
ZSwgaW4gRE9NU3RyaW5nIHRhcmdldE9yaWdpbiwgaW4gQXJyYXkgdHJhbnNmZXJMaXN0KQorICAg
ICAgICBbRG9Ob3RDaGVja0FjY2Vzc1RvRnJhbWUsIEN1c3RvbV0gdm9pZCB3ZWJraXRQb3N0TWVz
c2FnZShpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgbWVzc2FnZSwgaW4gRE9NU3RyaW5nIHRhcmdl
dE9yaWdpbiwgaW4gQXJyYXkgdHJhbnNmZXJMaXN0KQogICAgICAgICAgICAgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CiAjZWxzZQogICAgICAgICAvLyBUaGVyZSdzIG5vIGdvb2Qgd2F5IHRvIGV4cG9z
ZSBhbiBhcnJheSB2aWEgdGhlIE9iakMgYmluZGluZ3MsIHNvIGZvciBub3cganVzdCBhbGxvdyBw
YXNzaW5nIGluIGEgc2luZ2xlIHBvcnQuCi0gICAgICAgIFtEb05vdENoZWNrRG9tYWluU2VjdXJp
dHksIEN1c3RvbV0gdm9pZCBwb3N0TWVzc2FnZShpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgbWVz
c2FnZSwgaW4gW09wdGlvbmFsXSBNZXNzYWdlUG9ydCBtZXNzYWdlUG9ydCwgaW4gRE9NU3RyaW5n
IHRhcmdldE9yaWdpbikKKyAgICAgICAgW0RvTm90Q2hlY2tBY2Nlc3NUb0ZyYW1lLCBDdXN0b21d
IHZvaWQgcG9zdE1lc3NhZ2UoaW4gU2VyaWFsaXplZFNjcmlwdFZhbHVlIG1lc3NhZ2UsIGluIFtP
cHRpb25hbF0gTWVzc2FnZVBvcnQgbWVzc2FnZVBvcnQsIGluIERPTVN0cmluZyB0YXJnZXRPcmln
aW4pCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICNlbmRpZgogCkBAIC03OTcs
NyArNzk3LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICNpZiBkZWZpbmVkKFY4X0JJTkRJTkcpICYm
IFY4X0JJTkRJTkcKICAgICAgICAgLy8gd2luZG93LnRvU3RyaW5nKCkgcmVxdWlyZXMgc3BlY2lh
bCBoYW5kbGluZyBpbiBWOAotICAgICAgICBbVjhEb05vdENoZWNrU2lnbmF0dXJlLCBEb05vdENo
ZWNrRG9tYWluU2VjdXJpdHksIEN1c3RvbSwgTm90RW51bWVyYWJsZV0gRE9NU3RyaW5nIHRvU3Ry
aW5nKCk7CisgICAgICAgIFtWOERvTm90Q2hlY2tTaWduYXR1cmUsIERvTm90Q2hlY2tBY2Nlc3NU
b0ZyYW1lLCBDdXN0b20sIE5vdEVudW1lcmFibGVdIERPTVN0cmluZyB0b1N0cmluZygpOwogI2Vu
ZGlmIC8vIGRlZmluZWQoVjhfQklORElORykKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5Lmlk
bAppbmRleCAyNWVhYzJhN2U3NGM2ZTY2YjlkODUxMDBkOWIxYjE4MTRhMmZjNDExLi5lYmZlZWM3
MTk3MTE5ZGQxMmYxNDFjZmVjOGUzMDI1ZGJjMDhhYzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0hpc3RvcnkuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5p
ZGwKQEAgLTI3LDcgKzI3LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAgICBpbnRlcmZhY2UgWwog
I2lmIGRlZmluZWQoVjhfQklORElORykgJiYgVjhfQklORElORwotICAgICAgICBDaGVja0RvbWFp
blNlY3VyaXR5LAorICAgICAgICBDaGVja0FjY2Vzc1RvRnJhbWUsCiAjZW5kaWYKICAgICAgICAg
SlNDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3RBbmREZXNjcmlwdG9yLAogICAgICAgICBDdXN0b21O
YW1lZFNldHRlciwKQEAgLTM5LDkgKzM5LDkgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIFtDYWNoZWRBdHRyaWJ1dGUsIEN1c3RvbV0gU2VyaWFsaXplZFNjcmlwdFZhbHVl
IHN0YXRlOwogCi0gICAgICAgIFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHksIENhbGxXaXRoPVNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgYmFjaygpOwotICAgICAgICBbRG9Ob3RDaGVja0Rv
bWFpblNlY3VyaXR5LCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIGZvcndh
cmQoKTsKLSAgICAgICAgW0RvTm90Q2hlY2tEb21haW5TZWN1cml0eSwgQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gdm9pZCBnbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSBsb25nIGRpc3RhbmNlKTsKKyAgICAgICAgW0RvTm90Q2hlY2tBY2Nlc3NUb0ZyYW1lLCBDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIGJhY2soKTsKKyAgICAgICAgW0RvTm90
Q2hlY2tBY2Nlc3NUb0ZyYW1lLCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lk
IGZvcndhcmQoKTsKKyAgICAgICAgW0RvTm90Q2hlY2tBY2Nlc3NUb0ZyYW1lLCBDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIGdvKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRl
ZmluZWRdIGxvbmcgZGlzdGFuY2UpOwogICAgICAgICAKICAgICAgICAgW0N1c3RvbSwgVjhFbmFi
bGVkQXRSdW50aW1lXSB2b2lkIHB1c2hTdGF0ZShpbiBhbnkgZGF0YSwgaW4gRE9NU3RyaW5nIHRp
dGxlLCBpbiBbT3B0aW9uYWxdIERPTVN0cmluZyB1cmwpCiAgICAgICAgICAgICByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRs
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwKaW5kZXggYTU0M2YyMWFmMWMzYjM0
ZTEyY2FiMTY1YmYyMjBlNzkwMjMwNWYyYS4uMDFlNzdkYjI2MTgyZDVmM2I2YTYwOWQyNWViNTRj
OWM5NDY2NDQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwKQEAgLTMwLDcgKzMwLDcgQEAg
bW9kdWxlIHdpbmRvdyB7CiAKICAgICBpbnRlcmZhY2UgWwogI2lmIGRlZmluZWQoVjhfQklORElO
RykgJiYgVjhfQklORElORwotICAgICAgICBDaGVja0RvbWFpblNlY3VyaXR5LAorICAgICAgICBD
aGVja0FjY2Vzc1RvRnJhbWUsCiAjZW5kaWYKICAgICAgICAgSlNDdXN0b21HZXRPd25Qcm9wZXJ0
eVNsb3RBbmREZXNjcmlwdG9yLAogICAgICAgICBDdXN0b21OYW1lZFNldHRlciwKQEAgLTQ0LDcg
KzQ0LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIFY4Q3VzdG9tVG9KU09iamVjdAogICAg
IF0gTG9jYXRpb24gewogI2lmICFkZWZpbmVkKExBTkdVQUdFX0NQUCkgfHwgIUxBTkdVQUdFX0NQ
UAotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0RvTm90Q2hlY2tEb21haW5TZWN1cml0eU9u
U2V0dGVyLCBDdXN0b21TZXR0ZXIsIFY4VW5mb3JnZWFibGVdIERPTVN0cmluZyBocmVmOworICAg
ICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0RvTm90Q2hlY2tBY2Nlc3NUb0ZyYW1lT25TZXR0ZXIs
IEN1c3RvbVNldHRlciwgVjhVbmZvcmdlYWJsZV0gRE9NU3RyaW5nIGhyZWY7CiAjZW5kaWYKIAog
ICAgICAgICBbQ3VzdG9tLCBWOE9uSW5zdGFuY2VdIHZvaWQgYXNzaWduKGluIFtPcHRpb25hbD1E
ZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyB1cmwpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127731</attachid>
            <date>2012-02-19 00:30:22 -0800</date>
            <delta_ts>2012-02-19 15:47:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78874-20120219173020.patch</filename>
            <type>text/plain</type>
            <size>21741</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4MTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQ5N2E4OGFiNDkzNGFj
MzQ4ODA4YjVjNjliNzk3YzVlMzlhY2M5ZC4uYTVlYjQ1ZDQ0OTdkYWI0MGMxMzk3OWMyMmRlOGM2
ZmFlYzM1ZTViOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTAyLTE5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW5hbWUgW0NoZWNr
RG9tYWluU2VjdXJpdHldIHRvIFtDaGVja1NlY3VyaXR5XQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4NzQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAiRG9tYWluIHNlY3VyaXR5IiBpc24ndCBhIHRlcm0g
dGhhdCdzIHVzZWQgZWxzZXdoZXJlLgorICAgICAgICBUaGlzIHBhdGNoIHJlbmFtZXMgSURMIGF0
dHJpYnV0ZXMgYXMgZm9sbG93czoKKworICAgICAgICAtIFtDaGVja0RvbWFpblNlY3VyaXR5XSA9
PiBbQ2hlY2tTZWN1cml0eV0KKyAgICAgICAgLSBbRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5XSA9
PiBbRG9Ob3RDaGVja1NlY3VyaXR5XQorICAgICAgICAtIFtEb05vdENoZWNrRG9tYWluU2VjdXJp
dHlPbkdldHRlcl0gPT4gW0RvTm90Q2hlY2tTZWN1cml0eU9uR2V0dGVyXQorICAgICAgICAtIFtE
b05vdENoZWNrRG9tYWluU2VjdXJpdHlPblNldHRlcl0gPT4gW0RvTm90Q2hlY2tTZWN1cml0eU9u
U2V0dGVyXQorCisgICAgICAgIE5vIHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdl
bmVyYXRlR2V0T3duUHJvcGVydHlEZXNjcmlwdG9yQm9keSk6CisgICAgICAgIChHZW5lcmF0ZUlt
cGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JW
OC5wbToKKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKyAgICAgICAgKElzVmlzaWJsZUFjcm9z
c09yaWdpbnMpOgorICAgICAgICAoR2VuZXJhdGVGdW5jdGlvbkNhbGxiYWNrKToKKyAgICAgICAg
KEdlbmVyYXRlU2luZ2xlQmF0Y2hlZEF0dHJpYnV0ZSk6CisgICAgICAgIChHZW5lcmF0ZUltcGxl
bWVudGF0aW9uKToKKyAgICAgICAgKEdlbmVyYXRlVG9WOENvbnZlcnRlcnMpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RG9tYWluU2VjdXJpdHkuaWRsOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01PYmplY3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q29uZmlndXJlVjhUZXN0QWN0aXZlRE9NT2JqZWN0VGVtcGxhdGUpOgor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAgICAgKiBwYWdlL0hpc3RvcnkuaWRs
OgorICAgICAgICAqIHBhZ2UvTG9jYXRpb24uaWRsOgorCiAyMDEyLTAyLTE4ICByYW1hbiBUZW5u
ZXRpICA8cnRlbm5ldGlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFRyYWNrIHRoZSBOUE4gcHJv
dG9jb2wgdmVyc2lvbiBuZWdvdGlhdGVkIHdpdGggdGhlIHNlcnZlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA5NzliOTdi
NGUyNDY4ODQ2NmQwZDVjODA0YjhlYzIxNjkwNTg3ODg3Li43NzEwZWIzZjFjMGE4MDE1MmYwYWM1
MmYwMjY1NDJhNzQ5ZTQ0NzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNDk3LDcgKzQ5Nyw3IEBAIHN1YiBHZW5lcmF0
ZUdldE93blByb3BlcnR5RGVzY3JpcHRvckJvZHkKICAgICBteSAkbmFtZXNwYWNlTWF5YmUgPSAo
JGlubGluZWQgPyAiSlNDOjoiIDogIiIpOwogICAgIAogICAgIG15IEBnZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3JJbXBsID0gKCk7Ci0gICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkNoZWNrRG9tYWluU2VjdXJpdHkifSkgeworICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJDaGVja1NlY3VyaXR5In0pIHsKICAgICAgICAgaWYgKCRpbnRlcmZhY2VO
YW1lIGVxICJET01XaW5kb3ciKSB7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICBpZiAoIXRoaXNPYmplY3QtPmFsbG93c0FjY2Vzc0Zyb20oZXhlYykpXG4iKTsKICAgICAgICAg
fSBlbHNlIHsKQEAgLTE2ODgsOSArMTY4OCw5IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9u
CiAgICAgICAgICAgICAgICAgICAgICRuZWVkc01hcmtDaGlsZHJlbiA9IDE7CiAgICAgICAgICAg
ICAgICAgfQogCi0gICAgICAgICAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkNoZWNrRG9tYWluU2VjdXJpdHkifSAmJiAKLSAgICAgICAgICAgICAgICAgICAgICAg
ICEkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJEb05vdENoZWNr
RG9tYWluU2VjdXJpdHkifSAmJgotICAgICAgICAgICAgICAgICAgICAgICAgISRhdHRyaWJ1dGUt
PnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkRvTm90Q2hlY2tEb21haW5TZWN1cml0
eU9uR2V0dGVyIn0pIHsKKyAgICAgICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiQ2hlY2tTZWN1cml0eSJ9ICYmIAorICAgICAgICAgICAgICAgICAgICAgICAg
ISRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkRvTm90Q2hlY2tT
ZWN1cml0eSJ9ICYmCisgICAgICAgICAgICAgICAgICAgICAgICAhJGF0dHJpYnV0ZS0+c2lnbmF0
dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRG9Ob3RDaGVja1NlY3VyaXR5T25HZXR0ZXIifSkg
ewogICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIWNhc3Rl
ZFRoaXMtPmFsbG93c0FjY2Vzc0Zyb20oZXhlYykpXG4iKTsKICAgICAgICAgICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpO1xuIik7CiAg
ICAgICAgICAgICAgICAgfQpAQCAtMTgwMyw3ICsxODAzLDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVt
ZW50YXRpb24KICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwogICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7Y2xhc3NOYW1lfSogZG9tT2Jq
ZWN0ID0gc3RhdGljX2Nhc3Q8JGNsYXNzTmFtZSo+KGFzT2JqZWN0KHNsb3RCYXNlKSk7XG4iKTsK
IAotICAgICAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJD
aGVja0RvbWFpblNlY3VyaXR5In0pIHsKKyAgICAgICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tTZWN1cml0eSJ9KSB7CiAgICAgICAgICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmICghZG9tT2JqZWN0LT5hbGxvd3NBY2Nlc3NG
cm9tKGV4ZWMpKVxuIik7CiAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTtcbiIpOwogICAgICAgICAgICAgICAgIH0KQEAg
LTE4NzQsNyArMTg3NCw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAg
ICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInZvaWQgJHtwdXRGdW5jdGlvbk5hbWV9
KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpXG4i
KTsKICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJDaGVja0RvbWFpblNlY3VyaXR5In0gJiYgISRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkRvTm90Q2hlY2tEb21haW5TZWN1cml0eSJ9KSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hl
Y2tTZWN1cml0eSJ9ICYmICEkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJEb05vdENoZWNrU2VjdXJpdHkifSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93IikgewogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoIXN0YXRpY19jYXN0PCRj
bGFzc05hbWUqPih0aGlzT2JqZWN0KS0+YWxsb3dzQWNjZXNzRnJvbShleGVjKSlcbiIpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CkBAIC0xOTk5LDcgKzE5OTksNyBAQCBz
dWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJ2b2lkICR7Y29uc3RydWN0b3JGdW5jdGlvbk5hbWV9KEV4ZWNTdGF0ZSogZXhlYywg
SlNPYmplY3QqIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpXG4iKTsKICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwotICAgICAgICAgICAgICAgIGlmICgkZGF0YU5v
ZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja0RvbWFpblNlY3VyaXR5In0pIHsKKyAgICAg
ICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tTZWN1
cml0eSJ9KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9N
V2luZG93IikgewogICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgaWYgKCFzdGF0aWNfY2FzdDwkY2xhc3NOYW1lKj4odGhpc09iamVjdCktPmFsbG93c0FjY2Vz
c0Zyb20oZXhlYykpXG4iKTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTIwOTAs
OCArMjA5MCw4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhp
cywgJiR7Y2xhc3NOYW1lfTo6c19pbmZvKTtcbiIpIHVubGVzcyAoJGZ1bmN0aW9uLT5pc1N0YXRp
Yyk7CiAKLSAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJD
aGVja0RvbWFpblNlY3VyaXR5In0gYW5kCi0gICAgICAgICAgICAgICAgISRmdW5jdGlvbi0+c2ln
bmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5In0g
YW5kCisgICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hl
Y2tTZWN1cml0eSJ9IGFuZAorICAgICAgICAgICAgICAgICEkZnVuY3Rpb24tPnNpZ25hdHVyZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkRvTm90Q2hlY2tTZWN1cml0eSJ9IGFuZAogICAgICAgICAg
ICAgICAgICEkZnVuY3Rpb24tPmlzU3RhdGljKSB7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgaWYgKCFjYXN0ZWRUaGlzLT5hbGxvd3NBY2Nlc3NGcm9tKGV4ZWMpKVxu
Iik7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7XG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggZjQ4MzQyMjBjOGRh
YTIxZTY3YzRkYWNmMDc0NGZmMjU1NDI5NjRlMi4uMGYzZjI4ODQzN2M0NDczYzBiZWI5NTYxYjg4
YmI4ZDI2ZDc5ODVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTQwNyw3ICs0MDcsNyBAQCBFTkQKICAgICBHZW5lcmF0
ZUhlYWRlckN1c3RvbUNhbGwoJGRhdGFOb2RlKTsKICAgICBHZW5lcmF0ZUhlYWRlckN1c3RvbUlu
dGVybmFsRmllbGRJbmRpY2VzKCRkYXRhTm9kZSk7CiAKLSAgICBpZiAoJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tEb21haW5TZWN1cml0eSJ9KSB7CisgICAgaWYgKCRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrU2VjdXJpdHkifSkgewogICAgICAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCA8PEVORCk7CiAgICAgc3RhdGljIGJvb2wgbmFtZWRTZWN1cml0
eUNoZWNrKHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBob3N0LCB2ODo6TG9jYWw8djg6OlZhbHVlPiBr
ZXksIHY4OjpBY2Nlc3NUeXBlLCB2ODo6TG9jYWw8djg6OlZhbHVlPiBkYXRhKTsKICAgICBzdGF0
aWMgYm9vbCBpbmRleGVkU2VjdXJpdHlDaGVjayh2ODo6TG9jYWw8djg6Ok9iamVjdD4gaG9zdCwg
dWludDMyX3QgaW5kZXgsIHY4OjpBY2Nlc3NUeXBlLCB2ODo6TG9jYWw8djg6OlZhbHVlPiBkYXRh
KTsKQEAgLTY3NSw3ICs2NzUsNyBAQCBzdWIgSXNOb2RlU3ViVHlwZQogc3ViIElzVmlzaWJsZUFj
cm9zc09yaWdpbnMKIHsKICAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKLSAgICByZXR1cm4gJGRh
dGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tEb21haW5TZWN1cml0eSJ9ICYmICEo
JGRhdGFOb2RlLT5uYW1lIGVxICJET01XaW5kb3ciKTsKKyAgICByZXR1cm4gJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tTZWN1cml0eSJ9ICYmICEoJGRhdGFOb2RlLT5uYW1l
IGVxICJET01XaW5kb3ciKTsKIH0KIAogc3ViIElzQ29uc3RydWN0YWJsZQpAQCAtMTM4Nyw5ICsx
Mzg3LDkgQEAgRU5ECiAgICAgfQogCiAgICAgIyBDaGVjayBkb21haW4gc2VjdXJpdHkgaWYgbmVl
ZGVkCi0gICAgaWYgKCgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja0RvbWFp
blNlY3VyaXR5In0KKyAgICBpZiAoKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNo
ZWNrU2VjdXJpdHkifQogICAgICAgIHx8ICRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKQot
ICAgICAgICYmICEkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkRv
Tm90Q2hlY2tEb21haW5TZWN1cml0eSJ9KSB7CisgICAgICAgJiYgISRmdW5jdGlvbi0+c2lnbmF0
dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRG9Ob3RDaGVja1NlY3VyaXR5In0pIHsKICAgICAj
IFdlIGhhdmUgbm90IGZpbmQgcmVhbCB1c2UgY2FzZXMgeWV0LgogICAgIHB1c2goQGltcGxDb250
ZW50RGVjbHMsIDw8RU5EKTsKICAgICBpZiAoIVY4QmluZGluZ1NlY3VyaXR5OjpjYW5BY2Nlc3NG
cmFtZShWOEJpbmRpbmdTdGF0ZTo6T25seSgpLCBpbXAtPmZyYW1lKCksIHRydWUpKQpAQCAtMTky
OSwxMSArMTkyOSwxMSBAQCBzdWIgR2VuZXJhdGVTaW5nbGVCYXRjaGVkQXR0cmlidXRlCiAgICAg
bXkgJGF0dHJFeHQgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlczsK
IAogICAgIG15ICRhY2Nlc3NDb250cm9sID0gInY4OjpERUZBVUxUIjsKLSAgICBpZiAoJGF0dHJF
eHQtPnsiRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5T25HZXR0ZXIifSkgeworICAgIGlmICgkYXR0
ckV4dC0+eyJEb05vdENoZWNrU2VjdXJpdHlPbkdldHRlciJ9KSB7CiAgICAgICAgICRhY2Nlc3ND
b250cm9sID0gInY4OjpBTExfQ0FOX1JFQUQiOwotICAgIH0gZWxzaWYgKCRhdHRyRXh0LT57IkRv
Tm90Q2hlY2tEb21haW5TZWN1cml0eU9uU2V0dGVyIn0pIHsKKyAgICB9IGVsc2lmICgkYXR0ckV4
dC0+eyJEb05vdENoZWNrU2VjdXJpdHlPblNldHRlciJ9KSB7CiAgICAgICAgICRhY2Nlc3NDb250
cm9sID0gInY4OjpBTExfQ0FOX1dSSVRFIjsKLSAgICB9IGVsc2lmICgkYXR0ckV4dC0+eyJEb05v
dENoZWNrRG9tYWluU2VjdXJpdHkifSkgeworICAgIH0gZWxzaWYgKCRhdHRyRXh0LT57IkRvTm90
Q2hlY2tTZWN1cml0eSJ9KSB7CiAgICAgICAgICRhY2Nlc3NDb250cm9sID0gInY4OjpBTExfQ0FO
X1JFQUQiOwogICAgICAgICBpZiAoISgkYXR0cmlidXRlLT50eXBlID1+IC9ecmVhZG9ubHkvKSAm
JiAhKCRhdHRyRXh0LT57IlY4UmVhZE9ubHkifSkpIHsKICAgICAgICAgICAgICRhY2Nlc3NDb250
cm9sIC49ICIgfCB2ODo6QUxMX0NBTl9XUklURSI7CkBAIC0yMzMzLDcgKzIzMzMsNyBAQCBzdWIg
R2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAjIElmIHRoZSBmdW5jdGlvbiBkb2VzIG5v
dCBuZWVkIGRvbWFpbiBzZWN1cml0eSBjaGVjaywgd2UgbmVlZCB0bwogICAgICAgICAjIGdlbmVy
YXRlIGFuIGFjY2VzcyBnZXR0ZXIgdGhhdCByZXR1cm5zIGRpZmZlcmVudCBmdW5jdGlvbiBvYmpl
Y3RzCiAgICAgICAgICMgZm9yIGRpZmZlcmVudCBjYWxsaW5nIGNvbnRleHQuCi0gICAgICAgIGlm
ICgoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hlY2tEb21haW5TZWN1cml0eSJ9
IHx8ICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93IikpICYmICRmdW5jdGlvbi0+c2lnbmF0
dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5In0pIHsK
KyAgICAgICAgaWYgKCgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja1NlY3Vy
aXR5In0gfHwgKCRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSkgJiYgJGZ1bmN0aW9uLT5z
aWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJEb05vdENoZWNrU2VjdXJpdHkifSkgewog
ICAgICAgICAgICAgaWYgKCEkaXNDdXN0b20gfHwgJGZ1bmN0aW9uLT57b3ZlcmxvYWRJbmRleH0g
PT0gMSkgewogICAgICAgICAgICAgICAgIEdlbmVyYXRlRG9tYWluU2FmZUZ1bmN0aW9uR2V0dGVy
KCRmdW5jdGlvbiwgJGltcGxDbGFzc05hbWUpOwogICAgICAgICAgICAgfQpAQCAtMjM5Myw4ICsy
MzkzLDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgaWYgKCRhdHRyRXh0
LT57IlY4RW5hYmxlZEF0UnVudGltZSJ9IHx8IFJlcXVpcmVzQ3VzdG9tU2lnbmF0dXJlKCRmdW5j
dGlvbikgfHwgJGF0dHJFeHQtPnsiVjhEb05vdENoZWNrU2lnbmF0dXJlIn0pIHsKICAgICAgICAg
ICAgIG5leHQ7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKCRhdHRyRXh0LT57IkRvTm90Q2hlY2tE
b21haW5TZWN1cml0eSJ9ICYmCi0gICAgICAgICAgICAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiQ2hlY2tEb21haW5TZWN1cml0eSJ9IHx8ICRpbnRlcmZhY2VOYW1lIGVxICJET01X
aW5kb3ciKSkgeworICAgICAgICBpZiAoJGF0dHJFeHQtPnsiRG9Ob3RDaGVja1NlY3VyaXR5In0g
JiYKKyAgICAgICAgICAgICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDaGVja1Nl
Y3VyaXR5In0gfHwgJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpKSB7CiAgICAgICAgICAg
ICBuZXh0OwogICAgICAgICB9CiAgICAgICAgIGlmICgkYXR0ckV4dC0+eyJOb3RFbnVtZXJhYmxl
In0gfHwgJGF0dHJFeHQtPnsiVjhSZWFkT25seSJ9KSB7CkBAIC0yNDYwLDcgKzI0NjAsNyBAQCBF
TkQKICAgICB9CiAKICAgICBteSAkYWNjZXNzX2NoZWNrID0gIiI7Ci0gICAgaWYgKCRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrRG9tYWluU2VjdXJpdHkifSAmJiAhKCRpbnRl
cmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSkgeworICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJDaGVja1NlY3VyaXR5In0gJiYgISgkaW50ZXJmYWNlTmFtZSBlcSAiRE9N
V2luZG93IikpIHsKICAgICAgICAgJGFjY2Vzc19jaGVjayA9ICJpbnN0YW5jZS0+U2V0QWNjZXNz
Q2hlY2tDYWxsYmFja3MoVjgke2ludGVyZmFjZU5hbWV9OjpuYW1lZFNlY3VyaXR5Q2hlY2ssIFY4
JHtpbnRlcmZhY2VOYW1lfTo6aW5kZXhlZFNlY3VyaXR5Q2hlY2ssIHY4OjpFeHRlcm5hbDo6V3Jh
cCgmVjgke2ludGVyZmFjZU5hbWV9OjppbmZvKSk7IjsKICAgICB9CiAKQEAgLTI2MTcsOCArMjYx
Nyw4IEBAIEVORAogICAgICAgICAgICAgJGNvbmRpdGlvbmFsID0gImlmICgke2VuYWJsZV9mdW5j
dGlvbn0oKSlcbiAgICAgICAgIjsKICAgICAgICAgfQogCi0gICAgICAgIGlmICgkYXR0ckV4dC0+
eyJEb05vdENoZWNrRG9tYWluU2VjdXJpdHkifSAmJgotICAgICAgICAgICAgKCRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrRG9tYWluU2VjdXJpdHkifSB8fCAkaW50ZXJmYWNl
TmFtZSBlcSAiRE9NV2luZG93IikpIHsKKyAgICAgICAgaWYgKCRhdHRyRXh0LT57IkRvTm90Q2hl
Y2tTZWN1cml0eSJ9ICYmCisgICAgICAgICAgICAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ2hlY2tTZWN1cml0eSJ9IHx8ICRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSkg
ewogICAgICAgICAgICAgIyBNYXJrIHRoZSBhY2Nlc3NvciBhcyBSZWFkT25seSBhbmQgc2V0IGl0
IG9uIHRoZSBwcm90byBvYmplY3Qgc28KICAgICAgICAgICAgICMgaXQgY2FuIGJlIHNoYWRvd2Vk
LiBUaGlzIGlzIHJlYWxseSBhIGhhY2sgdG8gbWFrZSBpdCB3b3JrLgogICAgICAgICAgICAgIyBU
aGVyZSBhcmUgc2V2ZXJhbCBzY2VuZXJpYSB0byBjYWxsIGludG8gdGhlIGFjY2Vzc29yOgpAQCAt
MzA0NSw3ICszMDQ1LDcgQEAgRU5ECiAKICAgICAjIEZJWE1FOiBXZSBuZWVkIGEgYmV0dGVyIHdh
eSBvZiByZWNvdmVyaW5nIHRoZSBjb3JyZWN0IHByb3RvdHlwZSBjaGFpbgogICAgICMgZm9yIGV2
ZXJ5IHNvcnQgb2Ygb2JqZWN0LiBGb3Igbm93LCB3ZSBzcGVjaWFsLWNhc2UgY3Jvc3Mtb3JpZ2lu
IHZpc2libGUKLSAgICAjIG9iamVjdHMgKGkuZS4sIHRob3NlIHdpdGggQ2hlY2tEb21haW5TZWN1
cml0eSkuCisgICAgIyBvYmplY3RzIChpLmUuLCB0aG9zZSB3aXRoIENoZWNrU2VjdXJpdHkpLgog
ICAgIGlmIChJc1Zpc2libGVBY3Jvc3NPcmlnaW5zKCRkYXRhTm9kZSkpIHsKICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsIDw8RU5EKTsKICAgICBpZiAoaW1wbC0+ZnJhbWUoKSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3REb21haW5TZWN1
cml0eS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdERvbWFp
blNlY3VyaXR5LmlkbAppbmRleCAwOWQ2MGJkNTJjYTkxMGQ1N2QyNzk2YjRlMzliZTRkOWY3N2Uy
ZWJjLi5iYmQ0NmUwZDQ5ZmNmNzI3ZTVmZWMzYTMwZWVjZWJiNDc1YWJjYTc3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdERvbWFpblNlY3VyaXR5
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdERvbWFp
blNlY3VyaXR5LmlkbApAQCAtMjgsMTAgKzI4LDEwIEBACiAKIG1vZHVsZSB0ZXN0IHsKICAgICBp
bnRlcmZhY2UgWwotICAgICAgICBDaGVja0RvbWFpblNlY3VyaXR5CisgICAgICAgIENoZWNrU2Vj
dXJpdHkKICAgICBdIFRlc3RBY3RpdmVET01PYmplY3QgewogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgbG9uZyBleGNpdGluZ0F0dHI7CiAgICAgICAgIHZvaWQgZXhjaXRpbmdGdW5jdGlvbihp
biBOb2RlIG5leHRDaGlsZCk7Ci0gICAgICAgIFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHldIHZv
aWQgcG9zdE1lc3NhZ2UoaW4gRE9NU3RyaW5nIG1lc3NhZ2UpOworICAgICAgICBbRG9Ob3RDaGVj
a1NlY3VyaXR5XSB2b2lkIHBvc3RNZXNzYWdlKGluIERPTVN0cmluZyBtZXNzYWdlKTsKICAgICB9
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdEFjdGl2ZURPTU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAppbmRleCBiODdiYjU0YTQxMTkw
ODQyNDYwOWE0N2Y4YTJlOTdhYTg3ZGMyZmIyLi5kYzczYzI2OTBlMjI1ZWFlNDRjNTZhZmUwMGVh
ZDIxMDcwZTkzZTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcApAQCAtMTE3
LDcgKzExNyw3IEBAIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4g
Q29uZmlndXJlVjhUZXN0QWN0aXZlRE9NT2JqZWN0VGVtcGxhCiAgICAgdjg6OkhhbmRsZTx2ODo6
U2lnbmF0dXJlPiBleGNpdGluZ0Z1bmN0aW9uU2lnbmF0dXJlID0gdjg6OlNpZ25hdHVyZTo6TmV3
KGRlc2MsIGV4Y2l0aW5nRnVuY3Rpb25BcmdjLCBleGNpdGluZ0Z1bmN0aW9uQXJndik7CiAgICAg
cHJvdG8tPlNldCh2ODo6U3RyaW5nOjpOZXcoImV4Y2l0aW5nRnVuY3Rpb24iKSwgdjg6OkZ1bmN0
aW9uVGVtcGxhdGU6Ok5ldyhUZXN0QWN0aXZlRE9NT2JqZWN0SW50ZXJuYWw6OmV4Y2l0aW5nRnVu
Y3Rpb25DYWxsYmFjaywgdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCksIGV4Y2l0aW5nRnVuY3Rpb25T
aWduYXR1cmUpKTsKIAotICAgIC8vIEZ1bmN0aW9uICdwb3N0TWVzc2FnZScgKEV4dEF0dHI6ICdE
b05vdENoZWNrRG9tYWluU2VjdXJpdHknKQorICAgIC8vIEZ1bmN0aW9uICdwb3N0TWVzc2FnZScg
KEV4dEF0dHI6ICdEb05vdENoZWNrU2VjdXJpdHknKQogICAgIHByb3RvLT5TZXRBY2Nlc3Nvcih2
ODo6U3RyaW5nOjpOZXcoInBvc3RNZXNzYWdlIiksIFRlc3RBY3RpdmVET01PYmplY3RJbnRlcm5h
bDo6cG9zdE1lc3NhZ2VBdHRyR2V0dGVyLCAwLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKSwgdjg6
OkFMTF9DQU5fUkVBRCwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6RG9u
dERlbGV0ZSB8IHY4OjpSZWFkT25seSkpOwogCiAgICAgLy8gQ3VzdG9tIHRvU3RyaW5nIHRlbXBs
YXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNzkzNjJlYmIxZmU3NWYyMzJmYzE4
ZjFlMzIxZjAzOTc4ZDM4MDJmMS4uMmJjMTEyMDYzNjQ4N2FkMzYzZGVlNTA4MzM1YzU0ZTUwOTNi
OWNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMjcsNyArMjcsNyBAQAogbW9k
dWxlIHdpbmRvdyB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDaGVja0RvbWFpblNlY3Vy
aXR5LAorICAgICAgICBDaGVja1NlY3VyaXR5LAogICAgICAgICBKU0N1c3RvbURlZmluZU93blBy
b3BlcnR5LAogICAgICAgICBDdXN0b21EZWxldGVQcm9wZXJ0eSwKICAgICAgICAgQ3VzdG9tR2V0
T3duUHJvcGVydHlTbG90LApAQCAtNDQsNyArNDQsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICBd
IERPTVdpbmRvdyB7CiAgICAgICAgIC8vIERPTSBMZXZlbCAwCiAgICAgICAgIGF0dHJpYnV0ZSBb
UmVwbGFjZWFibGVdIFNjcmVlbiBzY3JlZW47Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVwbGFjZWFi
bGUsIERvTm90Q2hlY2tEb21haW5TZWN1cml0eU9uR2V0dGVyLCBKU0N1c3RvbUdldHRlcl0gSGlz
dG9yeSBoaXN0b3J5OworICAgICAgICBhdHRyaWJ1dGUgW1JlcGxhY2VhYmxlLCBEb05vdENoZWNr
U2VjdXJpdHlPbkdldHRlciwgSlNDdXN0b21HZXR0ZXJdIEhpc3RvcnkgaGlzdG9yeTsKICAgICAg
ICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZV0gQmFySW5mbyBsb2NhdGlvbmJhcjsKICAgICAgICAg
YXR0cmlidXRlIFtSZXBsYWNlYWJsZV0gQmFySW5mbyBtZW51YmFyOwogICAgICAgICBhdHRyaWJ1
dGUgW1JlcGxhY2VhYmxlXSBCYXJJbmZvIHBlcnNvbmFsYmFyOwpAQCAtNTUsNyArNTUsNyBAQCBt
b2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZV0gTmF2aWdhdG9y
IGNsaWVudEluZm9ybWF0aW9uOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ3J5cHRvIGNy
eXB0bzsKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9DUFApIHx8ICFMQU5HVUFHRV9DUFAKLSAgICAg
ICAgYXR0cmlidXRlIFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHksIEpTQ3VzdG9tLCBWOEN1c3Rv
bVNldHRlciwgVjhVbmZvcmdlYWJsZV0gTG9jYXRpb24gbG9jYXRpb247CisgICAgICAgIGF0dHJp
YnV0ZSBbRG9Ob3RDaGVja1NlY3VyaXR5LCBKU0N1c3RvbSwgVjhDdXN0b21TZXR0ZXIsIFY4VW5m
b3JnZWFibGVdIExvY2F0aW9uIGxvY2F0aW9uOwogI2VuZGlmCiAgICAgICAgIGF0dHJpYnV0ZSBb
UmVwbGFjZWFibGUsIEN1c3RvbUdldHRlciwgVjhDdXN0b21TZXR0ZXJdIEV2ZW50IGV2ZW50Owog
CkBAIC02NCw5ICs2NCw5IEBAIG1vZHVsZSB3aW5kb3cgewogCiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBbQ2hlY2tBY2Nlc3NUb05vZGVdIEVsZW1lbnQgZnJhbWVFbGVtZW50OwogCi0gICAg
ICAgIFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHldIHZvaWQgZm9jdXMoKTsKLSAgICAgICAgW0Rv
Tm90Q2hlY2tEb21haW5TZWN1cml0eV0gdm9pZCBibHVyKCk7Ci0gICAgICAgIFtEb05vdENoZWNr
RG9tYWluU2VjdXJpdHksIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgY2xv
c2UoKTsKKyAgICAgICAgW0RvTm90Q2hlY2tTZWN1cml0eV0gdm9pZCBmb2N1cygpOworICAgICAg
ICBbRG9Ob3RDaGVja1NlY3VyaXR5XSB2b2lkIGJsdXIoKTsKKyAgICAgICAgW0RvTm90Q2hlY2tT
ZWN1cml0eSwgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCBjbG9zZSgpOwog
CiAgICAgICAgIHZvaWQgcHJpbnQoKTsKICAgICAgICAgdm9pZCBzdG9wKCk7CkBAIC0xMTUsOSAr
MTE1LDkgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgcmVzaXplQnkoaW4gW09wdGlv
bmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeCwgaW4gW09wdGlvbmFsPURlZmF1bHRJc1Vu
ZGVmaW5lZF0gZmxvYXQgeSk7IC8vIEZJWE1FOiB0aGlzIHNob3VsZCB0YWtlIGxvbmdzIG5vdCBm
bG9hdHMuCiAgICAgICAgIHZvaWQgcmVzaXplVG8oaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVm
aW5lZF0gZmxvYXQgd2lkdGgsIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0
IGhlaWdodCk7IC8vIEZJWE1FOiB0aGlzIHNob3VsZCB0YWtlIGxvbmdzIG5vdCBmbG9hdHMuCiAK
LSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHldIGJv
b2xlYW4gY2xvc2VkOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0RvTm90Q2hlY2tTZWN1
cml0eV0gYm9vbGVhbiBjbG9zZWQ7CiAKLSAgICAgICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZSwg
RG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5T25HZXR0ZXJdIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwor
ICAgICAgICBhdHRyaWJ1dGUgW1JlcGxhY2VhYmxlLCBEb05vdENoZWNrU2VjdXJpdHlPbkdldHRl
cl0gdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAKICAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBu
YW1lOwogCkBAIC0xMjksMTMgKzEyOSwxMyBAQCBtb2R1bGUgd2luZG93IHsKICNlbmRpZgogCiAg
ICAgICAgIC8vIFNlbGYgcmVmZXJlbnRpYWwgYXR0cmlidXRlcwotICAgICAgICBhdHRyaWJ1dGUg
W1JlcGxhY2VhYmxlLCBEb05vdENoZWNrRG9tYWluU2VjdXJpdHlPbkdldHRlcl0gRE9NV2luZG93
IHNlbGY7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbRG9Ob3RDaGVja0RvbWFpblNlY3Vy
aXR5LCBWOFVuZm9yZ2VhYmxlXSBET01XaW5kb3cgd2luZG93OwotICAgICAgICBhdHRyaWJ1dGUg
W1JlcGxhY2VhYmxlLCBEb05vdENoZWNrRG9tYWluU2VjdXJpdHlPbkdldHRlcl0gRE9NV2luZG93
IGZyYW1lczsKKyAgICAgICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZSwgRG9Ob3RDaGVja1NlY3Vy
aXR5T25HZXR0ZXJdIERPTVdpbmRvdyBzZWxmOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
W0RvTm90Q2hlY2tTZWN1cml0eSwgVjhVbmZvcmdlYWJsZV0gRE9NV2luZG93IHdpbmRvdzsKKyAg
ICAgICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZSwgRG9Ob3RDaGVja1NlY3VyaXR5T25HZXR0ZXJd
IERPTVdpbmRvdyBmcmFtZXM7CiAKLSAgICAgICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZSwgRG9O
b3RDaGVja0RvbWFpblNlY3VyaXR5T25HZXR0ZXIsIFY4Q3VzdG9tU2V0dGVyXSBET01XaW5kb3cg
b3BlbmVyOwotICAgICAgICBhdHRyaWJ1dGUgW1JlcGxhY2VhYmxlLCBEb05vdENoZWNrRG9tYWlu
U2VjdXJpdHlPbkdldHRlcl0gRE9NV2luZG93IHBhcmVudDsKLSAgICAgICAgYXR0cmlidXRlIFtS
ZXBsYWNlYWJsZSwgRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5T25HZXR0ZXIsIFY4VW5mb3JnZWFi
bGUsIFY4UmVhZE9ubHldIERPTVdpbmRvdyB0b3A7CisgICAgICAgIGF0dHJpYnV0ZSBbUmVwbGFj
ZWFibGUsIERvTm90Q2hlY2tTZWN1cml0eU9uR2V0dGVyLCBWOEN1c3RvbVNldHRlcl0gRE9NV2lu
ZG93IG9wZW5lcjsKKyAgICAgICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZSwgRG9Ob3RDaGVja1Nl
Y3VyaXR5T25HZXR0ZXJdIERPTVdpbmRvdyBwYXJlbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbUmVw
bGFjZWFibGUsIERvTm90Q2hlY2tTZWN1cml0eU9uR2V0dGVyLCBWOFVuZm9yZ2VhYmxlLCBWOFJl
YWRPbmx5XSBET01XaW5kb3cgdG9wOwogCiAgICAgICAgIC8vIERPTSBMZXZlbCAyIEFic3RyYWN0
VmlldyBJbnRlcmZhY2UKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERvY3VtZW50IGRvY3Vt
ZW50OwpAQCAtMTkxLDE4ICsxOTEsMTggQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAgICAgICAgLy8g
Y3Jvc3MtZG9jdW1lbnQgbWVzc2FnaW5nCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBU
KSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCi0gICAgICAgIFtEb05vdENoZWNrRG9tYWluU2VjdXJp
dHksIEN1c3RvbV0gdm9pZCBwb3N0TWVzc2FnZShpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgbWVz
c2FnZSwgaW4gRE9NU3RyaW5nIHRhcmdldE9yaWdpbikKKyAgICAgICAgW0RvTm90Q2hlY2tTZWN1
cml0eSwgQ3VzdG9tXSB2b2lkIHBvc3RNZXNzYWdlKGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBt
ZXNzYWdlLCBpbiBET01TdHJpbmcgdGFyZ2V0T3JpZ2luKQogICAgICAgICAgICAgcmFpc2VzKERP
TUV4Y2VwdGlvbik7Ci0gICAgICAgIFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHksIEN1c3RvbV0g
dm9pZCBwb3N0TWVzc2FnZShpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgbWVzc2FnZSwgaW4gRE9N
U3RyaW5nIHRhcmdldE9yaWdpbiwgaW4gQXJyYXkgbWVzc2FnZVBvcnRzKQorICAgICAgICBbRG9O
b3RDaGVja1NlY3VyaXR5LCBDdXN0b21dIHZvaWQgcG9zdE1lc3NhZ2UoaW4gU2VyaWFsaXplZFNj
cmlwdFZhbHVlIG1lc3NhZ2UsIGluIERPTVN0cmluZyB0YXJnZXRPcmlnaW4sIGluIEFycmF5IG1l
c3NhZ2VQb3J0cykKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgICAg
IFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHksIEN1c3RvbV0gdm9pZCB3ZWJraXRQb3N0TWVzc2Fn
ZShpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgbWVzc2FnZSwgaW4gRE9NU3RyaW5nIHRhcmdldE9y
aWdpbikKKyAgICAgICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgQ3VzdG9tXSB2b2lkIHdlYmtpdFBv
c3RNZXNzYWdlKGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBtZXNzYWdlLCBpbiBET01TdHJpbmcg
dGFyZ2V0T3JpZ2luKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAg
IFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHksIEN1c3RvbV0gdm9pZCB3ZWJraXRQb3N0TWVzc2Fn
ZShpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgbWVzc2FnZSwgaW4gRE9NU3RyaW5nIHRhcmdldE9y
aWdpbiwgaW4gQXJyYXkgdHJhbnNmZXJMaXN0KQorICAgICAgICBbRG9Ob3RDaGVja1NlY3VyaXR5
LCBDdXN0b21dIHZvaWQgd2Via2l0UG9zdE1lc3NhZ2UoaW4gU2VyaWFsaXplZFNjcmlwdFZhbHVl
IG1lc3NhZ2UsIGluIERPTVN0cmluZyB0YXJnZXRPcmlnaW4sIGluIEFycmF5IHRyYW5zZmVyTGlz
dCkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogI2Vsc2UKICAgICAgICAgLy8g
VGhlcmUncyBubyBnb29kIHdheSB0byBleHBvc2UgYW4gYXJyYXkgdmlhIHRoZSBPYmpDIGJpbmRp
bmdzLCBzbyBmb3Igbm93IGp1c3QgYWxsb3cgcGFzc2luZyBpbiBhIHNpbmdsZSBwb3J0LgotICAg
ICAgICBbRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5LCBDdXN0b21dIHZvaWQgcG9zdE1lc3NhZ2Uo
aW4gU2VyaWFsaXplZFNjcmlwdFZhbHVlIG1lc3NhZ2UsIGluIFtPcHRpb25hbF0gTWVzc2FnZVBv
cnQgbWVzc2FnZVBvcnQsIGluIERPTVN0cmluZyB0YXJnZXRPcmlnaW4pCisgICAgICAgIFtEb05v
dENoZWNrU2VjdXJpdHksIEN1c3RvbV0gdm9pZCBwb3N0TWVzc2FnZShpbiBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUgbWVzc2FnZSwgaW4gW09wdGlvbmFsXSBNZXNzYWdlUG9ydCBtZXNzYWdlUG9ydCwg
aW4gRE9NU3RyaW5nIHRhcmdldE9yaWdpbikKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRp
b24pOwogI2VuZGlmCiAKQEAgLTc5Nyw3ICs3OTcsNyBAQCBtb2R1bGUgd2luZG93IHsKIAogI2lm
IGRlZmluZWQoVjhfQklORElORykgJiYgVjhfQklORElORwogICAgICAgICAvLyB3aW5kb3cudG9T
dHJpbmcoKSByZXF1aXJlcyBzcGVjaWFsIGhhbmRsaW5nIGluIFY4Ci0gICAgICAgIFtWOERvTm90
Q2hlY2tTaWduYXR1cmUsIERvTm90Q2hlY2tEb21haW5TZWN1cml0eSwgQ3VzdG9tLCBOb3RFbnVt
ZXJhYmxlXSBET01TdHJpbmcgdG9TdHJpbmcoKTsKKyAgICAgICAgW1Y4RG9Ob3RDaGVja1NpZ25h
dHVyZSwgRG9Ob3RDaGVja1NlY3VyaXR5LCBDdXN0b20sIE5vdEVudW1lcmFibGVdIERPTVN0cmlu
ZyB0b1N0cmluZygpOwogI2VuZGlmIC8vIGRlZmluZWQoVjhfQklORElORykKICAgICB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRsIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9IaXN0b3J5LmlkbAppbmRleCAyNWVhYzJhN2U3NGM2ZTY2YjlkODUxMDBkOWIxYjE4
MTRhMmZjNDExLi42ZThmNmFiMDY3ZWExMzJjNmJiNDRmMTM2MjJiNWIyYjQzNGMzODU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvSGlzdG9yeS5pZGwKQEAgLTI3LDcgKzI3LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAK
ICAgICBpbnRlcmZhY2UgWwogI2lmIGRlZmluZWQoVjhfQklORElORykgJiYgVjhfQklORElORwot
ICAgICAgICBDaGVja0RvbWFpblNlY3VyaXR5LAorICAgICAgICBDaGVja1NlY3VyaXR5LAogI2Vu
ZGlmCiAgICAgICAgIEpTQ3VzdG9tR2V0T3duUHJvcGVydHlTbG90QW5kRGVzY3JpcHRvciwKICAg
ICAgICAgQ3VzdG9tTmFtZWRTZXR0ZXIsCkBAIC0zOSw5ICszOSw5IEBAIG1vZHVsZSB3aW5kb3cg
ewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ2FjaGVkQXR0cmlidXRlLCBDdXN0b21dIFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZSBzdGF0ZTsKIAotICAgICAgICBbRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5
LCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIGJhY2soKTsKLSAgICAgICAg
W0RvTm90Q2hlY2tEb21haW5TZWN1cml0eSwgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4
dF0gdm9pZCBmb3J3YXJkKCk7Ci0gICAgICAgIFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHksIENh
bGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgZ28oaW4gW09wdGlvbmFsPURlZmF1
bHRJc1VuZGVmaW5lZF0gbG9uZyBkaXN0YW5jZSk7CisgICAgICAgIFtEb05vdENoZWNrU2VjdXJp
dHksIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgYmFjaygpOworICAgICAg
ICBbRG9Ob3RDaGVja1NlY3VyaXR5LCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2
b2lkIGZvcndhcmQoKTsKKyAgICAgICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgQ2FsbFdpdGg9U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCBnbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBsb25nIGRpc3RhbmNlKTsKICAgICAgICAgCiAgICAgICAgIFtDdXN0b20sIFY4RW5hYmxl
ZEF0UnVudGltZV0gdm9pZCBwdXNoU3RhdGUoaW4gYW55IGRhdGEsIGluIERPTVN0cmluZyB0aXRs
ZSwgaW4gW09wdGlvbmFsXSBET01TdHJpbmcgdXJsKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCmluZGV4IDFhYzEzNzA5OTBiMTZmZmNj
MDg1ZDRkOTlkZWJiYWQyNzNiNDhjMDUuLjRmMTk2ZmMwZDM2OWFmZDk3MmNlNGY1ZTllN2I3MTYx
NmQ3ZTE4ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsCkBAIC0zMCw3ICszMCw3IEBAIG1v
ZHVsZSB3aW5kb3cgewogCiAgICAgaW50ZXJmYWNlIFsKICNpZiBkZWZpbmVkKFY4X0JJTkRJTkcp
ICYmIFY4X0JJTkRJTkcKLSAgICAgICAgQ2hlY2tEb21haW5TZWN1cml0eSwKKyAgICAgICAgQ2hl
Y2tTZWN1cml0eSwKICNlbmRpZgogICAgICAgICBKU0N1c3RvbUdldE93blByb3BlcnR5U2xvdEFu
ZERlc2NyaXB0b3IsCiAgICAgICAgIEN1c3RvbU5hbWVkU2V0dGVyLApAQCAtNDQsNyArNDQsNyBA
QCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgVjhDdXN0b21Ub0pTT2JqZWN0CiAgICAgXSBMb2Nh
dGlvbiB7CiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfQ1BQKSB8fCAhTEFOR1VBR0VfQ1BQCi0gICAg
ICAgICAgICAgICAgIGF0dHJpYnV0ZSBbRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5T25TZXR0ZXIs
IEN1c3RvbVNldHRlciwgVjhVbmZvcmdlYWJsZV0gRE9NU3RyaW5nIGhyZWY7CisgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBbRG9Ob3RDaGVja1NlY3VyaXR5T25TZXR0ZXIsIEN1c3RvbVNldHRl
ciwgVjhVbmZvcmdlYWJsZV0gRE9NU3RyaW5nIGhyZWY7CiAjZW5kaWYKIAogICAgICAgICBbQ3Vz
dG9tLCBWOFVuZm9yZ2VhYmxlXSB2b2lkIGFzc2lnbihpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSBET01TdHJpbmcgdXJsKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>