<?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>104181</bug_id>
          
          <creation_ts>2012-12-05 16:00:59 -0800</creation_ts>
          <short_desc>[HTMLTemplateElement] make content readonly and cloneNode(deep) clone content</short_desc>
          <delta_ts>2012-12-06 19:05:47 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>103547</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Rafael Weinstein">rafaelw</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>abarth</cc>
    
    <cc>adamk</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>784223</commentid>
    <comment_count>0</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-05 16:00:59 -0800</bug_when>
    <thetext>e.g. Implement https://www.w3.org/Bugs/Public/show_bug.cgi?id=16277, http://dvcs.w3.org/hg/webcomponents/rev/96d3865c980d</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784225</commentid>
    <comment_count>1</comment_count>
      <attachid>177855</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-05 16:07:53 -0800</bug_when>
    <thetext>Created attachment 177855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784442</commentid>
    <comment_count>2</comment_count>
      <attachid>177855</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-12-05 18:31:28 -0800</bug_when>
    <thetext>Comment on attachment 177855
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8HTMLTemplateElementCustom.cpp:48
&gt; +    v8::Handle&lt;v8::Value&gt; wrapper = v8::Handle&lt;v8::Value&gt;(DOMDataStore::current(info.GetIsolate())-&gt;get(content));
&gt; +    if (wrapper.IsEmpty())
&gt; +        wrapper = toV8(content, info.Holder(), info.GetIsolate());

Why not just call toV8 in the first place?  toV8 checks DOMDataStore for you.

&gt; Source/WebCore/bindings/v8/custom/V8HTMLTemplateElementCustom.cpp:51
&gt; +        V8DOMWrapper::setNamedHiddenReference(info.Holder(), &quot;content&quot;, wrapper);

We should add an IDL attribute that does this work.  The code generator already knows how to do all of this.

&gt; Source/WebCore/html/HTMLTemplateElement.cpp:77
&gt; +    return clone;

clone.release()

&gt; Source/WebCore/html/HTMLTemplateElement.idl:34
&gt; -    attribute DocumentFragment content setter raises (DOMException);
&gt; +    [Custom] readonly attribute DocumentFragment content;

[CacheAttributeForGC] ?  See http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm#L1026 for where you&apos;d teach the CodeGenerator to read this attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784443</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-12-05 18:32:04 -0800</bug_when>
    <thetext>This looks good, but I think we should teach the code generator how to do it since it&apos;s a one-line change to the code generator and it avoids the custom bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785142</commentid>
    <comment_count>4</comment_count>
      <attachid>178058</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-12-06 12:19:42 -0800</bug_when>
    <thetext>Created attachment 178058
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785143</commentid>
    <comment_count>5</comment_count>
      <attachid>177855</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-12-06 12:20:13 -0800</bug_when>
    <thetext>Comment on attachment 177855
Patch

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

Taking this patch over for raf

&gt;&gt; Source/WebCore/html/HTMLTemplateElement.cpp:77
&gt;&gt; +    return clone;
&gt; 
&gt; clone.release()

Done

&gt;&gt; Source/WebCore/html/HTMLTemplateElement.idl:34
&gt;&gt; +    [Custom] readonly attribute DocumentFragment content;
&gt; 
&gt; [CacheAttributeForGC] ?  See http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm#L1026 for where you&apos;d teach the CodeGenerator to read this attribute.

Done. That if statement is now completely crazy (since this new attribute is totally disjoint from all the other tests), but you&apos;re right that it does saving that code into a custom file.

I take it you&apos;re ok with the custom approach for JSC? I don&apos;t think they have any codegen to handle this, though the normal approach would be to use [JSCustomIsReachable] on the DocumentFragment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785155</commentid>
    <comment_count>6</comment_count>
      <attachid>178058</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-12-06 12:40:56 -0800</bug_when>
    <thetext>Comment on attachment 178058
Patch

Great.  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785200</commentid>
    <comment_count>7</comment_count>
      <attachid>178058</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-06 13:35:04 -0800</bug_when>
    <thetext>Comment on attachment 178058
Patch

Rejecting attachment 178058 from commit-queue.

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

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

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

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

Full output: http://queues.webkit.org/results/15170652</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785321</commentid>
    <comment_count>8</comment_count>
      <attachid>178088</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-12-06 15:09:22 -0800</bug_when>
    <thetext>Created attachment 178088
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785351</commentid>
    <comment_count>9</comment_count>
      <attachid>178088</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-06 15:48:53 -0800</bug_when>
    <thetext>Comment on attachment 178088
Patch for landing

Clearing flags on attachment: 178088

Committed r136903: &lt;http://trac.webkit.org/changeset/136903&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785352</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-06 15:48:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785544</commentid>
    <comment_count>11</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-06 19:05:47 -0800</bug_when>
    <thetext>Thanks for finishing this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177855</attachid>
            <date>2012-12-05 16:07:53 -0800</date>
            <delta_ts>2012-12-06 12:20:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104181-20121205160518.patch</filename>
            <type>text/plain</type>
            <size>31272</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NzY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRiYzBmNzdmMzhhZTU3
ZDllYjcyMmQzMTkwZTZiYTExOGNiYzM3Ny4uOTA1MDVmNjY1NjMyMmVhZThkNDY0NjQzNWQ0YmQ4
ODJiZDc0MTZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTEyLTA1ICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0hUTUxUZW1w
bGF0ZUVsZW1lbnRdIG1ha2UgY29udGVudCByZWFkb25seSBhbmQgY2xvbmVOb2RlKGRlZXApIGNs
b25lIGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNDE4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vdGUgdGhhdCB0aGlzIHBhdGNoIGFsc28gYWRkcyB0aGUgSlMvVjhIVE1MVGVtcGxhdGVF
bGVtZW50Q3VzdG9tIHdyYXBwZXJzIHdoaWNoIHRpZXMgdGhlIGxpZmV0aW1lIG9mIHRoZSBjb250
ZW50IERvY3VtZW50RnJhZ21lbnQgd3JhcHBlcgorICAgICAgICB0byB0aGUgbGlmZXRpbWUgb2Yg
dGhlIHRlbXBsYXRlIGVsZW1lbnQgd3JhcHBlciB2aWEgaGlkZGVuIEpTIHByb3BlcnR5LgorCisg
ICAgICAgIFRlc3Q6IGZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvY29udGVudFdyYXBwZXJz
Lmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBUYXJnZXQu
cHJpOgorICAgICAgICAqIFVzZUpTQy5jbWFrZToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmlkbC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNIVE1MVGVtcGxhdGVFbGVtZW50Ojpjb250ZW50KToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmlkbC4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MVGVtcGxhdGVFbGVtZW50
Ojpjb250ZW50QWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAg
ICAgIChFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGVtcGxhdGVFbGVtZW50
OjpjbG9uZU5vZGUpOgorICAgICAgICAqIGh0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5oOgorICAg
ICAgICAoSFRNTFRlbXBsYXRlRWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MVGVtcGxhdGVF
bGVtZW50LmlkbDoKKwogMjAxMi0xMi0wNSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29t
PgogCiAgICAgICAgIFRleHQgZGVjb3JhdGlvbnMgYXJlIHJvdGF0ZWQgd2hlbiB0ZXh0LWNvbWJp
bmUgdGFrZXMgZWZmZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggYWI4MTEzOTU4
NzlhMjZlNzc2NjZiYzQzYjhkNzIxZmNjMzAwMGRkMi4uZjg1YTdmZjVkYTZhM2Y4MmEzMjEzMTVi
ZDc2OTMyODNjNGQ3MTU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMzgsNyAr
MzgsNyBAQAogI2luY2x1ZGUgIkpTQ2FudmFzUGF0dGVybi5jcHAiCiAjaW5jbHVkZSAiSlNDYW52
YXNSZW5kZXJpbmdDb250ZXh0LmNwcCIKICNpbmNsdWRlICJKU0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5jcHAiCi0jaWYgRU5BQkxFKFdFQkdMKSAgICAKKyNpZiBFTkFCTEUoV0VCR0wpCiAjaW5j
bHVkZSAiSlNXZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIgogI2VuZGlmCiAjaW5jbHVkZSAiSlND
REFUQVNlY3Rpb24uY3BwIgpAQCAtMjExLDYgKzIxMSw5IEBACiAjaW5jbHVkZSAiSlNIVE1MVGFi
bGVFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxUYWJsZVJvd0VsZW1lbnQuY3BwIgogI2lu
Y2x1ZGUgIkpTSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuY3BwIgorI2lmIEVOQUJMRShURU1QTEFU
RV9FTEVNRU5UKQorI2luY2x1ZGUgIkpTSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAiCisjZW5kaWYK
ICNpbmNsdWRlICJKU0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTFRp
dGxlRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNIVE1MVW5rbm93bkVsZW1lbnQuY3BwIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKaW5kZXggZDRiNTBjYjliYTgzOTU4NjI3NTE5ODY0Mzc1YjA3YTdkNTAwM2M3MC4uOWNi
MDg2NjJlNjE0NWI5ZTZiODUxNmMzN2ZiODFmYWQzN2JiNmM2NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0x
NDQsNiArMTQ0LDcgQEAgU09VUkNFUyArPSBcCiAgICAgIGJpbmRpbmdzL2pzL0pTSFRNTE91dHB1
dEVsZW1lbnRDdXN0b20uY3BwIFwKICAgICAgYmluZGluZ3MvanMvSlNIVE1MU2VsZWN0RWxlbWVu
dEN1c3RvbS5jcHAgXAogICAgICBiaW5kaW5ncy9qcy9KU0hUTUxTdHlsZUVsZW1lbnRDdXN0b20u
Y3BwIFwKKyAgICAgYmluZGluZ3MvanMvSlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcCBc
CiAgICAgIGJpbmRpbmdzL2pzL0pTSGlzdG9yeUN1c3RvbS5jcHAgXAogICAgICBiaW5kaW5ncy9q
cy9KU0ltYWdlQ29uc3RydWN0b3IuY3BwIFwKICAgICAgYmluZGluZ3MvanMvSlNJbWFnZURhdGFD
dXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCBhMGZhZWRmNGU1MTNlZDAzYjBlMDc2N2I3
MTY2N2VkN2JhNDhhMjJjLi5kMTc5YTExOGVlN2FkMzVkMDM5NGI1OGYyYWE2YTljN2IxNmY2MDhj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvVXNlSlNDLmNtYWtlCkBAIC05Niw2ICs5Niw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTSFRNTE91dHB1dEVsZW1lbnRDdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvanMvSlNIVE1MU2VsZWN0RWxlbWVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU0hUTUxTdHlsZUVsZW1lbnRDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNIVE1M
VGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTSGlzdG9yeUN1c3Rv
bS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0ltYWdlQ29uc3RydWN0b3IuY3BwCiAgICAgYmluZGlu
Z3MvanMvSlNJbWFnZURhdGFDdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMDBiZDE1ZmQ1
NzJiNWFhMTA0MTAzMTM0ZWNlYTQ4MGUyZDMyZjE0My4uZmNmN2FlMWI0ZGYxYTgzZWRiNDhmOWEy
MmY5ZTcxNGFlZmU2Yjc3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjA4NCw2ICsyMDg0LDcgQEAK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MU2VsZWN0RWxlbWVudEN1c3RvbS5oJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxTdHlsZUVsZW1lbnRDdXN0b20uY3BwJywK
KyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hpc3RvcnlDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU0hpc3RvcnlDdXN0b20uaCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNJREJBbnlDdXN0b20uY3BwJywKQEAgLTI0MDAsNiArMjQwMSw3IEBACiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTFBsdWdJbkVsZW1lbnRDdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MU2VsZWN0RWxlbWVudEN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxTZWxlY3RF
bGVtZW50Q3VzdG9tLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxU
ZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhIaXN0b3J5Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SURCQW55Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SURCS2V5Q3VzdG9tLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggODU1YThiMmZkZDJiMGU1ZDFiOGZhYzBiMmYwMTA0NmMy
ZjYyM2ZhYy4uN2FiOTliMzllNTgyMjAyNjM5YTVmZWE5NDQ1NWQ5NTIxODYyMWVmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
NjAyMiwxMCArNjAyMiwxNSBAQAogCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHND
b3VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBE
NjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmggKi87IH07CiAJCUQ2MzBF
MkFDMTQ5QkYzNDQwMDVCMkY5NSAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5
NSAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuaCAqLzsgfTsKIAkJRDYzMEUyQUMxNDlCRjM0NDAwNUIy
Rjk2IC8qIEV2ZW50VHJhY2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTYgLyogRXZlbnRUcmFjZXIuaCAqLzsg
fTsKKwkJRDY0ODlEMjUxNjZGRkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENjQ4OUQy
MzE2NkZGQ0YxMDA3QzAzMUIgLyogSlNIVE1MVGVtcGxhdGVFbGVtZW50LmNwcCAqLzsgfTsKKwkJ
RDY0ODlEMjYxNjZGRkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDY0ODlEMjQxNjZGRkNG
MTAwN0MwMzFCIC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudC5oICovOyB9OworCQlENjY4MTdGQTE2
NkZFNkQ3MDBGQTA3QjQgLyogSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkVGQzBCQjE2NjZERjdBMDAzRDI5MUUg
LyogSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAgKi87IH07CisJCUQ2NjgxN0ZCMTY2RkU2RDcwMEZB
MDdCNCAvKiBIVE1MVGVtcGxhdGVFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBENkVGQzBCQzE2NjZERjdBMDAzRDI5MUUgLyogSFRNTFRlbXBs
YXRlRWxlbWVudC5oICovOyB9OwogCQlENkUyNzZBRjE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRp
b25PYnNlcnZlclJlZ2lzdHJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBENkUyNzZBRDE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJhdGlvbi5jcHAgKi87IH07CiAJCUQ2RTI3NkIwMTQ2Mzc0NTUwMDFEMjgwQSAv
KiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkUyNzZBRTE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRp
b25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oICovOyB9OwogCQlENkU1MjhBMzE0OUE5MjZEMDBFRkUx
RjMgLyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFNTI4QTExNDlBOTI2RDAwRUZFMUYzIC8q
IE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCAqLzsgfTsKIAkJRDZFNTI4QTQxNDlB
OTI2RDAwRUZFMUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkU1MjhBMjE0OUE5MjZEMDBF
RkUxRjMgLyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuaCAqLzsgfTsKKwkJRDZGNzk2
MEQxNjZGRkVDRTAwNzZERDE4IC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkY3OTYwQzE2NkZG
RUNFMDA3NkREMTggLyogSlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcCAqLzsgfTsKIAkJ
RDZGREFFRjMxNDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZGREFFRjIxNDlDMDYxOTAw
MzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQuY3BwICovOyB9OwogCQlENkZEQUVGMzE0OUMwNjE5
MDAzN0IxRTIgLyogU3RhdHNDb3VudGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0c0NvdW50
ZXIuY3BwICovOyB9OwogCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTMgLyogTWVtb3J5VXNhZ2VT
dXBwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMyAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuY3BwICovOyB9
OwpAQCAtMTM0NzIsNiArMTM0NzcsOCBAQAogCQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTUgLyog
TWVtb3J5VXNhZ2VTdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1l
bW9yeVVzYWdlU3VwcG9ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENjMwRTJB
QjE0OUJGMzQ0MDA1QjJGOTYgLyogRXZlbnRUcmFjZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRXZlbnRUcmFjZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk3IC8qIExheW91dFRlc3RTdXBwb3J0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dFRlc3RTdXBwb3J0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUQ2NDg5RDIzMTY2RkZDRjEwMDdDMDMxQiAvKiBKU0hUTUxUZW1w
bGF0ZUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNI
VE1MVGVtcGxhdGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDY0
ODlEMjQxNjZGRkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZFMjc2QUQxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0
aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUQ2RTI3NkFFMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2Vy
dmVyUmVnaXN0cmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE11dGF0
aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RDZFNTI4QTExNDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3Vw
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2
ZXJJbnRlcmVzdEdyb3VwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNDc5
LDYgKzEzNDg2LDcgQEAKIAkJRDZFRkMwQkIxNjY2REY3QTAwM0QyOTFFIC8qIEhUTUxUZW1wbGF0
ZUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFRl
bXBsYXRlRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RUZDMEJD
MTY2NkRGN0EwMDNEMjkxRSAvKiBIVE1MVGVtcGxhdGVFbGVtZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxUZW1wbGF0ZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRDZFRkMwQkQxNjY2REY3QTAwM0QyOTFFIC8qIEhUTUxUZW1wbGF0ZUVs
ZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxUZW1wbGF0ZUVsZW1lbnQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlENkY3OTYwQzE2NkZGRUNFMDA3NkREMTgg
LyogSlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMSAvKiBIaXN0b2dy
YW1TdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpc3Rv
Z3JhbVN1cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkZEQUVGMjE0
OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFN0YXRzQ291bnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMyAvKiBNZW1vcnlVc2FnZVN1cHBvcnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5VXNhZ2VTdXBwb3J0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4NjU3LDYgKzE4NjY1LDggQEAK
IAkJCQlCQzA2RUQ5QzBCRkQ2NjA2MDA4NTZFOUQgLyogSlNIVE1MVGFibGVSb3dFbGVtZW50Lmgg
Ki8sCiAJCQkJQkMwNkVEMDQwQkZENUJBRTAwODU2RTlEIC8qIEpTSFRNTFRhYmxlU2VjdGlvbkVs
ZW1lbnQuY3BwICovLAogCQkJCUJDMDZFRDA1MEJGRDVCQUUwMDg1NkU5RCAvKiBKU0hUTUxUYWJs
ZVNlY3Rpb25FbGVtZW50LmggKi8sCisJCQkJRDY0ODlEMjMxNjZGRkNGMTAwN0MwMzFCIC8qIEpT
SFRNTFRlbXBsYXRlRWxlbWVudC5jcHAgKi8sCisJCQkJRDY0ODlEMjQxNjZGRkNGMTAwN0MwMzFC
IC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudC5oICovLAogCQkJCUE4MEU3RTk0MEExQTgzRTMwMDdG
QjhDNSAvKiBKU0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwICovLAogCQkJCUE4MEU3RTkzMEExQTgz
RTMwMDdGQjhDNSAvKiBKU0hUTUxUZXh0QXJlYUVsZW1lbnQuaCAqLywKIAkJCQlBODBFN0IwOTBB
MTlENjA2MDA3RkI4QzUgLyogSlNIVE1MVGl0bGVFbGVtZW50LmNwcCAqLywKQEAgLTIwNjM1LDYg
KzIwNjQ1LDcgQEAKIAkJCQlCQzE3Rjk2NTBCNjRFQkI4MDA0QTY1Q0IgLyogSlNIVE1MU2VsZWN0
RWxlbWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQUI0Q0I0RUEwQjhCREEzRDAwOUY0MEIwIC8qIEpT
SFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uaCAqLywKIAkJCQlFMUFEMTM5RDEyOTVEOTYxMDBBQ0E5
ODkgLyogSlNIVE1MU3R5bGVFbGVtZW50Q3VzdG9tLmNwcCAqLywKKwkJCQlENkY3OTYwQzE2NkZG
RUNFMDA3NkREMTggLyogSlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlD
NTg1QTY1QzExRDRGQUIyMDA0QzNFNEIgLyogSlNJREJBbnlDdXN0b20uY3BwICovLAogCQkJCUM1
ODVBNjVEMTFENEZBQjIwMDRDM0U0QiAvKiBKU0lEQktleUN1c3RvbS5jcHAgKi8sCiAJCQkJQTdE
MDMxOEQwRTkzNTQwMzAwRTI0QUNEIC8qIEpTSW1hZ2VEYXRhQ3VzdG9tLmNwcCAqLywKQEAgLTI1
ODg5LDYgKzI1OTAwLDggQEAKIAkJCQk5M0Y3MkFGMzE2NjZFREZDMDAyQTAyQkQgLyogTGF5ZXJQ
b29sLmggaW4gSGVhZGVycyAqLywKIAkJCQlERUJDQ0REMjE2NjQ2RTgyMDBBNDUyRTEgLyogUmVu
ZGVyTWVkaWFDb250cm9sRWxlbWVudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCURFQkNDREQ0MTY2
NDZFQUYwMEE0NTJFMSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuaCBpbiBIZWFkZXJzICov
LAorCQkJCUQ2NjgxN0ZCMTY2RkU2RDcwMEZBMDdCNCAvKiBIVE1MVGVtcGxhdGVFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlENjQ4OUQyNjE2NkZGQ0YxMDA3QzAzMUIgLyogSlNIVE1MVGVt
cGxhdGVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI4OTk3LDYgKzI5MDEwLDkgQEAKIAkJ
CQk4NkJBNzY2RTE2NjQyN0E4MDA1QkU1RDEgLyogRnJhbWVMb2FkUmVxdWVzdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5M0Y3MkFGNDE2NjZFREZDMDAyQTAyQkQgLyogTGF5ZXJQb29sLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQzM3NUQ3RkQxNjYzOTUxOTAwNjE4NEFCIC8qIFR5cGVBaGVhZC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlENjY4MTdGQTE2NkZFNkQ3MDBGQTA3QjQgLyogSFRNTFRl
bXBsYXRlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlENjQ4OUQyNTE2NkZGQ0YxMDA3
QzAzMUIgLyogSlNIVE1MVGVtcGxhdGVFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUQ2
Rjc5NjBEMTY2RkZFQ0UwMDc2REQxOCAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0JpbmRpbmdzQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5k
aW5nc0FsbEluT25lLmNwcAppbmRleCAyMmZkNGU1YTM1YTVjZTc4Zjg3OGMxMDc4NTQ3YThhZDRm
YjI4MzlmLi4wODg2ODg4MDVkYWUxOWE2YzczYjQyNzllN2EwOTI3ZjQ3NmRiNzdjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKQEAg
LTEwMSw2ICsxMDEsNyBAQAogI2luY2x1ZGUgIkpTSFRNTE91dHB1dEVsZW1lbnRDdXN0b20uY3Bw
IgogI2luY2x1ZGUgIkpTSFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpT
SFRNTFN0eWxlRWxlbWVudEN1c3RvbS5jcHAiCisjaW5jbHVkZSAiSlNIVE1MVGVtcGxhdGVFbGVt
ZW50Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0hpc3RvcnlDdXN0b20uY3BwIgogI2luY2x1ZGUg
IkpTSW1hZ2VDb25zdHJ1Y3Rvci5jcHAiCiAjaW5jbHVkZSAiSlNJbWFnZURhdGFDdXN0b20uY3Bw
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MVGVtcGxhdGVF
bGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTFRlbXBs
YXRlRWxlbWVudEN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzczMDhjNWJhODY3NDg5MWJiZWU4MDI4
NGY4ZWMxYTRmNzVlZjQyZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAKQEAgLTAsMCArMSw2NiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQorCisjaW5j
bHVkZSAiSlNIVE1MVGVtcGxhdGVFbGVtZW50LmgiCisKKyNpbmNsdWRlICJIVE1MVGVtcGxhdGVF
bGVtZW50LmgiCisjaW5jbHVkZSAiSlNEb2N1bWVudEZyYWdtZW50LmgiCisjaW5jbHVkZSA8cnVu
dGltZS9KU09iamVjdC5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvUHJpdmF0ZU5hbWUuaD4KKwordXNp
bmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpTSFRN
TFRlbXBsYXRlRWxlbWVudDo6Y29udGVudChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAg
SlNMb2NrSG9sZGVyIGxvY2soZXhlYyk7CisKKyAgICBIVE1MVGVtcGxhdGVFbGVtZW50KiBpbXAg
PSBzdGF0aWNfY2FzdDxIVE1MVGVtcGxhdGVFbGVtZW50Kj4oaW1wbCgpKTsKKyAgICBEb2N1bWVu
dEZyYWdtZW50KiBjb250ZW50ID0gaW1wLT5jb250ZW50KCk7CisKKyAgICBKU0RPTVdyYXBwZXIq
IHdyYXBwZXIgPSBnZXRDYWNoZWRXcmFwcGVyKGN1cnJlbnRXb3JsZChleGVjKSwgY29udGVudCk7
CisgICAgaWYgKHdyYXBwZXIpCisgICAgICAgIHJldHVybiB3cmFwcGVyOworCisgICAgd3JhcHBl
ciA9IENSRUFURV9ET01fV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QoKSwgRG9jdW1lbnRGcmFn
bWVudCwgY29udGVudCk7CisgICAgSlNDOjpQcml2YXRlTmFtZSBwcm9wZXJ0eU5hbWU7CisgICAg
Y29uc3RfY2FzdDxKU0hUTUxUZW1wbGF0ZUVsZW1lbnQqPih0aGlzKS0+cHV0RGlyZWN0KGdsb2Jh
bE9iamVjdCgpLT5nbG9iYWxEYXRhKCksIHByb3BlcnR5TmFtZSwgd3JhcHBlcik7CisgICAgcmV0
dXJuIHdyYXBwZXI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShURU1QTEFURV9FTEVNRU5UKQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYyMzQ5ZmMwYzZhZjg4MDE4ZDRhMDk5NGU0NDdlNGRhYTEzZDkxNGEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1M
VGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICogCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIlY4SFRNTFRlbXBsYXRlRWxlbWVudC5oIgorCisjaW5jbHVkZSAi
SFRNTFRlbXBsYXRlRWxlbWVudC5oIgorCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVk
ZSAiVjhEb2N1bWVudEZyYWdtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4SFRNTFRlbXBsYXRlRWxlbWVudDo6Y29udGVudEFjY2Vzc29yR2V0
dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBp
bmZvKQoreworICAgIEhUTUxUZW1wbGF0ZUVsZW1lbnQqIGltcGwgPSBWOEhUTUxUZW1wbGF0ZUVs
ZW1lbnQ6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOworICAgIERvY3VtZW50RnJhZ21lbnQqIGNv
bnRlbnQgPSBpbXBsLT5jb250ZW50KCk7CisgICAgQVNTRVJUKGNvbnRlbnQpOworICAgIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiB3cmFwcGVyID0gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KERPTURhdGFT
dG9yZTo6Y3VycmVudChpbmZvLkdldElzb2xhdGUoKSktPmdldChjb250ZW50KSk7CisgICAgaWYg
KHdyYXBwZXIuSXNFbXB0eSgpKQorICAgICAgICB3cmFwcGVyID0gdG9WOChjb250ZW50LCBpbmZv
LkhvbGRlcigpLCBpbmZvLkdldElzb2xhdGUoKSk7CisKKyAgICBpZiAoIXdyYXBwZXIuSXNFbXB0
eSgpKQorICAgICAgICBWOERPTVdyYXBwZXI6OnNldE5hbWVkSGlkZGVuUmVmZXJlbmNlKGluZm8u
SG9sZGVyKCksICJjb250ZW50Iiwgd3JhcHBlcik7CisKKyAgICByZXR1cm4gd3JhcHBlcjsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggMDIxOGNiYzhi
MDJhODA2YTg2ZDE1ZTYxY2VmZjA0ZWJkMDBkMGViMS4uZGQxY2JiYzAxOGQwZDJhZWMzNGVmYzU1
ZTEwMjcwNWM2YWI0ODA1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC01NDMsNyArNTQzLDcgQEAg
cHJpdmF0ZToKICAgICAKICAgICAvLyBjbG9uZU5vZGUgaXMgcHJpdmF0ZSBzbyB0aGF0IG5vbi12
aXJ0dWFsIGNsb25lRWxlbWVudFdpdGhDaGlsZHJlbiBhbmQgY2xvbmVFbGVtZW50V2l0aG91dENo
aWxkcmVuCiAgICAgLy8gYXJlIHVzZWQgaW5zdGVhZC4KLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
Tm9kZT4gY2xvbmVOb2RlKGJvb2wgZGVlcCk7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPE5vZGU+
IGNsb25lTm9kZShib29sIGRlZXApIE9WRVJSSURFOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxF
bGVtZW50PiBjbG9uZUVsZW1lbnRXaXRob3V0QXR0cmlidXRlc0FuZENoaWxkcmVuKCk7CiAKICAg
ICBRdWFsaWZpZWROYW1lIG1fdGFnTmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1w
bGF0ZUVsZW1lbnQuY3BwCmluZGV4IGFmZDMyOWVmZDRlZWEzMGMyZWViNzM5ZWY4ZDg5OTVlNWM4
YzhjMGMuLjQwNWFkMDNjNTI2ZmZhYTQ1MDdiNTFiMmQ5MjFiM2IzYWM3MjM0MWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcApAQCAtNTcsNiArNTcsOCBA
QCBQYXNzUmVmUHRyPEhUTUxUZW1wbGF0ZUVsZW1lbnQ+IEhUTUxUZW1wbGF0ZUVsZW1lbnQ6OmNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJgogICAgIHJldHVybiBhZG9wdFJlZihuZXcgSFRNTFRl
bXBsYXRlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwogfQogCisvLyBGSVhNRTogaHR0cHM6
Ly93d3cudzMub3JnL0J1Z3MvUHVibGljL3Nob3dfYnVnLmNnaT9pZD0yMDEyNyAocHJldmVudCBE
T00gaGllcmFyY2h5IGN5Y2xlcykuCisvLyBGSVhNRTogaHR0cHM6Ly93d3cudzMub3JnL0J1Z3Mv
UHVibGljL3Nob3dfYnVnLmNnaT9pZD0yMDEyOSAoZXh0ZW5kZWQgYWRvcHROb2RlIHRvIGNvbnNp
ZGVyIHRlbXBsYXRlLmNvbnRlbnQpLgogRG9jdW1lbnRGcmFnbWVudCogSFRNTFRlbXBsYXRlRWxl
bWVudDo6Y29udGVudCgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2NvbnRlbnQpCkBAIC02NSwyNCAr
NjcsMTQgQEAgRG9jdW1lbnRGcmFnbWVudCogSFRNTFRlbXBsYXRlRWxlbWVudDo6Y29udGVudCgp
IGNvbnN0CiAgICAgcmV0dXJuIG1fY29udGVudC5nZXQoKTsKIH0KIAotLy8gRklYTUU6IGh0dHBz
Oi8vd3d3LnczLm9yZy9CdWdzL1B1YmxpYy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjcgKHByZXZlbnQg
RE9NIGhpZXJhcmNoeSBjeWNsZXMpLgotLy8gRklYTUU6IGh0dHBzOi8vd3d3LnczLm9yZy9CdWdz
L1B1YmxpYy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjkgKGV4dGVuZGVkIGFkb3B0Tm9kZSB0byBjb25z
aWRlciB0ZW1wbGF0ZS5jb250ZW50KS4KLXZvaWQgSFRNTFRlbXBsYXRlRWxlbWVudDo6c2V0Q29u
dGVudChQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IHBycENvbnRlbnQsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQorUGFzc1JlZlB0cjxOb2RlPiBIVE1MVGVtcGxhdGVFbGVtZW50OjpjbG9uZU5vZGUo
Ym9vbCBkZWVwKQogewotICAgIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBjb250ZW50ID0gcHJw
Q29udGVudDsKLQotICAgIGlmICghY29udGVudCB8fCBjb250ZW50LT5pc1NoYWRvd1Jvb3QoKSkg
ewotICAgICAgICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgaWYgKG1fY29udGVudC5nZXQoKSA9PSBjb250ZW50LmdldCgpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBpZiAoY29udGVudC0+b3duZXJEb2N1bWVudCgpICE9IG93bmVyRG9jdW1l
bnQoKS0+dGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKSkKLSAgICAgICAgb3duZXJEb2N1
bWVudCgpLT50ZW1wbGF0ZUNvbnRlbnRzT3duZXJEb2N1bWVudCgpLT5hZG9wdE5vZGUoY29udGVu
dCwgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgaWYgKCFkZWVwKQorICAgICAgICByZXR1cm4g
Y2xvbmVFbGVtZW50V2l0aG91dENoaWxkcmVuKCk7CiAKLSAgICBtX2NvbnRlbnQgPSBjb250ZW50
OworICAgIFJlZlB0cjxOb2RlPiBjbG9uZSA9IGNsb25lRWxlbWVudFdpdGhDaGlsZHJlbigpOwor
ICAgIGNvbnRlbnQoKS0+Y2xvbmVDaGlsZE5vZGVzKHN0YXRpY19jYXN0PEhUTUxUZW1wbGF0ZUVs
ZW1lbnQqPihjbG9uZS5nZXQoKSktPmNvbnRlbnQoKSk7CisgICAgcmV0dXJuIGNsb25lOwogfQog
CiAjaWZuZGVmIE5ERUJVRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVt
cGxhdGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQu
aAppbmRleCA2ZWY5MTNlNDRhYjZiOGY2NjM1OWVlMDg5OTg3MjVlNzQ1ZTk1OTY3Li5iYzRlNTgy
ZjcxN2VjYmJlYjk4NzY1MjFlYTU3ZDNjN2I1NWQ1MWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUZW1wbGF0ZUVsZW1lbnQuaApAQCAtNDUsOSArNDUsOSBAQCBwdWJsaWM6CiAKICAgICBE
b2N1bWVudEZyYWdtZW50KiBjb250ZW50KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldENvbnRlbnQo
UGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiwgRXhjZXB0aW9uQ29kZSYpOwotCiBwcml2YXRl
OgorICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxOb2RlPiBjbG9uZU5vZGUoYm9vbCBkZWVwKSBPVkVS
UklERTsKKwogICAgIEhUTUxUZW1wbGF0ZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Kik7CiAKICAgICBtdXRhYmxlIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBtX2NvbnRl
bnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmlkbAppbmRleCA3
YTU4MzZkOTc4MWZkNmIzZTZmYzZlNjFmYzdmNTRhMDBjN2QwMmJjLi5iOGJkMmEyMzcwZjg1NGYy
ZDM0NThkMDQxMzMzMjMwYjQ1ZGUyYWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUZW1wbGF0ZUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRl
bXBsYXRlRWxlbWVudC5pZGwKQEAgLTMxLDYgKzMxLDYgQEAKIFsKICAgICBDb25kaXRpb25hbD1U
RU1QTEFURV9FTEVNRU5UCiBdIGludGVyZmFjZSBIVE1MVGVtcGxhdGVFbGVtZW50IDogSFRNTEVs
ZW1lbnQgewotICAgIGF0dHJpYnV0ZSBEb2N1bWVudEZyYWdtZW50IGNvbnRlbnQgc2V0dGVyIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICBbQ3VzdG9tXSByZWFkb25seSBhdHRyaWJ1dGUgRG9j
dW1lbnRGcmFnbWVudCBjb250ZW50OwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDVlYmY5MDIzNDFkMDcyNjJlNjE2
NTRiYzE3YzE4OTQ3ODNjNjVlZTAuLjNlMjc2NTM3OGRkMDZmMzE0MWI2MGE2N2Y0N2Y2ZDcxZGEx
YmQ4NTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0wNSAgUmFmYWVsIFdlaW5zdGVp
biAgPHJhZmFlbHdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtIVE1MVGVtcGxhdGVFbGVtZW50
XSBtYWtlIGNvbnRlbnQgcmVhZG9ubHkgYW5kIGNsb25lTm9kZShkZWVwKSBjbG9uZSBjb250ZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQxODEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvY2xvbmVOb2RlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2Nsb25lTm9kZS5odG1sOgorICAgICAgICAq
IGZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvY29udGVudFdyYXBwZXJzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9jb250ZW50
V3JhcHBlcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxl
bWVudC9vd25lckRvY3VtZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1M
VGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQuaHRtbDoKKwogMjAxMi0xMi0wNSAgRGFuIEJl
cm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFRleHQgZGVjb3JhdGlvbnMgYXJl
IHJvdGF0ZWQgd2hlbiB0ZXh0LWNvbWJpbmUgdGFrZXMgZWZmZWN0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2Nsb25lTm9kZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2Nsb25lTm9kZS1l
eHBlY3RlZC50eHQKaW5kZXggOGJiNjFjZDhmNTYyZjJiYjA2ZmEwN2ExNTc0YTVhZGQzNjFlMzU5
OC4uNDJjZDAwM2YxZWYxNmNhNThjNGQzMjYzZTAzY2E5OTJkNjdiZjExOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9jbG9uZU5vZGUtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvY2xv
bmVOb2RlLWV4cGVjdGVkLnR4dApAQCAtNCw1ICs0LDEwIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFCiAKIAogUEFTUyB0ZW1wbGF0ZS5jb250ZW50LmNoaWxkTm9kZXMubGVuZ3RoIGlzIDEKLVBB
U1MgY2xvbmUuY29udGVudC5jaGlsZE5vZGVzLmxlbmd0aCBpcyAwCitQQVNTIGNsb25lLmNvbnRl
bnQuY2hpbGROb2Rlcy5sZW5ndGggaXMgMQorUEFTUyBjbG9uZS5vdXRlckhUTUwgaXMgdGVtcGxh
dGUub3V0ZXJIVE1MCitQQVNTIGNsb25lLmNvbnRlbnQuZmlyc3RDaGlsZCBpcyBub3QgdGVtcGxh
dGUuY29udGVudC5maXJzdENoaWxkCitQQVNTIGNsb25lLmNvbnRlbnQgaXMgbm90IHRlbXBsYXRl
LmNvbnRlbnQKK1BBU1MgY2xvbmUuZmlyc3RDaGlsZC50YWdOYW1lIGlzICJESVYiCitQQVNTIGNs
b25lLmZpcnN0Q2hpbGQgaXMgbm90IGRpdgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2Nsb25lTm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9jbG9uZU5vZGUuaHRtbAppbmRleCBlZGE1Zjc1ZWNm
ZWEwM2RiOTk4MWI5YWVmODY1ZWI0Y2U0ZTEzMTU1Li4wYTg3NGJkY2QwYTJmYmE2MzhiMTliZjU0
YzA5ODlmYTQ4Nzg4NGRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVt
cGxhdGVFbGVtZW50L2Nsb25lTm9kZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxUZW1wbGF0ZUVsZW1lbnQvY2xvbmVOb2RlLmh0bWwKQEAgLTEsNSArMSw1IEBACiA8IURPQ1RZ
UEUgaHRtbD4KLTx0ZW1wbGF0ZSBpZD0idGVtcGxhdGUiPkNvbnRlbnRzPC90ZW1wbGF0ZT4KKzx0
ZW1wbGF0ZSBpZD0idGVtcGxhdGUiPjxzcGFuPkNvbnRlbnRzPC9zcGFuPjwvdGVtcGxhdGU+CiA8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQ+CiAKQEAgLTksOCArOSwxNSBAQCBpZiAoIXdpbmRvdy5IVE1MVGVtcGxhdGVFbGVt
ZW50KQogICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBFTkFCTEUoVEVNUExBVEVf
RUxFTUVOVCknKTsKIAogdmFyIHRlbXBsYXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rl
bXBsYXRlJyk7Cit2YXIgZGl2ID0gdGVtcGxhdGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2JykpOworCiBzaG91bGRCZSgndGVtcGxhdGUuY29udGVudC5jaGlsZE5vZGVz
Lmxlbmd0aCcsICcxJyk7CiB2YXIgY2xvbmUgPSB0ZW1wbGF0ZS5jbG9uZU5vZGUodHJ1ZSk7Ci1z
aG91bGRCZSgnY2xvbmUuY29udGVudC5jaGlsZE5vZGVzLmxlbmd0aCcsICcwJyk7CitzaG91bGRC
ZSgnY2xvbmUuY29udGVudC5jaGlsZE5vZGVzLmxlbmd0aCcsICcxJyk7CitzaG91bGRCZSgnY2xv
bmUub3V0ZXJIVE1MJywgJ3RlbXBsYXRlLm91dGVySFRNTCcpOworc2hvdWxkTm90QmUoJ2Nsb25l
LmNvbnRlbnQuZmlyc3RDaGlsZCcsICd0ZW1wbGF0ZS5jb250ZW50LmZpcnN0Q2hpbGQnKTsKK3No
b3VsZE5vdEJlKCdjbG9uZS5jb250ZW50JywgJ3RlbXBsYXRlLmNvbnRlbnQnKTsKK3Nob3VsZEJl
KCdjbG9uZS5maXJzdENoaWxkLnRhZ05hbWUnLCAnIkRJViInKTsKK3Nob3VsZE5vdEJlKCdjbG9u
ZS5maXJzdENoaWxkJywgJ2RpdicpOwogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvY29udGVudFdyYXBwZXJzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvY29udGVudFdy
YXBwZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYjIwNmFhNzRmYzg0ZDA0YTdjNTllMGU5
Mzg3MjU4MjQ1ZDA5OWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTFRlbXBsYXRlRWxlbWVudC9jb250ZW50V3JhcHBlcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK1Rlc3QgSFRNTFRlbXBsYXRlRWxlbWVudCBjb250ZW50IG5vZGUgd3JhcHBlcnMg
aGF2ZSB0aGUgY29ycmVjdCBsaWZldGltZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1Mgc3Bhbi50YWdOYW1lIGlzICJTUEFOIgorUEFTUyBzcGFuLmV4cGFuZG8gaXMgInBy
ZXNlbnQiCitQQVNTIHNwYW4udGFnTmFtZSBpcyAiU1BBTiIKK1BBU1Mgc3Bhbi5leHBhbmRvIGlz
ICJwcmVzZW50IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1l
bnQvY29udGVudFdyYXBwZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxh
dGVFbGVtZW50L2NvbnRlbnRXcmFwcGVycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4NmEzNzA4MjA4YmRj
MzQ2YmZlMDZiNjEyYmJjZmQ2OWJkN2UwZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2NvbnRlbnRXcmFwcGVycy5odG1sCkBAIC0w
LDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRlbXBsYXRlIGlkPSJ0ZW1wbGF0ZSI+PHNw
YW4+PC9zcGFuPjwvdGVtcGxhdGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCBIVE1M
VGVtcGxhdGVFbGVtZW50IGNvbnRlbnQgbm9kZSB3cmFwcGVycyBoYXZlIHRoZSBjb3JyZWN0IGxp
ZmV0aW1lLicpOworCitpZiAoIXdpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50KQorICAgIHRlc3RG
YWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBFTkFCTEUoVEVNUExBVEVfVEFHKScpOworCit2YXIg
dGVtcGxhdGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVtcGxhdGUnKTsKK3ZhciBzcGFu
ID0gdGVtcGxhdGUuY29udGVudC5maXJzdENoaWxkOworc2hvdWxkQmUoJ3NwYW4udGFnTmFtZScs
ICciU1BBTiInKTsKKworc3Bhbi5leHBhbmRvID0gJ3ByZXNlbnQnOworc2hvdWxkQmUoJ3NwYW4u
ZXhwYW5kbycsICcicHJlc2VudCInKTsKKworc3BhbiA9IHVuZGVmaW5lZDsKK2djKCk7CitzcGFu
ID0gdGVtcGxhdGUuY29udGVudC5maXJzdENoaWxkOworc2hvdWxkQmUoJ3NwYW4udGFnTmFtZScs
ICciU1BBTiInKTsKK3Nob3VsZEJlKCdzcGFuLmV4cGFuZG8nLCAnInByZXNlbnQiJyk7Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVs
ZW1lbnQvb3duZXJEb2N1bWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4IGI3MDJh
ZWFlZTM5MGY4MTZlNmE1MWU5Y2IyZWMyMTQyYzE3NjdjZTYuLjQxODgwYjZhZjc3MzAzM2E2OTBk
NWNhZDU1MWM2M2IxZWNlYjI3ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxUZW1wbGF0ZUVsZW1lbnQvb3duZXJEb2N1bWVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9vd25lckRvY3VtZW50LWV4cGVjdGVk
LnR4dApAQCAtNCw2ICs0LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogCiBQQVNTIHRl
bXBsYXRlLm93bmVyRG9jdW1lbnQgaXMgZG9jdW1lbnQKK1BBU1MgdGVtcGxhdGUuY29udGVudCBp
cyBjb250ZW50CiBQQVNTIHRlbXBsYXRlQ29udGVudE93bmVyRG9jdW1lbnQgaW5zdGFuY2VvZiBI
VE1MRG9jdW1lbnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudCBpcyBub3QgdGVtcGxhdGVDb250ZW50
T3duZXJEb2N1bWVudAogUEFTUyB0ZW1wbGF0ZS5jb250ZW50LmZpcnN0Q2hpbGQub3duZXJEb2N1
bWVudCBpcyB0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50CkBAIC0xMiwxMyArMTMsNiBAQCBQ
QVNTIGlubmVyVGVtcGxhdGUuY29udGVudC5vd25lckRvY3VtZW50IGlzIHRlbXBsYXRlQ29udGVu
dE93bmVyRG9jdW1lbnQKIFBBU1MgaW5uZXJUZW1wbGF0ZS5vd25lckRvY3VtZW50IGluc3RhbmNl
b2YgSFRNTERvY3VtZW50IGlzIHRydWUKIFBBU1MgdGVtcGxhdGUyLm93bmVyRG9jdW1lbnQgaXMg
ZG9jdW1lbnQKIFBBU1MgdGVtcGxhdGUyLmNvbnRlbnQub3duZXJEb2N1bWVudCBpcyB0ZW1wbGF0
ZUNvbnRlbnRPd25lckRvY3VtZW50Ci1QQVNTIGRmLm93bmVyRG9jdW1lbnQgaXMgZG9jdW1lbnQK
LVBBU1Mgc3Bhbi5vd25lckRvY3VtZW50IGlzIGRvY3VtZW50Ci1QQVNTIGRmLm93bmVyRG9jdW1l
bnQgaXMgdGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudAotUEFTUyBzcGFuLm93bmVyRG9jdW1l
bnQgaXMgdGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudAotUEFTUyB0ZW1wbGF0ZS5jb250ZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOyB0aHJldyBleGNlcHRpb24gRXJyb3I6
IFR5cGVNaXNtYXRjaEVycm9yOiBET00gRXhjZXB0aW9uIDE3LgotUEFTUyB0ZW1wbGF0ZS5jb250
ZW50ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoInRleHQiKTsgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBUeXBlTWlzbWF0Y2hFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNy4KLVBBU1MgdGVtcGxhdGUu
Y29udGVudCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdikgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBUeXBlTWlzbWF0Y2hFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNy4KIFBBU1MgdGVtcGxhdGUzLm93
bmVyRG9jdW1lbnQgaXMgZG9jdW1lbnQKIFBBU1MgdGVtcGxhdGUzLmNvbnRlbnQub3duZXJEb2N1
bWVudCBpcyB0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50CiBQQVNTIHRlbXBsYXRlMy5jb250
ZW50LmZpcnN0Q2hpbGQub3duZXJEb2N1bWVudCBpcyB0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3Vt
ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50
L293bmVyRG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVs
ZW1lbnQvb3duZXJEb2N1bWVudC5odG1sCmluZGV4IGQ0NTE5MmIxZmI0OWJjYjc2MzY3YmE1ZDUx
MzljZjU0ODY1YmNkY2EuLjdiODMyYmE0ZTZlZWM4MTkxMWViMmRiNjU0Y2U0NjEyOGMzNjdmN2Eg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvb3du
ZXJEb2N1bWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVs
ZW1lbnQvb3duZXJEb2N1bWVudC5odG1sCkBAIC0xMyw2ICsxMywxMSBAQCBpZiAoIXdpbmRvdy5I
VE1MVGVtcGxhdGVFbGVtZW50KQogdmFyIHRlbXBsYXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3RlbXBsYXRlJyk7CiBzaG91bGRCZSgndGVtcGxhdGUub3duZXJEb2N1bWVudCcsICdkb2N1
bWVudCcpOwogCit2YXIgY29udGVudCA9IHRlbXBsYXRlLmNvbnRlbnQ7Cit2YXIgZGYgPSBkb2N1
bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Cit0ZW1wbGF0ZS5jb250ZW50ID0gZGY7Citz
aG91bGRCZSgndGVtcGxhdGUuY29udGVudCcsICdjb250ZW50Jyk7CisKIHZhciB0ZW1wbGF0ZUNv
bnRlbnRPd25lckRvY3VtZW50ID0gdGVtcGxhdGUuY29udGVudC5vd25lckRvY3VtZW50Owogc2hv
dWxkQmVUcnVlKCd0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50IGluc3RhbmNlb2YgSFRNTERv
Y3VtZW50Jyk7CiBzaG91bGROb3RCZSgnZG9jdW1lbnQnLCAndGVtcGxhdGVDb250ZW50T3duZXJE
b2N1bWVudCcpOwpAQCAtMjcsMjMgKzMyLDcgQEAgdmFyIHRlbXBsYXRlMiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0ZW1wbGF0ZTInKTsKIHNob3VsZEJlKCd0ZW1wbGF0ZTIub3duZXJEb2N1
bWVudCcsICdkb2N1bWVudCcpOwogc2hvdWxkQmUoJ3RlbXBsYXRlMi5jb250ZW50Lm93bmVyRG9j
dW1lbnQnLCAndGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudCcpOwogCi12YXIgZGYgPSBkb2N1
bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Ci12YXIgc3BhbiA9IGRmLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKSk7Ci1zaG91bGRCZSgnZGYub3duZXJEb2N1
bWVudCcsICdkb2N1bWVudCcpOwotc2hvdWxkQmUoJ3NwYW4ub3duZXJEb2N1bWVudCcsICdkb2N1
bWVudCcpOwotCi10ZW1wbGF0ZS5jb250ZW50ID0gZGY7Ci1zaG91bGRCZSgnZGYub3duZXJEb2N1
bWVudCcsICd0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50Jyk7Ci1zaG91bGRCZSgnc3Bhbi5v
d25lckRvY3VtZW50JywgJ3RlbXBsYXRlQ29udGVudE93bmVyRG9jdW1lbnQnKTsKLQotc2hvdWxk
VGhyb3coJ3RlbXBsYXRlLmNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7
Jyk7Ci1zaG91bGRUaHJvdygndGVtcGxhdGUuY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKCJ0ZXh0Iik7Jyk7Ci1pZiAod2luZG93LldlYktpdFNoYWRvd1Jvb3QpIHsKLSAgICB2YXIg
ZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgc2hvdWxkVGhyb3coJ3Rl
bXBsYXRlLmNvbnRlbnQgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpJyk7Ci19Ci0KLXZhciB0
ZW1wbGF0ZTMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVtcGxhdGUyJyk7Cit2YXIgdGVt
cGxhdGUzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbXBsYXRlMycpOwogc2hvdWxkQmUo
J3RlbXBsYXRlMy5vd25lckRvY3VtZW50JywgJ2RvY3VtZW50Jyk7CiBzaG91bGRCZSgndGVtcGxh
dGUzLmNvbnRlbnQub3duZXJEb2N1bWVudCcsICd0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50
Jyk7CiBzaG91bGRCZSgndGVtcGxhdGUzLmNvbnRlbnQuZmlyc3RDaGlsZC5vd25lckRvY3VtZW50
JywgJ3RlbXBsYXRlQ29udGVudE93bmVyRG9jdW1lbnQnKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178058</attachid>
            <date>2012-12-06 12:19:42 -0800</date>
            <delta_ts>2012-12-06 15:09:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104181-20121206121707.patch</filename>
            <type>text/plain</type>
            <size>30394</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2ODY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDk4M2YyYTMzMTVkOTJl
MmI0ZTU4MmUwY2ZmNjJhMzY0OTY4MGYyNS4uMmFmYTdiN2FhZmU5ZmRlMGNkNTg4NTgyMjMxOGNi
ZjI4NDcxMGVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTEyLTA2ICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtIVE1MVGVtcGxhdGVFbGVt
ZW50XSBtYWtlIGNvbnRlbnQgcmVhZG9ubHkgYW5kIGNsb25lTm9kZShkZWVwKSBjbG9uZSBjb250
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQx
ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOb3Rl
IHRoYXQgdGhpcyBwYXRjaCBhbHNvIGFkZHMgSURMIGF0dHJpYnV0ZXMvY3VzdG9tIGNvZGUgdG8g
dGllIHRoZSBsaWZldGltZQorICAgICAgICBvZiB0aGUgY29udGVudCBEb2N1bWVudEZyYWdtZW50
IHdyYXBwZXIgdG8gdGhlIGxpZmV0aW1lIG9mIHRoZSB0ZW1wbGF0ZSBlbGVtZW50IHdyYXBwZXIK
KyAgICAgICAgdmlhIGEgaGlkZGVuIEpTIHByb3BlcnR5LgorCisgICAgICAgIEJhc2VkIG9uIGEg
cGF0Y2ggYnkgUmFmYWVsIFdlaW5zdGVpbi4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9IVE1M
VGVtcGxhdGVFbGVtZW50L2NvbnRlbnRXcmFwcGVycy5odG1sCisKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5jcHA6CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVc2VKU0MuY21h
a2U6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3Rv
bS5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVu
dC5pZGwuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTFRlbXBs
YXRlRWxlbWVudDo6Y29udGVudCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yVjgucG06IEFkZCBzdXBwb3J0IGZvciBuZXcgVjhDYWNoZUF0dHJpYnV0ZUZvckdDIGF0
dHJpYnV0ZS4KKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAoRWxlbWVudCk6IEFu
bm90YXRlIGNsb25lTm9kZSgpIHdpdGggT1ZFUlJJREUKKyAgICAgICAgKiBodG1sL0hUTUxUZW1w
bGF0ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRlbXBsYXRlRWxlbWVudDo6
Y2xvbmVOb2RlKToKKyAgICAgICAgKiBodG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuaDoKKyAgICAg
ICAgKEhUTUxUZW1wbGF0ZUVsZW1lbnQpOiBvdmVycmlkZSBjbG9uZU5vZGUKKyAgICAgICAgKiBo
dG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuaWRsOiBNYWtlIGNvbnRlbnQgcmVhZG9ubHkgYW5kIGFk
ZCBjdXN0b20gYXR0cmlidXRlcy4KKwogMjAxMi0xMi0wNSAgQWRhbSBLbGVpbiAgPGFkYW1rQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZW1vdmUgZ3lwIGNvbmZpZyBmb3IgaW5jb21wbGV0ZSBh
bmQgdW51c2VkIEFwcGxlIE1hYyBneXAgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApp
bmRleCBhYjgxMTM5NTg3OWEyNmU3NzY2NmJjNDNiOGQ3MjFmY2MzMDAwZGQyLi5mODVhN2ZmNWRh
NmEzZjgyYTMyMTMxNWJkNzY5MzI4M2M0ZDcxNTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiSlNDYW52YXNQYXR0ZXJuLmNwcCIKICNp
bmNsdWRlICJKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwIgogI2luY2x1ZGUgIkpTQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcCIKLSNpZiBFTkFCTEUoV0VCR0wpICAgIAorI2lmIEVOQUJM
RShXRUJHTCkKICNpbmNsdWRlICJKU1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAiCiAjZW5kaWYK
ICNpbmNsdWRlICJKU0NEQVRBU2VjdGlvbi5jcHAiCkBAIC0yMTEsNiArMjExLDkgQEAKICNpbmNs
dWRlICJKU0hUTUxUYWJsZUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTFRhYmxlUm93RWxl
bWVudC5jcHAiCiAjaW5jbHVkZSAiSlNIVE1MVGFibGVTZWN0aW9uRWxlbWVudC5jcHAiCisjaWYg
RU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCisjaW5jbHVkZSAiSlNIVE1MVGVtcGxhdGVFbGVtZW50
LmNwcCIKKyNlbmRpZgogI2luY2x1ZGUgIkpTSFRNTFRleHRBcmVhRWxlbWVudC5jcHAiCiAjaW5j
bHVkZSAiSlNIVE1MVGl0bGVFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxVbmtub3duRWxl
bWVudC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBkNGI1MGNiOWJhODM5NTg2Mjc1MTk4NjQzNzViMDdh
N2Q1MDAzYzcwLi45Y2IwODY2MmU2MTQ1YjllNmI4NTE2YzM3ZmI4MWZhZDM3YmI2YzY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKQEAgLTE0NCw2ICsxNDQsNyBAQCBTT1VSQ0VTICs9IFwKICAgICAgYmluZGluZ3Mv
anMvSlNIVE1MT3V0cHV0RWxlbWVudEN1c3RvbS5jcHAgXAogICAgICBiaW5kaW5ncy9qcy9KU0hU
TUxTZWxlY3RFbGVtZW50Q3VzdG9tLmNwcCBcCiAgICAgIGJpbmRpbmdzL2pzL0pTSFRNTFN0eWxl
RWxlbWVudEN1c3RvbS5jcHAgXAorICAgICBiaW5kaW5ncy9qcy9KU0hUTUxUZW1wbGF0ZUVsZW1l
bnRDdXN0b20uY3BwIFwKICAgICAgYmluZGluZ3MvanMvSlNIaXN0b3J5Q3VzdG9tLmNwcCBcCiAg
ICAgIGJpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5jcHAgXAogICAgICBiaW5kaW5ncy9q
cy9KU0ltYWdlRGF0YUN1c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNl
SlNDLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCmluZGV4IDIwMmNmODUzODZh
YzUwZDhmNWNjMTBlZjU2OTljY2JjNzA4YmMxNWUuLmUzMGI2MThlZjkxMTBlODM1MWRkYzNkMGNi
YzFhZjk0ZjczNzBkM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKQEAgLTk2LDYgKzk2LDcgQEAgbGlzdChB
UFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNIVE1MT3V0cHV0RWxlbWVu
dEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTSFRNTFN0eWxlRWxlbWVudEN1c3RvbS5jcHAKKyAgICBiaW5k
aW5ncy9qcy9KU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMv
SlNIaXN0b3J5Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5j
cHAKICAgICBiaW5kaW5ncy9qcy9KU0ltYWdlRGF0YUN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCAzYzg2YmI4NTg4NzY1NDU3ODQzZjNiZThkZGQ1ZDhjYmYwOGUxMGFjLi45NmRmOTI1Mjlm
YTRhNDk0OTk1YWMwZTEwYjA5ZmUxOWM0NzNjMDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xMjky
LDYgKzEyOTIsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTFNlbGVjdEVsZW1l
bnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxTZWxlY3RFbGVt
ZW50Q3VzdG9tLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTFN0eWxlRWxlbWVu
dEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTFRlbXBsYXRlRWxl
bWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSGlzdG9yeUN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSGlzdG9yeUN1c3RvbS5oJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0lEQkFueUN1c3RvbS5jcHAnLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQ2Njc0NzBh
ZWIzOTNmNTAyZDEzMTU5NjYzZDFlOGNjNzU1YjJjNDMuLjkxYWQ1OTE1ZDFkNWQ1MTYwYjJjYzgz
ODM1MjI0MWUzYzIxOGZhYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYwMjIsMTAgKzYwMjIsMTUgQEAKIAkJRDYzMEUyQUMx
NDlCRjM0NDAwNUIyRjk0IC8qIFN0YXRzQ291bnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk0IC8qIFN0YXRz
Q291bnRlci5oICovOyB9OwogCQlENjMwRTJBQzE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5VXNh
Z2VTdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmggKi87IH07
CiAJCUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5NiAvKiBFdmVudFRyYWNlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYzMEUyQUIxNDlCRjM0NDAwNUIy
Rjk2IC8qIEV2ZW50VHJhY2VyLmggKi87IH07CisJCUQ2NDg5RDI1MTY2RkZDRjEwMDdDMDMxQiAv
KiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRDY0ODlEMjMxNjZGRkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRlbXBs
YXRlRWxlbWVudC5jcHAgKi87IH07CisJCUQ2NDg5RDI2MTY2RkZDRjEwMDdDMDMxQiAvKiBKU0hU
TUxUZW1wbGF0ZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEQ2NDg5RDI0MTY2RkZDRjEwMDdDMDMxQiAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1l
bnQuaCAqLzsgfTsKKwkJRDY2ODE3RkExNjZGRTZENzAwRkEwN0I0IC8qIEhUTUxUZW1wbGF0ZUVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RDZFRkMwQkIxNjY2REY3QTAwM0QyOTFFIC8qIEhUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwICovOyB9
OworCQlENjY4MTdGQjE2NkZFNkQ3MDBGQTA3QjQgLyogSFRNTFRlbXBsYXRlRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFRkMwQkMxNjY2
REY3QTAwM0QyOTFFIC8qIEhUTUxUZW1wbGF0ZUVsZW1lbnQuaCAqLzsgfTsKIAkJRDZFMjc2QUYx
NDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFMjc2QUQxNDYzNzQ1
NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwICovOyB9OwogCQlE
NkUyNzZCMDE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFMjc2QUUx
NDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCAqLzsgfTsK
IAkJRDZFNTI4QTMxNDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdy
b3VwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2
RTUyOEExMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5j
cHAgKi87IH07CiAJCUQ2RTUyOEE0MTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRhdGlvbk9ic2VydmVy
SW50ZXJlc3RHcm91cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRDZFNTI4QTIxNDlBOTI2RDAwRUZFMUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVz
dEdyb3VwLmggKi87IH07CisJCUQ2Rjc5NjBEMTY2RkZFQ0UwMDc2REQxOCAvKiBKU0hUTUxUZW1w
bGF0ZUVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRDZGNzk2MEMxNjZGRkVDRTAwNzZERDE4IC8qIEpTSFRNTFRlbXBsYXRlRWxl
bWVudEN1c3RvbS5jcHAgKi87IH07CiAJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFMSAvKiBIaXN0
b2dyYW1TdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3QjFFMSAvKiBIaXN0b2dyYW1TdXBwb3J0LmNwcCAq
LzsgfTsKIAkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUUyIC8qIFN0YXRzQ291bnRlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkZEQUVGMjE0OUMw
NjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVyLmNwcCAqLzsgfTsKIAkJRDZGREFFRjMxNDlDMDYx
OTAwMzdCMUUzIC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTMgLyogTWVt
b3J5VXNhZ2VTdXBwb3J0LmNwcCAqLzsgfTsKQEAgLTEzNDcxLDYgKzEzNDc2LDggQEAKIAkJRDYz
MEUyQUIxNDlCRjM0NDAwNUIyRjk1IC8qIE1lbW9yeVVzYWdlU3VwcG9ydC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNZW1vcnlVc2FnZVN1cHBvcnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk2IC8qIEV2ZW50VHJhY2Vy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50VHJhY2VyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NyAvKiBMYXlv
dXRUZXN0U3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRU
ZXN0U3VwcG9ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlENjQ4OUQyMzE2NkZG
Q0YxMDA3QzAzMUIgLyogSlNIVE1MVGVtcGxhdGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRNTFRlbXBsYXRlRWxlbWVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ2NDg5RDI0MTY2RkZDRjEwMDdDMDMxQiAvKiBKU0hUTUxU
ZW1wbGF0ZUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1M
VGVtcGxhdGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RTI3NkFE
MTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkUyNzZBRTE0NjM3NDU1
MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RTUyOEExMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRh
dGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xMzQ3OCw2ICsxMzQ4NSw3IEBACiAJCUQ2RUZDMEJCMTY2NkRG
N0EwMDNEMjkxRSAvKiBIVE1MVGVtcGxhdGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlENkVGQzBCQzE2NjZERjdBMDAzRDI5MUUgLyogSFRNTFRlbXBsYXRl
RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MVGVtcGxhdGVF
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RUZDMEJEMTY2NkRGN0Ew
MDNEMjkxRSAvKiBIVE1MVGVtcGxhdGVFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBIVE1MVGVtcGxhdGVFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RDZGNzk2MEMxNjZGRkVDRTAwNzZERDE4IC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxUZW1wbGF0ZUVs
ZW1lbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkZEQUVGMjE0
OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9ncmFtU3VwcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBIaXN0b2dyYW1TdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUyIC8qIFN0YXRzQ291bnRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdGF0c0NvdW50ZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTMg
LyogTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1lbW9yeVVzYWdlU3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xODY1NSw2ICsxODY2Myw4IEBACiAJCQkJQkMwNkVEOUMwQkZENjYwNjAwODU2RTlEIC8q
IEpTSFRNTFRhYmxlUm93RWxlbWVudC5oICovLAogCQkJCUJDMDZFRDA0MEJGRDVCQUUwMDg1NkU5
RCAvKiBKU0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmNwcCAqLywKIAkJCQlCQzA2RUQwNTBCRkQ1
QkFFMDA4NTZFOUQgLyogSlNIVE1MVGFibGVTZWN0aW9uRWxlbWVudC5oICovLAorCQkJCUQ2NDg5
RDIzMTY2RkZDRjEwMDdDMDMxQiAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwICovLAorCQkJ
CUQ2NDg5RDI0MTY2RkZDRjEwMDdDMDMxQiAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuaCAqLywK
IAkJCQlBODBFN0U5NDBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1MVGV4dEFyZWFFbGVtZW50LmNw
cCAqLywKIAkJCQlBODBFN0U5MzBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1MVGV4dEFyZWFFbGVt
ZW50LmggKi8sCiAJCQkJQTgwRTdCMDkwQTE5RDYwNjAwN0ZCOEM1IC8qIEpTSFRNTFRpdGxlRWxl
bWVudC5jcHAgKi8sCkBAIC0yMDYzMiw2ICsyMDY0Miw3IEBACiAJCQkJQkMxN0Y5NjUwQjY0RUJC
ODAwNEE2NUNCIC8qIEpTSFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUFCNENC
NEVBMEI4QkRBM0QwMDlGNDBCMCAvKiBKU0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmggKi8sCiAJ
CQkJRTFBRDEzOUQxMjk1RDk2MTAwQUNBOTg5IC8qIEpTSFRNTFN0eWxlRWxlbWVudEN1c3RvbS5j
cHAgKi8sCisJCQkJRDZGNzk2MEMxNjZGRkVDRTAwNzZERDE4IC8qIEpTSFRNTFRlbXBsYXRlRWxl
bWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQzU4NUE2NUMxMUQ0RkFCMjAwNEMzRTRCIC8qIEpTSURC
QW55Q3VzdG9tLmNwcCAqLywKIAkJCQlDNTg1QTY1RDExRDRGQUIyMDA0QzNFNEIgLyogSlNJREJL
ZXlDdXN0b20uY3BwICovLAogCQkJCUE3RDAzMThEMEU5MzU0MDMwMEUyNEFDRCAvKiBKU0ltYWdl
RGF0YUN1c3RvbS5jcHAgKi8sCkBAIC0yNTg4NSw2ICsyNTg5Niw4IEBACiAJCQkJOTNGNzJBRjMx
NjY2RURGQzAwMkEwMkJEIC8qIExheWVyUG9vbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREVCQ0NE
RDIxNjY0NkU4MjAwQTQ1MkUxIC8qIFJlbmRlck1lZGlhQ29udHJvbEVsZW1lbnRzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlERUJDQ0RENDE2NjQ2RUFGMDBBNDUyRTEgLyogTWVkaWFDb250cm9sRWxl
bWVudFR5cGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlENjY4MTdGQjE2NkZFNkQ3MDBGQTA3QjQg
LyogSFRNTFRlbXBsYXRlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRDY0ODlEMjYxNjZG
RkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBA
IC0yODk5Myw2ICsyOTAwNiw5IEBACiAJCQkJODZCQTc2NkUxNjY0MjdBODAwNUJFNUQxIC8qIEZy
YW1lTG9hZFJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGNzJBRjQxNjY2RURGQzAw
MkEwMkJEIC8qIExheWVyUG9vbC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUMzNzVEN0ZEMTY2Mzk1
MTkwMDYxODRBQiAvKiBUeXBlQWhlYWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRDY2ODE3RkEx
NjZGRTZENzAwRkEwN0I0IC8qIEhUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJRDY0ODlEMjUxNjZGRkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlENkY3OTYwRDE2NkZGRUNFMDA3NkREMTggLyogSlNIVE1M
VGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKaW5kZXggMjJmZDRlNWEz
NWE1Y2U3OGY4NzhjMTA3ODU0N2E4YWQ0ZmIyODM5Zi4uMDg4Njg4ODA1ZGFlMTlhNmM3M2I0Mjc5
ZTdhMDkyN2Y0NzZkYjc3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC0xMDEsNiArMTAxLDcgQEAKICNpbmNsdWRlICJKU0hU
TUxPdXRwdXRFbGVtZW50Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0hUTUxTZWxlY3RFbGVtZW50
Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0hUTUxTdHlsZUVsZW1lbnRDdXN0b20uY3BwIgorI2lu
Y2x1ZGUgIkpTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNIaXN0
b3J5Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0ltYWdlQ29uc3RydWN0b3IuY3BwIgogI2luY2x1
ZGUgIkpTSW1hZ2VEYXRhQ3VzdG9tLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNmOWJlNzRlMmY0YTFiNWFiZTNjZWRlZWU3MjU3MTU2NGY4NWQ3MGYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0
b20uY3BwCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUo
VEVNUExBVEVfRUxFTUVOVCkKKworI2luY2x1ZGUgIkpTSFRNTFRlbXBsYXRlRWxlbWVudC5oIgor
CisjaW5jbHVkZSAiSFRNTFRlbXBsYXRlRWxlbWVudC5oIgorI2luY2x1ZGUgIkpTRG9jdW1lbnRG
cmFnbWVudC5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNPYmplY3QuaD4KKyNpbmNsdWRlIDxydW50
aW1lL1ByaXZhdGVOYW1lLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworSlNWYWx1ZSBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQ6OmNvbnRlbnQoRXhlY1N0
YXRlKiBleGVjKSBjb25zdAoreworICAgIEpTTG9ja0hvbGRlciBsb2NrKGV4ZWMpOworCisgICAg
SFRNTFRlbXBsYXRlRWxlbWVudCogaW1wID0gc3RhdGljX2Nhc3Q8SFRNTFRlbXBsYXRlRWxlbWVu
dCo+KGltcGwoKSk7CisgICAgRG9jdW1lbnRGcmFnbWVudCogY29udGVudCA9IGltcC0+Y29udGVu
dCgpOworCisgICAgSlNET01XcmFwcGVyKiB3cmFwcGVyID0gZ2V0Q2FjaGVkV3JhcHBlcihjdXJy
ZW50V29ybGQoZXhlYyksIGNvbnRlbnQpOworICAgIGlmICh3cmFwcGVyKQorICAgICAgICByZXR1
cm4gd3JhcHBlcjsKKworICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xv
YmFsT2JqZWN0KCksIERvY3VtZW50RnJhZ21lbnQsIGNvbnRlbnQpOworICAgIFByaXZhdGVOYW1l
IHByb3BlcnR5TmFtZTsKKyAgICBjb25zdF9jYXN0PEpTSFRNTFRlbXBsYXRlRWxlbWVudCo+KHRo
aXMpLT5wdXREaXJlY3QoZ2xvYmFsT2JqZWN0KCktPmdsb2JhbERhdGEoKSwgcHJvcGVydHlOYW1l
LCB3cmFwcGVyKTsKKyAgICByZXR1cm4gd3JhcHBlcjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDVkOTE3
MzU3Yjc0MGU3M2Y2M2EyMDAxNzkyMjE0ZjhjNmZmODYxMTUuLmQ5OTQ2YTRjOGZkOTk4ZGY4ODNm
ZmJlYmJkNjY2NWNkNzlkMmFhYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC0xMDIxLDEwICsxMDIxLDExIEBAIEVORAog
ICAgICMgU3BlY2lhbCBjYXNlIGZvciByZWFkb25seSBvciBSZXBsYWNlYWJsZSBhdHRyaWJ1dGVz
ICh3aXRoIGEgZmV3IGV4Y2VwdGlvbnMpLiBUaGlzIGF0dGVtcHRzIHRvIGVuc3VyZSB0aGF0IEpT
IHdyYXBwZXJzIGRvbid0IGdldAogICAgICMgZ2FyYmFnZS1jb2xsZWN0ZWQgcHJlbWF0dXJlbHkg
d2hlbiB0aGVpciBsaWZldGltZSBpcyBzdHJvbmdseSB0aWVkIHRvIHRoZWlyIG93bmVyLiBXZSBh
Y2NvbXBsaXNoIHRoaXMgYnkgaW5zZXJ0aW5nIGEgcmVmZXJlbmNlIHRvCiAgICAgIyB0aGUgbmV3
bHkgY3JlYXRlZCB3cmFwcGVyIGludG8gYW4gaW50ZXJuYWwgZmllbGQgb2YgdGhlIGhvbGRlciBv
YmplY3QuCi0gICAgaWYgKCEkY29kZUdlbmVyYXRvci0+SXNTdWJUeXBlKCRpbnRlcmZhY2UsICJO
b2RlIikgJiYgJGF0dHJOYW1lIG5lICJzZWxmIiAmJiBJc1dyYXBwZXJUeXBlKCRyZXR1cm5UeXBl
KSAmJiAoSXNSZWFkb25seSgkYXR0cmlidXRlKSB8fCAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJSZXBsYWNlYWJsZSJ9IHx8ICRhdHRyTmFtZSBlcSAibG9jYXRp
b24iKQotICAgICAgICAmJiAkcmV0dXJuVHlwZSBuZSAiRXZlbnRUYXJnZXQiICYmICRyZXR1cm5U
eXBlIG5lICJTZXJpYWxpemVkU2NyaXB0VmFsdWUiICYmICRyZXR1cm5UeXBlIG5lICJET01XaW5k
b3ciIAotICAgICAgICAmJiAkcmV0dXJuVHlwZSBuZSAiTWVzc2FnZVBvcnRBcnJheSIKLSAgICAg
ICAgJiYgJHJldHVyblR5cGUgIX4gL1NWRy8gJiYgJHJldHVyblR5cGUgIX4gL0hUTUwvICYmICFJ
c0RPTU5vZGVUeXBlKCRyZXR1cm5UeXBlKSkgeworICAgIGlmICgoISRjb2RlR2VuZXJhdG9yLT5J
c1N1YlR5cGUoJGludGVyZmFjZSwgIk5vZGUiKSAmJiAkYXR0ck5hbWUgbmUgInNlbGYiICYmIElz
V3JhcHBlclR5cGUoJHJldHVyblR5cGUpICYmIChJc1JlYWRvbmx5KCRhdHRyaWJ1dGUpIHx8ICRh
dHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlcGxhY2VhYmxlIn0g
fHwgJGF0dHJOYW1lIGVxICJsb2NhdGlvbiIpCisgICAgICAgICAmJiAkcmV0dXJuVHlwZSBuZSAi
RXZlbnRUYXJnZXQiICYmICRyZXR1cm5UeXBlIG5lICJTZXJpYWxpemVkU2NyaXB0VmFsdWUiICYm
ICRyZXR1cm5UeXBlIG5lICJET01XaW5kb3ciCisgICAgICAgICAmJiAkcmV0dXJuVHlwZSBuZSAi
TWVzc2FnZVBvcnRBcnJheSIKKyAgICAgICAgICYmICRyZXR1cm5UeXBlICF+IC9TVkcvICYmICRy
ZXR1cm5UeXBlICF+IC9IVE1MLyAmJiAhSXNET01Ob2RlVHlwZSgkcmV0dXJuVHlwZSkpCisgICAg
ICAgIHx8ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4Q2Fj
aGVBdHRyaWJ1dGVGb3JHQyJ9KSB7CiAKICAgICAgICAgbXkgJGFycmF5VHlwZSA9ICRjb2RlR2Vu
ZXJhdG9yLT5HZXRBcnJheVR5cGUoJHJldHVyblR5cGUpOwogICAgICAgICBpZiAoJGFycmF5VHlw
ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRy
aWJ1dGVzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRl
cy50eHQKaW5kZXggYmE5MWM0MzRjZDEwMzRhZWNiZjFlNGQzM2I1MmMzZjQzYWYzYzE1Mi4uZTE4
YjMxMWE3NTFkMTU1YjY4ZDVkZGQxM2FhMDYyMmJhMTRhNjBlMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CkBAIC0xMDgsNiArMTA4
LDcgQEAgVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsfFVuZGVmaW5lZAogVHJlYXRVbmRl
ZmluZWRBcz1OdWxsU3RyaW5nCiBUeXBlZEFycmF5PSoKIFVSTAorVjhDYWNoZUF0dHJpYnV0ZUZv
ckdDCiBWOEN1c3RvbQogVjhDdXN0b21Db25zdHJ1Y3RvcgogVjhDdXN0b21HZXR0ZXIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5oCmluZGV4IGEyMjUzNmEwMjExZmMwYjUzMjBjODc5ZTI5MDIzNTM2ZTlmMjY2MTEu
LjAxOGU1NzhlY2U2ZTlmZmU4ODIxZjUxMmUyOWM1MmFkZTdhNDFmMzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaApAQCAtNTQ2LDcgKzU0Niw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgLy8gY2xvbmVOb2Rl
IGlzIHByaXZhdGUgc28gdGhhdCBub24tdmlydHVhbCBjbG9uZUVsZW1lbnRXaXRoQ2hpbGRyZW4g
YW5kIGNsb25lRWxlbWVudFdpdGhvdXRDaGlsZHJlbgogICAgIC8vIGFyZSB1c2VkIGluc3RlYWQu
Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPE5vZGU+IGNsb25lTm9kZShib29sIGRlZXApOworICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxOb2RlPiBjbG9uZU5vZGUoYm9vbCBkZWVwKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RWxlbWVudD4gY2xvbmVFbGVtZW50V2l0aG91dEF0dHJp
YnV0ZXNBbmRDaGlsZHJlbigpOwogCiAgICAgUXVhbGlmaWVkTmFtZSBtX3RhZ05hbWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcAppbmRleCBhZmQzMjllZmQ0
ZWVhMzBjMmVlYjczOWVmOGQ4OTk1ZTVjOGM4YzBjLi5lYTA3MTMyMjQ1M2MyNjJiNTQwMjlmY2Y5
MmJmMmRlMGU2NWM1NDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1w
bGF0ZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxl
bWVudC5jcHAKQEAgLTU3LDYgKzU3LDggQEAgUGFzc1JlZlB0cjxIVE1MVGVtcGxhdGVFbGVtZW50
PiBIVE1MVGVtcGxhdGVFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYKICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxUZW1wbGF0ZUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQp
KTsKIH0KIAorLy8gRklYTUU6IGh0dHBzOi8vd3d3LnczLm9yZy9CdWdzL1B1YmxpYy9zaG93X2J1
Zy5jZ2k/aWQ9MjAxMjcgKHByZXZlbnQgRE9NIGhpZXJhcmNoeSBjeWNsZXMpLgorLy8gRklYTUU6
IGh0dHBzOi8vd3d3LnczLm9yZy9CdWdzL1B1YmxpYy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjkgKGV4
dGVuZGVkIGFkb3B0Tm9kZSB0byBjb25zaWRlciB0ZW1wbGF0ZS5jb250ZW50KS4KIERvY3VtZW50
RnJhZ21lbnQqIEhUTUxUZW1wbGF0ZUVsZW1lbnQ6OmNvbnRlbnQoKSBjb25zdAogewogICAgIGlm
ICghbV9jb250ZW50KQpAQCAtNjUsMjQgKzY3LDE1IEBAIERvY3VtZW50RnJhZ21lbnQqIEhUTUxU
ZW1wbGF0ZUVsZW1lbnQ6OmNvbnRlbnQoKSBjb25zdAogICAgIHJldHVybiBtX2NvbnRlbnQuZ2V0
KCk7CiB9CiAKLS8vIEZJWE1FOiBodHRwczovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19i
dWcuY2dpP2lkPTIwMTI3IChwcmV2ZW50IERPTSBoaWVyYXJjaHkgY3ljbGVzKS4KLS8vIEZJWE1F
OiBodHRwczovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTIwMTI5IChl
eHRlbmRlZCBhZG9wdE5vZGUgdG8gY29uc2lkZXIgdGVtcGxhdGUuY29udGVudCkuCi12b2lkIEhU
TUxUZW1wbGF0ZUVsZW1lbnQ6OnNldENvbnRlbnQoUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50
PiBwcnBDb250ZW50LCBFeGNlcHRpb25Db2RlJiBlYykKK1Bhc3NSZWZQdHI8Tm9kZT4gSFRNTFRl
bXBsYXRlRWxlbWVudDo6Y2xvbmVOb2RlKGJvb2wgZGVlcCkKIHsKLSAgICBSZWZQdHI8RG9jdW1l
bnRGcmFnbWVudD4gY29udGVudCA9IHBycENvbnRlbnQ7Ci0KLSAgICBpZiAoIWNvbnRlbnQgfHwg
Y29udGVudC0+aXNTaGFkb3dSb290KCkpIHsKLSAgICAgICAgZWMgPSBUWVBFX01JU01BVENIX0VS
UjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChtX2NvbnRlbnQuZ2V0KCkgPT0g
Y29udGVudC5nZXQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGNvbnRlbnQtPm93bmVy
RG9jdW1lbnQoKSAhPSBvd25lckRvY3VtZW50KCktPnRlbXBsYXRlQ29udGVudHNPd25lckRvY3Vt
ZW50KCkpCi0gICAgICAgIG93bmVyRG9jdW1lbnQoKS0+dGVtcGxhdGVDb250ZW50c093bmVyRG9j
dW1lbnQoKS0+YWRvcHROb2RlKGNvbnRlbnQsIEFTU0VSVF9OT19FWENFUFRJT04pOworICAgIGlm
ICghZGVlcCkKKyAgICAgICAgcmV0dXJuIGNsb25lRWxlbWVudFdpdGhvdXRDaGlsZHJlbigpOwog
Ci0gICAgbV9jb250ZW50ID0gY29udGVudDsKKyAgICBSZWZQdHI8Tm9kZT4gY2xvbmUgPSBjbG9u
ZUVsZW1lbnRXaXRoQ2hpbGRyZW4oKTsKKyAgICBpZiAobV9jb250ZW50KQorICAgICAgICBjb250
ZW50KCktPmNsb25lQ2hpbGROb2Rlcyh0b0hUTUxUZW1wbGF0ZUVsZW1lbnQoY2xvbmUuZ2V0KCkp
LT5jb250ZW50KCkpOworICAgIHJldHVybiBjbG9uZS5yZWxlYXNlKCk7CiB9CiAKICNpZm5kZWYg
TkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5oCmluZGV4IDZl
ZjkxM2U0NGFiNmI4ZjY2MzU5ZWUwODk5ODcyNWU3NDVlOTU5NjcuLmJjNGU1ODJmNzE3ZWNiYmVi
OTg3NjUyMWVhNTdkM2M3YjU1ZDUxYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRlbXBsYXRlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBs
YXRlRWxlbWVudC5oCkBAIC00NSw5ICs0NSw5IEBAIHB1YmxpYzoKIAogICAgIERvY3VtZW50RnJh
Z21lbnQqIGNvbnRlbnQoKSBjb25zdDsKIAotICAgIHZvaWQgc2V0Q29udGVudChQYXNzUmVmUHRy
PERvY3VtZW50RnJhZ21lbnQ+LCBFeGNlcHRpb25Db2RlJik7Ci0KIHByaXZhdGU6CisgICAgdmly
dHVhbCBQYXNzUmVmUHRyPE5vZGU+IGNsb25lTm9kZShib29sIGRlZXApIE9WRVJSSURFOworCiAg
ICAgSFRNTFRlbXBsYXRlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsK
IAogICAgIG11dGFibGUgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IG1fY29udGVudDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuaWRsCmluZGV4IDdhNTgzNmQ5Nzgx
ZmQ2YjNlNmZjNmU2MWZjN2Y1NGEwMGM3ZDAyYmMuLmQ3ZGE5MjViZWE2YWVmMjBlNDMwMjc0NDEz
YzgyYTE0NTZkYTlhNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBs
YXRlRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVt
ZW50LmlkbApAQCAtMzEsNiArMzEsNiBAQAogWwogICAgIENvbmRpdGlvbmFsPVRFTVBMQVRFX0VM
RU1FTlQKIF0gaW50ZXJmYWNlIEhUTUxUZW1wbGF0ZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0g
ICAgYXR0cmlidXRlIERvY3VtZW50RnJhZ21lbnQgY29udGVudCBzZXR0ZXIgcmFpc2VzIChET01F
eGNlcHRpb24pOworICAgIFtKU0N1c3RvbSwgVjhDYWNoZUF0dHJpYnV0ZUZvckdDXSByZWFkb25s
eSBhdHRyaWJ1dGUgRG9jdW1lbnRGcmFnbWVudCBjb250ZW50OwogfTsKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDZjMmE0
YWFkY2U5OWE2MzMyMmM3MGViNzkxOWQ0ODFkNDFjNWQxZGIuLjU5ZDRjMjE2YzIyMzZmNGY5MTUy
OTkzOGQ5MTMzNjRjMWVhZTRiNDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0wNiAg
QWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSFRNTFRlbXBsYXRl
RWxlbWVudF0gbWFrZSBjb250ZW50IHJlYWRvbmx5IGFuZCBjbG9uZU5vZGUoZGVlcCkgY2xvbmUg
Y29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA0MTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2Nsb25lTm9kZS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9jbG9uZU5vZGUuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2NvbnRlbnRXcmFwcGVycy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQv
Y29udGVudFdyYXBwZXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxUZW1w
bGF0ZUVsZW1lbnQvb3duZXJEb2N1bWVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9k
b20vSFRNTFRlbXBsYXRlRWxlbWVudC9vd25lckRvY3VtZW50Lmh0bWw6CisKIDIwMTItMTItMDYg
IFN0ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXgg
YSBiYWQgcmViYXNlbGluZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRl
bXBsYXRlRWxlbWVudC9jbG9uZU5vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTFRlbXBsYXRlRWxlbWVudC9jbG9uZU5vZGUtZXhwZWN0ZWQudHh0CmluZGV4IDhiYjYx
Y2Q4ZjU2MmYyYmIwNmZhMDdhMTU3NGE1YWRkMzYxZTM1OTguLjQyY2QwMDNmMWVmMTZjYTU4YzRk
MzI2M2UwM2NhOTkyZDY3YmYxMTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxUZW1wbGF0ZUVsZW1lbnQvY2xvbmVOb2RlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2Nsb25lTm9kZS1leHBlY3RlZC50eHQKQEAg
LTQsNSArNCwxMCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFBBU1MgdGVtcGxhdGUu
Y29udGVudC5jaGlsZE5vZGVzLmxlbmd0aCBpcyAxCi1QQVNTIGNsb25lLmNvbnRlbnQuY2hpbGRO
b2Rlcy5sZW5ndGggaXMgMAorUEFTUyBjbG9uZS5jb250ZW50LmNoaWxkTm9kZXMubGVuZ3RoIGlz
IDEKK1BBU1MgY2xvbmUub3V0ZXJIVE1MIGlzIHRlbXBsYXRlLm91dGVySFRNTAorUEFTUyBjbG9u
ZS5jb250ZW50LmZpcnN0Q2hpbGQgaXMgbm90IHRlbXBsYXRlLmNvbnRlbnQuZmlyc3RDaGlsZAor
UEFTUyBjbG9uZS5jb250ZW50IGlzIG5vdCB0ZW1wbGF0ZS5jb250ZW50CitQQVNTIGNsb25lLmZp
cnN0Q2hpbGQudGFnTmFtZSBpcyAiRElWIgorUEFTUyBjbG9uZS5maXJzdENoaWxkIGlzIG5vdCBk
aXYKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVu
dC9jbG9uZU5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1l
bnQvY2xvbmVOb2RlLmh0bWwKaW5kZXggZWRhNWY3NWVjZmVhMDNkYjk5ODFiOWFlZjg2NWViNGNl
NGUxMzE1NS4uMGE4NzRiZGNkMGEyZmJhNjM4YjE5YmY1NGMwOTg5ZmE0ODc4ODRkYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9jbG9uZU5vZGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2Nsb25l
Tm9kZS5odG1sCkBAIC0xLDUgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+Ci08dGVtcGxhdGUgaWQ9
InRlbXBsYXRlIj5Db250ZW50czwvdGVtcGxhdGU+Cis8dGVtcGxhdGUgaWQ9InRlbXBsYXRlIj48
c3Bhbj5Db250ZW50czwvc3Bhbj48L3RlbXBsYXRlPgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCkBAIC05LDggKzks
MTUgQEAgaWYgKCF3aW5kb3cuSFRNTFRlbXBsYXRlRWxlbWVudCkKICAgICB0ZXN0RmFpbGVkKCdU
aGlzIHRlc3QgcmVxdWlyZXMgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpJyk7CiAKIHZhciB0ZW1w
bGF0ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZW1wbGF0ZScpOwordmFyIGRpdiA9IHRl
bXBsYXRlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTsKKwogc2hv
dWxkQmUoJ3RlbXBsYXRlLmNvbnRlbnQuY2hpbGROb2Rlcy5sZW5ndGgnLCAnMScpOwogdmFyIGNs
b25lID0gdGVtcGxhdGUuY2xvbmVOb2RlKHRydWUpOwotc2hvdWxkQmUoJ2Nsb25lLmNvbnRlbnQu
Y2hpbGROb2Rlcy5sZW5ndGgnLCAnMCcpOworc2hvdWxkQmUoJ2Nsb25lLmNvbnRlbnQuY2hpbGRO
b2Rlcy5sZW5ndGgnLCAnMScpOworc2hvdWxkQmUoJ2Nsb25lLm91dGVySFRNTCcsICd0ZW1wbGF0
ZS5vdXRlckhUTUwnKTsKK3Nob3VsZE5vdEJlKCdjbG9uZS5jb250ZW50LmZpcnN0Q2hpbGQnLCAn
dGVtcGxhdGUuY29udGVudC5maXJzdENoaWxkJyk7CitzaG91bGROb3RCZSgnY2xvbmUuY29udGVu
dCcsICd0ZW1wbGF0ZS5jb250ZW50Jyk7CitzaG91bGRCZSgnY2xvbmUuZmlyc3RDaGlsZC50YWdO
YW1lJywgJyJESVYiJyk7CitzaG91bGROb3RCZSgnY2xvbmUuZmlyc3RDaGlsZCcsICdkaXYnKTsK
IAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxh
dGVFbGVtZW50L2NvbnRlbnRXcmFwcGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2NvbnRlbnRXcmFwcGVycy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWIyMDZhYTc0ZmM4NGQwNGE3YzU5ZTBlOTM4NzI1ODI0NWQwOTllMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvY29u
dGVudFdyYXBwZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUZXN0IEhUTUxUZW1w
bGF0ZUVsZW1lbnQgY29udGVudCBub2RlIHdyYXBwZXJzIGhhdmUgdGhlIGNvcnJlY3QgbGlmZXRp
bWUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHNwYW4udGFnTmFtZSBp
cyAiU1BBTiIKK1BBU1Mgc3Bhbi5leHBhbmRvIGlzICJwcmVzZW50IgorUEFTUyBzcGFuLnRhZ05h
bWUgaXMgIlNQQU4iCitQQVNTIHNwYW4uZXhwYW5kbyBpcyAicHJlc2VudCIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2NvbnRlbnRXcmFwcGVycy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9jb250ZW50V3JhcHBl
cnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xODZhMzcwODIwOGJkYzM0NmJmZTA2YjYxMmJiY2ZkNjliZDdl
MGY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRl
RWxlbWVudC9jb250ZW50V3JhcHBlcnMuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUg
aHRtbD4KKzx0ZW1wbGF0ZSBpZD0idGVtcGxhdGUiPjxzcGFuPjwvc3Bhbj48L3RlbXBsYXRlPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgSFRNTFRlbXBsYXRlRWxlbWVudCBjb250ZW50
IG5vZGUgd3JhcHBlcnMgaGF2ZSB0aGUgY29ycmVjdCBsaWZldGltZS4nKTsKKworaWYgKCF3aW5k
b3cuSFRNTFRlbXBsYXRlRWxlbWVudCkKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRlc3QgcmVxdWly
ZXMgRU5BQkxFKFRFTVBMQVRFX1RBRyknKTsKKwordmFyIHRlbXBsYXRlID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3RlbXBsYXRlJyk7Cit2YXIgc3BhbiA9IHRlbXBsYXRlLmNvbnRlbnQuZmly
c3RDaGlsZDsKK3Nob3VsZEJlKCdzcGFuLnRhZ05hbWUnLCAnIlNQQU4iJyk7CisKK3NwYW4uZXhw
YW5kbyA9ICdwcmVzZW50JzsKK3Nob3VsZEJlKCdzcGFuLmV4cGFuZG8nLCAnInByZXNlbnQiJyk7
CisKK3NwYW4gPSB1bmRlZmluZWQ7CitnYygpOworc3BhbiA9IHRlbXBsYXRlLmNvbnRlbnQuZmly
c3RDaGlsZDsKK3Nob3VsZEJlKCdzcGFuLnRhZ05hbWUnLCAnIlNQQU4iJyk7CitzaG91bGRCZSgn
c3Bhbi5leHBhbmRvJywgJyJwcmVzZW50IicpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9vd25l
ckRvY3VtZW50LWV4cGVjdGVkLnR4dAppbmRleCBiNzAyYWVhZWUzOTBmODE2ZTZhNTFlOWNiMmVj
MjE0MmMxNzY3Y2U2Li40MTg4MGI2YWY3NzMwMzNhNjkwZDVjYWQ1NTFjNjNiMWVjZWIyN2VlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVy
RG9jdW1lbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1w
bGF0ZUVsZW1lbnQvb3duZXJEb2N1bWVudC1leHBlY3RlZC50eHQKQEAgLTQsNiArNCw3IEBAIE9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIAogUEFTUyB0ZW1wbGF0ZS5vd25lckRvY3VtZW50IGlz
IGRvY3VtZW50CitQQVNTIHRlbXBsYXRlLmNvbnRlbnQgaXMgY29udGVudAogUEFTUyB0ZW1wbGF0
ZUNvbnRlbnRPd25lckRvY3VtZW50IGluc3RhbmNlb2YgSFRNTERvY3VtZW50IGlzIHRydWUKIFBB
U1MgZG9jdW1lbnQgaXMgbm90IHRlbXBsYXRlQ29udGVudE93bmVyRG9jdW1lbnQKIFBBU1MgdGVt
cGxhdGUuY29udGVudC5maXJzdENoaWxkLm93bmVyRG9jdW1lbnQgaXMgdGVtcGxhdGVDb250ZW50
T3duZXJEb2N1bWVudApAQCAtMTIsMTMgKzEzLDYgQEAgUEFTUyBpbm5lclRlbXBsYXRlLmNvbnRl
bnQub3duZXJEb2N1bWVudCBpcyB0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50CiBQQVNTIGlu
bmVyVGVtcGxhdGUub3duZXJEb2N1bWVudCBpbnN0YW5jZW9mIEhUTUxEb2N1bWVudCBpcyB0cnVl
CiBQQVNTIHRlbXBsYXRlMi5vd25lckRvY3VtZW50IGlzIGRvY3VtZW50CiBQQVNTIHRlbXBsYXRl
Mi5jb250ZW50Lm93bmVyRG9jdW1lbnQgaXMgdGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudAot
UEFTUyBkZi5vd25lckRvY3VtZW50IGlzIGRvY3VtZW50Ci1QQVNTIHNwYW4ub3duZXJEb2N1bWVu
dCBpcyBkb2N1bWVudAotUEFTUyBkZi5vd25lckRvY3VtZW50IGlzIHRlbXBsYXRlQ29udGVudE93
bmVyRG9jdW1lbnQKLVBBU1Mgc3Bhbi5vd25lckRvY3VtZW50IGlzIHRlbXBsYXRlQ29udGVudE93
bmVyRG9jdW1lbnQKLVBBU1MgdGVtcGxhdGUuY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNwYW4iKTsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUeXBlTWlzbWF0Y2hFcnJvcjogRE9N
IEV4Y2VwdGlvbiAxNy4KLVBBU1MgdGVtcGxhdGUuY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKCJ0ZXh0Iik7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVHlwZU1pc21hdGNoRXJyb3I6
IERPTSBFeGNlcHRpb24gMTcuCi1QQVNTIHRlbXBsYXRlLmNvbnRlbnQgPSBuZXcgV2ViS2l0U2hh
ZG93Um9vdChkaXYpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVHlwZU1pc21hdGNoRXJyb3I6IERP
TSBFeGNlcHRpb24gMTcuCiBQQVNTIHRlbXBsYXRlMy5vd25lckRvY3VtZW50IGlzIGRvY3VtZW50
CiBQQVNTIHRlbXBsYXRlMy5jb250ZW50Lm93bmVyRG9jdW1lbnQgaXMgdGVtcGxhdGVDb250ZW50
T3duZXJEb2N1bWVudAogUEFTUyB0ZW1wbGF0ZTMuY29udGVudC5maXJzdENoaWxkLm93bmVyRG9j
dW1lbnQgaXMgdGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9vd25lckRvY3VtZW50Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQuaHRt
bAppbmRleCBkNDUxOTJiMWZiNDliY2I3NjM2N2JhNWQ1MTM5Y2Y1NDg2NWJjZGNhLi43YjgzMmJh
NGU2ZWVjODE5MTFlYjJkYjY1NGNlNDYxMjhjMzY3ZjdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQuaHRt
bApAQCAtMTMsNiArMTMsMTEgQEAgaWYgKCF3aW5kb3cuSFRNTFRlbXBsYXRlRWxlbWVudCkKIHZh
ciB0ZW1wbGF0ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZW1wbGF0ZScpOwogc2hvdWxk
QmUoJ3RlbXBsYXRlLm93bmVyRG9jdW1lbnQnLCAnZG9jdW1lbnQnKTsKIAordmFyIGNvbnRlbnQg
PSB0ZW1wbGF0ZS5jb250ZW50OwordmFyIGRmID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFn
bWVudCgpOwordGVtcGxhdGUuY29udGVudCA9IGRmOworc2hvdWxkQmUoJ3RlbXBsYXRlLmNvbnRl
bnQnLCAnY29udGVudCcpOworCiB2YXIgdGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudCA9IHRl
bXBsYXRlLmNvbnRlbnQub3duZXJEb2N1bWVudDsKIHNob3VsZEJlVHJ1ZSgndGVtcGxhdGVDb250
ZW50T3duZXJEb2N1bWVudCBpbnN0YW5jZW9mIEhUTUxEb2N1bWVudCcpOwogc2hvdWxkTm90QmUo
J2RvY3VtZW50JywgJ3RlbXBsYXRlQ29udGVudE93bmVyRG9jdW1lbnQnKTsKQEAgLTI3LDIzICsz
Miw3IEBAIHZhciB0ZW1wbGF0ZTIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVtcGxhdGUy
Jyk7CiBzaG91bGRCZSgndGVtcGxhdGUyLm93bmVyRG9jdW1lbnQnLCAnZG9jdW1lbnQnKTsKIHNo
b3VsZEJlKCd0ZW1wbGF0ZTIuY29udGVudC5vd25lckRvY3VtZW50JywgJ3RlbXBsYXRlQ29udGVu
dE93bmVyRG9jdW1lbnQnKTsKIAotdmFyIGRmID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFn
bWVudCgpOwotdmFyIHNwYW4gPSBkZi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdzcGFuJykpOwotc2hvdWxkQmUoJ2RmLm93bmVyRG9jdW1lbnQnLCAnZG9jdW1lbnQnKTsKLXNo
b3VsZEJlKCdzcGFuLm93bmVyRG9jdW1lbnQnLCAnZG9jdW1lbnQnKTsKLQotdGVtcGxhdGUuY29u
dGVudCA9IGRmOwotc2hvdWxkQmUoJ2RmLm93bmVyRG9jdW1lbnQnLCAndGVtcGxhdGVDb250ZW50
T3duZXJEb2N1bWVudCcpOwotc2hvdWxkQmUoJ3NwYW4ub3duZXJEb2N1bWVudCcsICd0ZW1wbGF0
ZUNvbnRlbnRPd25lckRvY3VtZW50Jyk7Ci0KLXNob3VsZFRocm93KCd0ZW1wbGF0ZS5jb250ZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOycpOwotc2hvdWxkVGhyb3coJ3RlbXBs
YXRlLmNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgidGV4dCIpOycpOwotaWYgKHdp
bmRvdy5XZWJLaXRTaGFkb3dSb290KSB7Ci0gICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOwotICAgIHNob3VsZFRocm93KCd0ZW1wbGF0ZS5jb250ZW50ID0gbmV3IFdl
YktpdFNoYWRvd1Jvb3QoZGl2KScpOwotfQotCi12YXIgdGVtcGxhdGUzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3RlbXBsYXRlMicpOwordmFyIHRlbXBsYXRlMyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0ZW1wbGF0ZTMnKTsKIHNob3VsZEJlKCd0ZW1wbGF0ZTMub3duZXJEb2N1bWVu
dCcsICdkb2N1bWVudCcpOwogc2hvdWxkQmUoJ3RlbXBsYXRlMy5jb250ZW50Lm93bmVyRG9jdW1l
bnQnLCAndGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudCcpOwogc2hvdWxkQmUoJ3RlbXBsYXRl
My5jb250ZW50LmZpcnN0Q2hpbGQub3duZXJEb2N1bWVudCcsICd0ZW1wbGF0ZUNvbnRlbnRPd25l
ckRvY3VtZW50Jyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178088</attachid>
            <date>2012-12-06 15:09:22 -0800</date>
            <delta_ts>2012-12-06 15:48:53 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-104181-20121206150646.patch</filename>
            <type>text/plain</type>
            <size>29749</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2ODgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNiZGVkNDBhMzg5N2Yw
MGIyODU3NzIwMjVlZjc0MTkwZmZhNjlhMC4uN2UzMTVkM2M2ODg1MjFhMDVmMTA4MGFjOGM4OTBi
ZTM0ZGU0ZmFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTEyLTA2ICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtIVE1MVGVtcGxhdGVFbGVt
ZW50XSBtYWtlIGNvbnRlbnQgcmVhZG9ubHkgYW5kIGNsb25lTm9kZShkZWVwKSBjbG9uZSBjb250
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQx
ODEKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIE5vdGUgdGhh
dCB0aGlzIHBhdGNoIGFsc28gYWRkcyBJREwgYXR0cmlidXRlcy9jdXN0b20gY29kZSB0byB0aWUg
dGhlIGxpZmV0aW1lCisgICAgICAgIG9mIHRoZSBjb250ZW50IERvY3VtZW50RnJhZ21lbnQgd3Jh
cHBlciB0byB0aGUgbGlmZXRpbWUgb2YgdGhlIHRlbXBsYXRlIGVsZW1lbnQgd3JhcHBlcgorICAg
ICAgICB2aWEgYSBoaWRkZW4gSlMgcHJvcGVydHkuCisKKyAgICAgICAgQmFzZWQgb24gYSBwYXRj
aCBieSBSYWZhZWwgV2VpbnN0ZWluLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL0hUTUxUZW1w
bGF0ZUVsZW1lbnQvY29udGVudFdyYXBwZXJzLmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLmNwcDoKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFVzZUpTQy5jbWFrZToK
KyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5j
cHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNw
cDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50Lmlk
bC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MVGVtcGxhdGVF
bGVtZW50Ojpjb250ZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JWOC5wbTogQWRkIHN1cHBvcnQgZm9yIG5ldyBWOENhY2hlQXR0cmlidXRlRm9yR0MgYXR0cmli
dXRlLgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgIChFbGVtZW50KTogQW5ub3Rh
dGUgY2xvbmVOb2RlKCkgd2l0aCBPVkVSUklERQorICAgICAgICAqIGh0bWwvSFRNTFRlbXBsYXRl
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGVtcGxhdGVFbGVtZW50OjpjbG9u
ZU5vZGUpOgorICAgICAgICAqIGh0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5oOgorICAgICAgICAo
SFRNTFRlbXBsYXRlRWxlbWVudCk6IG92ZXJyaWRlIGNsb25lTm9kZQorICAgICAgICAqIGh0bWwv
SFRNTFRlbXBsYXRlRWxlbWVudC5pZGw6IE1ha2UgY29udGVudCByZWFkb25seSBhbmQgYWRkIGN1
c3RvbSBhdHRyaWJ1dGVzLgorCiAyMDEyLTEyLTA2ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM2
ODcxLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDY3MjdiMzY0MDNjMWU4ZGUwN2Y1
ZjY0MWU2ZmJkYWZmMjM3YTc0ZmMuLjE1YmEyNjUxYThiNjUzMjgwM2FjMTRiNmMyY2YwM2UxY2U0
Nzc2M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTM4LDcgKzM4LDcgQEAKICNp
bmNsdWRlICJKU0NhbnZhc1BhdHRlcm4uY3BwIgogI2luY2x1ZGUgIkpTQ2FudmFzUmVuZGVyaW5n
Q29udGV4dC5jcHAiCiAjaW5jbHVkZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIgot
I2lmIEVOQUJMRShXRUJHTCkgICAgCisjaWYgRU5BQkxFKFdFQkdMKQogI2luY2x1ZGUgIkpTV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcCIKICNlbmRpZgogI2luY2x1ZGUgIkpTQ0RBVEFTZWN0aW9u
LmNwcCIKQEAgLTIxMSw2ICsyMTEsOSBAQAogI2luY2x1ZGUgIkpTSFRNTFRhYmxlRWxlbWVudC5j
cHAiCiAjaW5jbHVkZSAiSlNIVE1MVGFibGVSb3dFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hU
TUxUYWJsZVNlY3Rpb25FbGVtZW50LmNwcCIKKyNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkK
KyNpbmNsdWRlICJKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwIgorI2VuZGlmCiAjaW5jbHVkZSAi
SlNIVE1MVGV4dEFyZWFFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxUaXRsZUVsZW1lbnQu
Y3BwIgogI2luY2x1ZGUgIkpTSFRNTFVua25vd25FbGVtZW50LmNwcCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4
IGQ0YjUwY2I5YmE4Mzk1ODYyNzUxOTg2NDM3NWIwN2E3ZDUwMDNjNzAuLjljYjA4NjYyZTYxNDVi
OWU2Yjg1MTZjMzdmYjgxZmFkMzdiYjZjNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMTQ0LDYgKzE0NCw3
IEBAIFNPVVJDRVMgKz0gXAogICAgICBiaW5kaW5ncy9qcy9KU0hUTUxPdXRwdXRFbGVtZW50Q3Vz
dG9tLmNwcCBcCiAgICAgIGJpbmRpbmdzL2pzL0pTSFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uY3Bw
IFwKICAgICAgYmluZGluZ3MvanMvSlNIVE1MU3R5bGVFbGVtZW50Q3VzdG9tLmNwcCBcCisgICAg
IGJpbmRpbmdzL2pzL0pTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAgXAogICAgICBiaW5k
aW5ncy9qcy9KU0hpc3RvcnlDdXN0b20uY3BwIFwKICAgICAgYmluZGluZ3MvanMvSlNJbWFnZUNv
bnN0cnVjdG9yLmNwcCBcCiAgICAgIGJpbmRpbmdzL2pzL0pTSW1hZ2VEYXRhQ3VzdG9tLmNwcCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9Vc2VKU0MuY21ha2UKaW5kZXggMjAyY2Y4NTM4NmFjNTBkOGY1Y2MxMGVmNTY5OWNjYmM3MDhi
YzE1ZS4uZTMwYjYxOGVmOTExMGU4MzUxZGRjM2QwY2JjMWFmOTRmNzM3MGQzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZUpT
Qy5jbWFrZQpAQCAtOTYsNiArOTYsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAg
ICBiaW5kaW5ncy9qcy9KU0hUTUxPdXRwdXRFbGVtZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdz
L2pzL0pTSFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNIVE1M
U3R5bGVFbGVtZW50Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTSFRNTFRlbXBsYXRlRWxl
bWVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0hpc3RvcnlDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNJbWFnZUNvbnN0cnVjdG9yLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTSW1h
Z2VEYXRhQ3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDZlNzY3MjRhOWE2MDQ4NzdlNTM1NTQ1NjJkZDJlYWUwYWE5
YWIwNjQuLmMxNzhlNmFkYmEzZjEyNWVlMjUzZDE5NDQyZjFjOWFjMjQ0ZTFlYmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYw
MjAsMTAgKzYwMjAsMTUgQEAKIAkJRDYzMEUyQUMxNDlCRjM0NDAwNUIyRjk0IC8qIFN0YXRzQ291
bnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDYz
MEUyQUIxNDlCRjM0NDAwNUIyRjk0IC8qIFN0YXRzQ291bnRlci5oICovOyB9OwogCQlENjMwRTJB
QzE0OUJGMzQ0MDA1QjJGOTUgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTUg
LyogTWVtb3J5VXNhZ2VTdXBwb3J0LmggKi87IH07CiAJCUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5
NiAvKiBFdmVudFRyYWNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk2IC8qIEV2ZW50VHJhY2VyLmggKi87IH07
CisJCUQ2NDg5RDI1MTY2RkZDRjEwMDdDMDMxQiAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDY0ODlEMjMx
NjZGRkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAgKi87IH07CisJCUQ2
NDg5RDI2MTY2RkZDRjEwMDdDMDMxQiAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2NDg5RDI0MTY2RkZDRjEw
MDdDMDMxQiAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuaCAqLzsgfTsKKwkJRDY2ODE3RkExNjZG
RTZENzAwRkEwN0I0IC8qIEhUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFRkMwQkIxNjY2REY3QTAwM0QyOTFFIC8q
IEhUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwICovOyB9OworCQlENjY4MTdGQjE2NkZFNkQ3MDBGQTA3
QjQgLyogSFRNTFRlbXBsYXRlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRDZFRkMwQkMxNjY2REY3QTAwM0QyOTFFIC8qIEhUTUxUZW1wbGF0
ZUVsZW1lbnQuaCAqLzsgfTsKIAkJRDZFMjc2QUYxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRDZFMjc2QUQxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2
ZXJSZWdpc3RyYXRpb24uY3BwICovOyB9OwogCQlENkUyNzZCMDE0NjM3NDU1MDAxRDI4MEEgLyog
TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFMjc2QUUxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCAqLzsgfTsKIAkJRDZFNTI4QTMxNDlBOTI2RDAwRUZFMUYz
IC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTUyOEExMTQ5QTkyNkQwMEVGRTFGMyAvKiBN
dXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHAgKi87IH07CiAJCUQ2RTUyOEE0MTQ5QTky
NkQwMEVGRTFGMyAvKiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZFNTI4QTIxNDlBOTI2RDAwRUZF
MUYzIC8qIE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmggKi87IH07CisJCUQ2Rjc5NjBE
MTY2RkZFQ0UwMDc2REQxOCAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDZGNzk2MEMxNjZGRkVD
RTAwNzZERDE4IC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAgKi87IH07CiAJCUQ2
RkRBRUYzMTQ5QzA2MTkwMDM3QjFFMSAvKiBIaXN0b2dyYW1TdXBwb3J0LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RkRBRUYyMTQ5QzA2MTkwMDM3
QjFFMSAvKiBIaXN0b2dyYW1TdXBwb3J0LmNwcCAqLzsgfTsKIAkJRDZGREFFRjMxNDlDMDYxOTAw
MzdCMUUyIC8qIFN0YXRzQ291bnRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVy
LmNwcCAqLzsgfTsKIAkJRDZGREFFRjMxNDlDMDYxOTAwMzdCMUUzIC8qIE1lbW9yeVVzYWdlU3Vw
cG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBE
NkZEQUVGMjE0OUMwNjE5MDAzN0IxRTMgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcCAqLzsgfTsK
QEAgLTEzNDY2LDYgKzEzNDcxLDggQEAKIAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjk1IC8qIE1l
bW9yeVVzYWdlU3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZW1v
cnlVc2FnZVN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDYzMEUyQUIx
NDlCRjM0NDAwNUIyRjk2IC8qIEV2ZW50VHJhY2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEV2ZW50VHJhY2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2
MzBFMkFCMTQ5QkYzNDQwMDVCMkY5NyAvKiBMYXlvdXRUZXN0U3VwcG9ydC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRUZXN0U3VwcG9ydC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlENjQ4OUQyMzE2NkZGQ0YxMDA3QzAzMUIgLyogSlNIVE1MVGVtcGxh
dGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRN
TFRlbXBsYXRlRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ2NDg5
RDI0MTY2RkZDRjEwMDdDMDMxQiAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1MVGVtcGxhdGVFbGVtZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2RTI3NkFEMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlENkUyNzZBRTE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZl
clJlZ2lzdHJhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQ2
RTUyOEExMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVy
SW50ZXJlc3RHcm91cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzQ3Myw2
ICsxMzQ4MCw3IEBACiAJCUQ2RUZDMEJCMTY2NkRGN0EwMDNEMjkxRSAvKiBIVE1MVGVtcGxhdGVF
bGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxUZW1w
bGF0ZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkVGQzBCQzE2
NjZERjdBMDAzRDI5MUUgLyogSFRNTFRlbXBsYXRlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBIVE1MVGVtcGxhdGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUQ2RUZDMEJEMTY2NkRGN0EwMDNEMjkxRSAvKiBIVE1MVGVtcGxhdGVFbGVt
ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MVGVtcGxhdGVFbGVtZW50LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDZGNzk2MEMxNjZGRkVDRTAwNzZERDE4IC8q
IEpTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9ncmFt
U3VwcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaXN0b2dy
YW1TdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZGREFFRjIxNDlD
MDYxOTAwMzdCMUUyIC8qIFN0YXRzQ291bnRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTdGF0c0NvdW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTMgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lbW9yeVVzYWdlU3VwcG9ydC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODY0OSw2ICsxODY1Nyw4IEBACiAJ
CQkJQkMwNkVEOUMwQkZENjYwNjAwODU2RTlEIC8qIEpTSFRNTFRhYmxlUm93RWxlbWVudC5oICov
LAogCQkJCUJDMDZFRDA0MEJGRDVCQUUwMDg1NkU5RCAvKiBKU0hUTUxUYWJsZVNlY3Rpb25FbGVt
ZW50LmNwcCAqLywKIAkJCQlCQzA2RUQwNTBCRkQ1QkFFMDA4NTZFOUQgLyogSlNIVE1MVGFibGVT
ZWN0aW9uRWxlbWVudC5oICovLAorCQkJCUQ2NDg5RDIzMTY2RkZDRjEwMDdDMDMxQiAvKiBKU0hU
TUxUZW1wbGF0ZUVsZW1lbnQuY3BwICovLAorCQkJCUQ2NDg5RDI0MTY2RkZDRjEwMDdDMDMxQiAv
KiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuaCAqLywKIAkJCQlBODBFN0U5NDBBMUE4M0UzMDA3RkI4
QzUgLyogSlNIVE1MVGV4dEFyZWFFbGVtZW50LmNwcCAqLywKIAkJCQlBODBFN0U5MzBBMUE4M0Uz
MDA3RkI4QzUgLyogSlNIVE1MVGV4dEFyZWFFbGVtZW50LmggKi8sCiAJCQkJQTgwRTdCMDkwQTE5
RDYwNjAwN0ZCOEM1IC8qIEpTSFRNTFRpdGxlRWxlbWVudC5jcHAgKi8sCkBAIC0yMDYyNCw2ICsy
MDYzNCw3IEBACiAJCQkJQkMxN0Y5NjUwQjY0RUJCODAwNEE2NUNCIC8qIEpTSFRNTFNlbGVjdEVs
ZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUFCNENCNEVBMEI4QkRBM0QwMDlGNDBCMCAvKiBKU0hU
TUxTZWxlY3RFbGVtZW50Q3VzdG9tLmggKi8sCiAJCQkJRTFBRDEzOUQxMjk1RDk2MTAwQUNBOTg5
IC8qIEpTSFRNTFN0eWxlRWxlbWVudEN1c3RvbS5jcHAgKi8sCisJCQkJRDZGNzk2MEMxNjZGRkVD
RTAwNzZERDE4IC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQzU4
NUE2NUMxMUQ0RkFCMjAwNEMzRTRCIC8qIEpTSURCQW55Q3VzdG9tLmNwcCAqLywKIAkJCQlDNTg1
QTY1RDExRDRGQUIyMDA0QzNFNEIgLyogSlNJREJLZXlDdXN0b20uY3BwICovLAogCQkJCUE3RDAz
MThEMEU5MzU0MDMwMEUyNEFDRCAvKiBKU0ltYWdlRGF0YUN1c3RvbS5jcHAgKi8sCkBAIC0yNTg3
Niw2ICsyNTg4Nyw4IEBACiAJCQkJOTNGNzJBRjMxNjY2RURGQzAwMkEwMkJEIC8qIExheWVyUG9v
bC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREVCQ0NERDIxNjY0NkU4MjAwQTQ1MkUxIC8qIFJlbmRl
ck1lZGlhQ29udHJvbEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlERUJDQ0RENDE2NjQ2
RUFGMDBBNDUyRTEgLyogTWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmggaW4gSGVhZGVycyAqLywK
KwkJCQlENjY4MTdGQjE2NkZFNkQ3MDBGQTA3QjQgLyogSFRNTFRlbXBsYXRlRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJRDY0ODlEMjYxNjZGRkNGMTAwN0MwMzFCIC8qIEpTSFRNTFRlbXBs
YXRlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yODk4Myw2ICsyODk5Niw5IEBACiAJCQkJ
ODZCQTc2NkUxNjY0MjdBODAwNUJFNUQxIC8qIEZyYW1lTG9hZFJlcXVlc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOTNGNzJBRjQxNjY2RURGQzAwMkEwMkJEIC8qIExheWVyUG9vbC5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUMzNzVEN0ZEMTY2Mzk1MTkwMDYxODRBQiAvKiBUeXBlQWhlYWQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJRDY2ODE3RkExNjZGRTZENzAwRkEwN0I0IC8qIEhUTUxUZW1w
bGF0ZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRDY0ODlEMjUxNjZGRkNGMTAwN0Mw
MzFCIC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlENkY3
OTYwRDE2NkZGRUNFMDA3NkREMTggLyogSlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcCBp
biBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNC
aW5kaW5nc0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGlu
Z3NBbGxJbk9uZS5jcHAKaW5kZXggMjJmZDRlNWEzNWE1Y2U3OGY4NzhjMTA3ODU0N2E4YWQ0ZmIy
ODM5Zi4uMDg4Njg4ODA1ZGFlMTlhNmM3M2I0Mjc5ZTdhMDkyN2Y0NzZkYjc3YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC0x
MDEsNiArMTAxLDcgQEAKICNpbmNsdWRlICJKU0hUTUxPdXRwdXRFbGVtZW50Q3VzdG9tLmNwcCIK
ICNpbmNsdWRlICJKU0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0hU
TUxTdHlsZUVsZW1lbnRDdXN0b20uY3BwIgorI2luY2x1ZGUgIkpTSFRNTFRlbXBsYXRlRWxlbWVu
dEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNIaXN0b3J5Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJK
U0ltYWdlQ29uc3RydWN0b3IuY3BwIgogI2luY2x1ZGUgIkpTSW1hZ2VEYXRhQ3VzdG9tLmNwcCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTFRlbXBsYXRlRWxl
bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxUZW1wbGF0
ZUVsZW1lbnRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmOWJlNzRlMmY0YTFiNWFiZTNjZWRlZWU3
MjU3MTU2NGY4NWQ3MGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKKworI2luY2x1
ZGUgIkpTSFRNTFRlbXBsYXRlRWxlbWVudC5oIgorCisjaW5jbHVkZSAiSFRNTFRlbXBsYXRlRWxl
bWVudC5oIgorI2luY2x1ZGUgIkpTRG9jdW1lbnRGcmFnbWVudC5oIgorI2luY2x1ZGUgPHJ1bnRp
bWUvSlNPYmplY3QuaD4KKyNpbmNsdWRlIDxydW50aW1lL1ByaXZhdGVOYW1lLmg+CisKK3VzaW5n
IG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSlNWYWx1ZSBKU0hUTUxU
ZW1wbGF0ZUVsZW1lbnQ6OmNvbnRlbnQoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIEpT
TG9ja0hvbGRlciBsb2NrKGV4ZWMpOworCisgICAgSFRNTFRlbXBsYXRlRWxlbWVudCogaW1wID0g
c3RhdGljX2Nhc3Q8SFRNTFRlbXBsYXRlRWxlbWVudCo+KGltcGwoKSk7CisgICAgRG9jdW1lbnRG
cmFnbWVudCogY29udGVudCA9IGltcC0+Y29udGVudCgpOworCisgICAgSlNET01XcmFwcGVyKiB3
cmFwcGVyID0gZ2V0Q2FjaGVkV3JhcHBlcihjdXJyZW50V29ybGQoZXhlYyksIGNvbnRlbnQpOwor
ICAgIGlmICh3cmFwcGVyKQorICAgICAgICByZXR1cm4gd3JhcHBlcjsKKworICAgIHdyYXBwZXIg
PSBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0KCksIERvY3VtZW50RnJhZ21l
bnQsIGNvbnRlbnQpOworICAgIFByaXZhdGVOYW1lIHByb3BlcnR5TmFtZTsKKyAgICBjb25zdF9j
YXN0PEpTSFRNTFRlbXBsYXRlRWxlbWVudCo+KHRoaXMpLT5wdXREaXJlY3QoZ2xvYmFsT2JqZWN0
KCktPmdsb2JhbERhdGEoKSwgcHJvcGVydHlOYW1lLCB3cmFwcGVyKTsKKyAgICByZXR1cm4gd3Jh
cHBlcjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFRF
TVBMQVRFX0VMRU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDVkOTE3MzU3Yjc0MGU3M2Y2M2EyMDAxNzkyMjE0Zjhj
NmZmODYxMTUuLmQ5OTQ2YTRjOGZkOTk4ZGY4ODNmZmJlYmJkNjY2NWNkNzlkMmFhYmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBt
CkBAIC0xMDIxLDEwICsxMDIxLDExIEBAIEVORAogICAgICMgU3BlY2lhbCBjYXNlIGZvciByZWFk
b25seSBvciBSZXBsYWNlYWJsZSBhdHRyaWJ1dGVzICh3aXRoIGEgZmV3IGV4Y2VwdGlvbnMpLiBU
aGlzIGF0dGVtcHRzIHRvIGVuc3VyZSB0aGF0IEpTIHdyYXBwZXJzIGRvbid0IGdldAogICAgICMg
Z2FyYmFnZS1jb2xsZWN0ZWQgcHJlbWF0dXJlbHkgd2hlbiB0aGVpciBsaWZldGltZSBpcyBzdHJv
bmdseSB0aWVkIHRvIHRoZWlyIG93bmVyLiBXZSBhY2NvbXBsaXNoIHRoaXMgYnkgaW5zZXJ0aW5n
IGEgcmVmZXJlbmNlIHRvCiAgICAgIyB0aGUgbmV3bHkgY3JlYXRlZCB3cmFwcGVyIGludG8gYW4g
aW50ZXJuYWwgZmllbGQgb2YgdGhlIGhvbGRlciBvYmplY3QuCi0gICAgaWYgKCEkY29kZUdlbmVy
YXRvci0+SXNTdWJUeXBlKCRpbnRlcmZhY2UsICJOb2RlIikgJiYgJGF0dHJOYW1lIG5lICJzZWxm
IiAmJiBJc1dyYXBwZXJUeXBlKCRyZXR1cm5UeXBlKSAmJiAoSXNSZWFkb25seSgkYXR0cmlidXRl
KSB8fCAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXBsYWNl
YWJsZSJ9IHx8ICRhdHRyTmFtZSBlcSAibG9jYXRpb24iKQotICAgICAgICAmJiAkcmV0dXJuVHlw
ZSBuZSAiRXZlbnRUYXJnZXQiICYmICRyZXR1cm5UeXBlIG5lICJTZXJpYWxpemVkU2NyaXB0VmFs
dWUiICYmICRyZXR1cm5UeXBlIG5lICJET01XaW5kb3ciIAotICAgICAgICAmJiAkcmV0dXJuVHlw
ZSBuZSAiTWVzc2FnZVBvcnRBcnJheSIKLSAgICAgICAgJiYgJHJldHVyblR5cGUgIX4gL1NWRy8g
JiYgJHJldHVyblR5cGUgIX4gL0hUTUwvICYmICFJc0RPTU5vZGVUeXBlKCRyZXR1cm5UeXBlKSkg
eworICAgIGlmICgoISRjb2RlR2VuZXJhdG9yLT5Jc1N1YlR5cGUoJGludGVyZmFjZSwgIk5vZGUi
KSAmJiAkYXR0ck5hbWUgbmUgInNlbGYiICYmIElzV3JhcHBlclR5cGUoJHJldHVyblR5cGUpICYm
IChJc1JlYWRvbmx5KCRhdHRyaWJ1dGUpIHx8ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IlJlcGxhY2VhYmxlIn0gfHwgJGF0dHJOYW1lIGVxICJsb2NhdGlvbiIp
CisgICAgICAgICAmJiAkcmV0dXJuVHlwZSBuZSAiRXZlbnRUYXJnZXQiICYmICRyZXR1cm5UeXBl
IG5lICJTZXJpYWxpemVkU2NyaXB0VmFsdWUiICYmICRyZXR1cm5UeXBlIG5lICJET01XaW5kb3ci
CisgICAgICAgICAmJiAkcmV0dXJuVHlwZSBuZSAiTWVzc2FnZVBvcnRBcnJheSIKKyAgICAgICAg
ICYmICRyZXR1cm5UeXBlICF+IC9TVkcvICYmICRyZXR1cm5UeXBlICF+IC9IVE1MLyAmJiAhSXNE
T01Ob2RlVHlwZSgkcmV0dXJuVHlwZSkpCisgICAgICAgIHx8ICRhdHRyaWJ1dGUtPnNpZ25hdHVy
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4Q2FjaGVBdHRyaWJ1dGVGb3JHQyJ9KSB7CiAKICAg
ICAgICAgbXkgJGFycmF5VHlwZSA9ICRjb2RlR2VuZXJhdG9yLT5HZXRBcnJheVR5cGUoJHJldHVy
blR5cGUpOwogICAgICAgICBpZiAoJGFycmF5VHlwZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKaW5kZXggYmE5MWM0MzRjZDEwMzRh
ZWNiZjFlNGQzM2I1MmMzZjQzYWYzYzE1Mi4uZTE4YjMxMWE3NTFkMTU1YjY4ZDVkZGQxM2FhMDYy
MmJhMTRhNjBlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9J
RExBdHRyaWJ1dGVzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lE
TEF0dHJpYnV0ZXMudHh0CkBAIC0xMDgsNiArMTA4LDcgQEAgVHJlYXRSZXR1cm5lZE51bGxTdHJp
bmdBcz1OdWxsfFVuZGVmaW5lZAogVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nCiBUeXBlZEFy
cmF5PSoKIFVSTAorVjhDYWNoZUF0dHJpYnV0ZUZvckdDCiBWOEN1c3RvbQogVjhDdXN0b21Db25z
dHJ1Y3RvcgogVjhDdXN0b21HZXR0ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGEyMjUzNmEwMjEx
ZmMwYjUzMjBjODc5ZTI5MDIzNTM2ZTlmMjY2MTEuLjAxOGU1NzhlY2U2ZTlmZmU4ODIxZjUxMmUy
OWM1MmFkZTdhNDFmMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNTQ2LDcgKzU0Niw3IEBAIHBy
aXZhdGU6CiAgICAgCiAgICAgLy8gY2xvbmVOb2RlIGlzIHByaXZhdGUgc28gdGhhdCBub24tdmly
dHVhbCBjbG9uZUVsZW1lbnRXaXRoQ2hpbGRyZW4gYW5kIGNsb25lRWxlbWVudFdpdGhvdXRDaGls
ZHJlbgogICAgIC8vIGFyZSB1c2VkIGluc3RlYWQuCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPE5v
ZGU+IGNsb25lTm9kZShib29sIGRlZXApOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxOb2RlPiBj
bG9uZU5vZGUoYm9vbCBkZWVwKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RWxl
bWVudD4gY2xvbmVFbGVtZW50V2l0aG91dEF0dHJpYnV0ZXNBbmRDaGlsZHJlbigpOwogCiAgICAg
UXVhbGlmaWVkTmFtZSBtX3RhZ05hbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxh
dGVFbGVtZW50LmNwcAppbmRleCBhZmQzMjllZmQ0ZWVhMzBjMmVlYjczOWVmOGQ4OTk1ZTVjOGM4
YzBjLi5lYTA3MTMyMjQ1M2MyNjJiNTQwMjlmY2Y5MmJmMmRlMGU2NWM1NDQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAKQEAgLTU3LDYgKzU3LDggQEAg
UGFzc1JlZlB0cjxIVE1MVGVtcGxhdGVFbGVtZW50PiBIVE1MVGVtcGxhdGVFbGVtZW50OjpjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxUZW1w
bGF0ZUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpKTsKIH0KIAorLy8gRklYTUU6IGh0dHBzOi8v
d3d3LnczLm9yZy9CdWdzL1B1YmxpYy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjcgKHByZXZlbnQgRE9N
IGhpZXJhcmNoeSBjeWNsZXMpLgorLy8gRklYTUU6IGh0dHBzOi8vd3d3LnczLm9yZy9CdWdzL1B1
YmxpYy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjkgKGV4dGVuZGVkIGFkb3B0Tm9kZSB0byBjb25zaWRl
ciB0ZW1wbGF0ZS5jb250ZW50KS4KIERvY3VtZW50RnJhZ21lbnQqIEhUTUxUZW1wbGF0ZUVsZW1l
bnQ6OmNvbnRlbnQoKSBjb25zdAogewogICAgIGlmICghbV9jb250ZW50KQpAQCAtNjUsMjQgKzY3
LDE1IEBAIERvY3VtZW50RnJhZ21lbnQqIEhUTUxUZW1wbGF0ZUVsZW1lbnQ6OmNvbnRlbnQoKSBj
b25zdAogICAgIHJldHVybiBtX2NvbnRlbnQuZ2V0KCk7CiB9CiAKLS8vIEZJWE1FOiBodHRwczov
L3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTIwMTI3IChwcmV2ZW50IERP
TSBoaWVyYXJjaHkgY3ljbGVzKS4KLS8vIEZJWE1FOiBodHRwczovL3d3dy53My5vcmcvQnVncy9Q
dWJsaWMvc2hvd19idWcuY2dpP2lkPTIwMTI5IChleHRlbmRlZCBhZG9wdE5vZGUgdG8gY29uc2lk
ZXIgdGVtcGxhdGUuY29udGVudCkuCi12b2lkIEhUTUxUZW1wbGF0ZUVsZW1lbnQ6OnNldENvbnRl
bnQoUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBwcnBDb250ZW50LCBFeGNlcHRpb25Db2Rl
JiBlYykKK1Bhc3NSZWZQdHI8Tm9kZT4gSFRNTFRlbXBsYXRlRWxlbWVudDo6Y2xvbmVOb2RlKGJv
b2wgZGVlcCkKIHsKLSAgICBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gY29udGVudCA9IHBycENv
bnRlbnQ7Ci0KLSAgICBpZiAoIWNvbnRlbnQgfHwgY29udGVudC0+aXNTaGFkb3dSb290KCkpIHsK
LSAgICAgICAgZWMgPSBUWVBFX01JU01BVENIX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIGlmIChtX2NvbnRlbnQuZ2V0KCkgPT0gY29udGVudC5nZXQoKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgaWYgKGNvbnRlbnQtPm93bmVyRG9jdW1lbnQoKSAhPSBvd25lckRvY3VtZW50
KCktPnRlbXBsYXRlQ29udGVudHNPd25lckRvY3VtZW50KCkpCi0gICAgICAgIG93bmVyRG9jdW1l
bnQoKS0+dGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKS0+YWRvcHROb2RlKGNvbnRlbnQs
IEFTU0VSVF9OT19FWENFUFRJT04pOworICAgIGlmICghZGVlcCkKKyAgICAgICAgcmV0dXJuIGNs
b25lRWxlbWVudFdpdGhvdXRDaGlsZHJlbigpOwogCi0gICAgbV9jb250ZW50ID0gY29udGVudDsK
KyAgICBSZWZQdHI8Tm9kZT4gY2xvbmUgPSBjbG9uZUVsZW1lbnRXaXRoQ2hpbGRyZW4oKTsKKyAg
ICBpZiAobV9jb250ZW50KQorICAgICAgICBjb250ZW50KCktPmNsb25lQ2hpbGROb2Rlcyh0b0hU
TUxUZW1wbGF0ZUVsZW1lbnQoY2xvbmUuZ2V0KCkpLT5jb250ZW50KCkpOworICAgIHJldHVybiBj
bG9uZS5yZWxlYXNlKCk7CiB9CiAKICNpZm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRlbXBsYXRlRWxlbWVudC5oCmluZGV4IDZlZjkxM2U0NGFiNmI4ZjY2MzU5ZWUwODk5ODcy
NWU3NDVlOTU5NjcuLmJjNGU1ODJmNzE3ZWNiYmViOTg3NjUyMWVhNTdkM2M3YjU1ZDUxYjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5oCkBAIC00NSw5ICs0NSw5
IEBAIHB1YmxpYzoKIAogICAgIERvY3VtZW50RnJhZ21lbnQqIGNvbnRlbnQoKSBjb25zdDsKIAot
ICAgIHZvaWQgc2V0Q29udGVudChQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+LCBFeGNlcHRp
b25Db2RlJik7Ci0KIHByaXZhdGU6CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPE5vZGU+IGNsb25l
Tm9kZShib29sIGRlZXApIE9WRVJSSURFOworCiAgICAgSFRNTFRlbXBsYXRlRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAogICAgIG11dGFibGUgUmVmUHRyPERvY3Vt
ZW50RnJhZ21lbnQ+IG1fY29udGVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRlbXBsYXRlRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0
ZUVsZW1lbnQuaWRsCmluZGV4IDdhNTgzNmQ5NzgxZmQ2YjNlNmZjNmU2MWZjN2Y1NGEwMGM3ZDAy
YmMuLmQ3ZGE5MjViZWE2YWVmMjBlNDMwMjc0NDEzYzgyYTE0NTZkYTlhNjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmlkbApAQCAtMzEsNiArMzEsNiBAQAog
WwogICAgIENvbmRpdGlvbmFsPVRFTVBMQVRFX0VMRU1FTlQKIF0gaW50ZXJmYWNlIEhUTUxUZW1w
bGF0ZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgYXR0cmlidXRlIERvY3VtZW50RnJhZ21l
bnQgY29udGVudCBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIFtKU0N1c3RvbSwg
VjhDYWNoZUF0dHJpYnV0ZUZvckdDXSByZWFkb25seSBhdHRyaWJ1dGUgRG9jdW1lbnRGcmFnbWVu
dCBjb250ZW50OwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDkxMzI4NmNlMThjOTBlMTM4MTI1ODU3MDhlYjhmMjA1
M2VkMzQ1ODUuLmI3MzQyNTYxZTk3NTU5ZWQ2MWFlMzkzNzBiNDk3ZGNiNDRjMjU0OTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMi0wNiAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBbSFRNTFRlbXBsYXRlRWxlbWVudF0gbWFrZSBjb250ZW50IHJlYWRv
bmx5IGFuZCBjbG9uZU5vZGUoZGVlcCkgY2xvbmUgY29udGVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0MTgxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KKworICAgICAgICAqIGZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQv
Y2xvbmVOb2RlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MVGVtcGxhdGVF
bGVtZW50L2Nsb25lTm9kZS5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVs
ZW1lbnQvY29udGVudFdyYXBwZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9jb250ZW50V3JhcHBlcnMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9vd25lckRvY3VtZW50LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9j
dW1lbnQuaHRtbDoKKwogMjAxMi0xMi0wNiAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9yYmxhbmNvQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9jbG9u
ZU5vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxl
bWVudC9jbG9uZU5vZGUtZXhwZWN0ZWQudHh0CmluZGV4IDhiYjYxY2Q4ZjU2MmYyYmIwNmZhMDdh
MTU3NGE1YWRkMzYxZTM1OTguLjQyY2QwMDNmMWVmMTZjYTU4YzRkMzI2M2UwM2NhOTkyZDY3YmYx
MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQv
Y2xvbmVOb2RlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVt
cGxhdGVFbGVtZW50L2Nsb25lTm9kZS1leHBlY3RlZC50eHQKQEAgLTQsNSArNCwxMCBAQCBPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFBBU1MgdGVtcGxhdGUuY29udGVudC5jaGlsZE5vZGVz
Lmxlbmd0aCBpcyAxCi1QQVNTIGNsb25lLmNvbnRlbnQuY2hpbGROb2Rlcy5sZW5ndGggaXMgMAor
UEFTUyBjbG9uZS5jb250ZW50LmNoaWxkTm9kZXMubGVuZ3RoIGlzIDEKK1BBU1MgY2xvbmUub3V0
ZXJIVE1MIGlzIHRlbXBsYXRlLm91dGVySFRNTAorUEFTUyBjbG9uZS5jb250ZW50LmZpcnN0Q2hp
bGQgaXMgbm90IHRlbXBsYXRlLmNvbnRlbnQuZmlyc3RDaGlsZAorUEFTUyBjbG9uZS5jb250ZW50
IGlzIG5vdCB0ZW1wbGF0ZS5jb250ZW50CitQQVNTIGNsb25lLmZpcnN0Q2hpbGQudGFnTmFtZSBp
cyAiRElWIgorUEFTUyBjbG9uZS5maXJzdENoaWxkIGlzIG5vdCBkaXYKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9jbG9uZU5vZGUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvY2xvbmVOb2RlLmh0bWwK
aW5kZXggZWRhNWY3NWVjZmVhMDNkYjk5ODFiOWFlZjg2NWViNGNlNGUxMzE1NS4uMGE4NzRiZGNk
MGEyZmJhNjM4YjE5YmY1NGMwOTg5ZmE0ODc4ODRkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9jbG9uZU5vZGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2Nsb25lTm9kZS5odG1sCkBAIC0xLDUg
KzEsNSBAQAogPCFET0NUWVBFIGh0bWw+Ci08dGVtcGxhdGUgaWQ9InRlbXBsYXRlIj5Db250ZW50
czwvdGVtcGxhdGU+Cis8dGVtcGxhdGUgaWQ9InRlbXBsYXRlIj48c3Bhbj5Db250ZW50czwvc3Bh
bj48L3RlbXBsYXRlPgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCkBAIC05LDggKzksMTUgQEAgaWYgKCF3aW5kb3cu
SFRNTFRlbXBsYXRlRWxlbWVudCkKICAgICB0ZXN0RmFpbGVkKCdUaGlzIHRlc3QgcmVxdWlyZXMg
RU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpJyk7CiAKIHZhciB0ZW1wbGF0ZSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0ZW1wbGF0ZScpOwordmFyIGRpdiA9IHRlbXBsYXRlLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTsKKwogc2hvdWxkQmUoJ3RlbXBsYXRlLmNv
bnRlbnQuY2hpbGROb2Rlcy5sZW5ndGgnLCAnMScpOwogdmFyIGNsb25lID0gdGVtcGxhdGUuY2xv
bmVOb2RlKHRydWUpOwotc2hvdWxkQmUoJ2Nsb25lLmNvbnRlbnQuY2hpbGROb2Rlcy5sZW5ndGgn
LCAnMCcpOworc2hvdWxkQmUoJ2Nsb25lLmNvbnRlbnQuY2hpbGROb2Rlcy5sZW5ndGgnLCAnMScp
Oworc2hvdWxkQmUoJ2Nsb25lLm91dGVySFRNTCcsICd0ZW1wbGF0ZS5vdXRlckhUTUwnKTsKK3No
b3VsZE5vdEJlKCdjbG9uZS5jb250ZW50LmZpcnN0Q2hpbGQnLCAndGVtcGxhdGUuY29udGVudC5m
aXJzdENoaWxkJyk7CitzaG91bGROb3RCZSgnY2xvbmUuY29udGVudCcsICd0ZW1wbGF0ZS5jb250
ZW50Jyk7CitzaG91bGRCZSgnY2xvbmUuZmlyc3RDaGlsZC50YWdOYW1lJywgJyJESVYiJyk7Citz
aG91bGROb3RCZSgnY2xvbmUuZmlyc3RDaGlsZCcsICdkaXYnKTsKIAogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2NvbnRlbnRX
cmFwcGVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVF
bGVtZW50L2NvbnRlbnRXcmFwcGVycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWIyMDZhYTc0
ZmM4NGQwNGE3YzU5ZTBlOTM4NzI1ODI0NWQwOTllMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvY29udGVudFdyYXBwZXJzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUZXN0IEhUTUxUZW1wbGF0ZUVsZW1lbnQgY29udGVu
dCBub2RlIHdyYXBwZXJzIGhhdmUgdGhlIGNvcnJlY3QgbGlmZXRpbWUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIHNwYW4udGFnTmFtZSBpcyAiU1BBTiIKK1BBU1Mgc3Bh
bi5leHBhbmRvIGlzICJwcmVzZW50IgorUEFTUyBzcGFuLnRhZ05hbWUgaXMgIlNQQU4iCitQQVNT
IHNwYW4uZXhwYW5kbyBpcyAicHJlc2VudCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MVGVtcGxhdGVFbGVtZW50L2NvbnRlbnRXcmFwcGVycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9jb250ZW50V3JhcHBlcnMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xODZhMzcwODIwOGJkYzM0NmJmZTA2YjYxMmJiY2ZkNjliZDdlMGY4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9jb250ZW50V3Jh
cHBlcnMuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0ZW1wbGF0ZSBp
ZD0idGVtcGxhdGUiPjxzcGFuPjwvc3Bhbj48L3RlbXBsYXRlPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oJ1Rlc3QgSFRNTFRlbXBsYXRlRWxlbWVudCBjb250ZW50IG5vZGUgd3JhcHBlcnMgaGF2
ZSB0aGUgY29ycmVjdCBsaWZldGltZS4nKTsKKworaWYgKCF3aW5kb3cuSFRNTFRlbXBsYXRlRWxl
bWVudCkKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRlc3QgcmVxdWlyZXMgRU5BQkxFKFRFTVBMQVRF
X1RBRyknKTsKKwordmFyIHRlbXBsYXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbXBs
YXRlJyk7Cit2YXIgc3BhbiA9IHRlbXBsYXRlLmNvbnRlbnQuZmlyc3RDaGlsZDsKK3Nob3VsZEJl
KCdzcGFuLnRhZ05hbWUnLCAnIlNQQU4iJyk7CisKK3NwYW4uZXhwYW5kbyA9ICdwcmVzZW50JzsK
K3Nob3VsZEJlKCdzcGFuLmV4cGFuZG8nLCAnInByZXNlbnQiJyk7CisKK3NwYW4gPSB1bmRlZmlu
ZWQ7CitnYygpOworc3BhbiA9IHRlbXBsYXRlLmNvbnRlbnQuZmlyc3RDaGlsZDsKK3Nob3VsZEJl
KCdzcGFuLnRhZ05hbWUnLCAnIlNQQU4iJyk7CitzaG91bGRCZSgnc3Bhbi5leHBhbmRvJywgJyJw
cmVzZW50IicpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9vd25lckRvY3VtZW50LWV4cGVjdGVk
LnR4dAppbmRleCBiNzAyYWVhZWUzOTBmODE2ZTZhNTFlOWNiMmVjMjE0MmMxNzY3Y2U2Li40MTg4
MGI2YWY3NzMwMzNhNjkwZDVjYWQ1NTFjNjNiMWVjZWIyN2VlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvb3duZXJE
b2N1bWVudC1leHBlY3RlZC50eHQKQEAgLTQsNiArNCw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFCiAKIAogUEFTUyB0ZW1wbGF0ZS5vd25lckRvY3VtZW50IGlzIGRvY3VtZW50CitQQVNTIHRl
bXBsYXRlLmNvbnRlbnQgaXMgY29udGVudAogUEFTUyB0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3Vt
ZW50IGluc3RhbmNlb2YgSFRNTERvY3VtZW50IGlzIHRydWUKIFBBU1MgZG9jdW1lbnQgaXMgbm90
IHRlbXBsYXRlQ29udGVudE93bmVyRG9jdW1lbnQKIFBBU1MgdGVtcGxhdGUuY29udGVudC5maXJz
dENoaWxkLm93bmVyRG9jdW1lbnQgaXMgdGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudApAQCAt
MTIsMTMgKzEzLDYgQEAgUEFTUyBpbm5lclRlbXBsYXRlLmNvbnRlbnQub3duZXJEb2N1bWVudCBp
cyB0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50CiBQQVNTIGlubmVyVGVtcGxhdGUub3duZXJE
b2N1bWVudCBpbnN0YW5jZW9mIEhUTUxEb2N1bWVudCBpcyB0cnVlCiBQQVNTIHRlbXBsYXRlMi5v
d25lckRvY3VtZW50IGlzIGRvY3VtZW50CiBQQVNTIHRlbXBsYXRlMi5jb250ZW50Lm93bmVyRG9j
dW1lbnQgaXMgdGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudAotUEFTUyBkZi5vd25lckRvY3Vt
ZW50IGlzIGRvY3VtZW50Ci1QQVNTIHNwYW4ub3duZXJEb2N1bWVudCBpcyBkb2N1bWVudAotUEFT
UyBkZi5vd25lckRvY3VtZW50IGlzIHRlbXBsYXRlQ29udGVudE93bmVyRG9jdW1lbnQKLVBBU1Mg
c3Bhbi5vd25lckRvY3VtZW50IGlzIHRlbXBsYXRlQ29udGVudE93bmVyRG9jdW1lbnQKLVBBU1Mg
dGVtcGxhdGUuY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBUeXBlTWlzbWF0Y2hFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNy4KLVBB
U1MgdGVtcGxhdGUuY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJ0ZXh0Iik7IHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogVHlwZU1pc21hdGNoRXJyb3I6IERPTSBFeGNlcHRpb24gMTcu
Ci1QQVNTIHRlbXBsYXRlLmNvbnRlbnQgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogVHlwZU1pc21hdGNoRXJyb3I6IERPTSBFeGNlcHRpb24gMTcuCiBQ
QVNTIHRlbXBsYXRlMy5vd25lckRvY3VtZW50IGlzIGRvY3VtZW50CiBQQVNTIHRlbXBsYXRlMy5j
b250ZW50Lm93bmVyRG9jdW1lbnQgaXMgdGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudAogUEFT
UyB0ZW1wbGF0ZTMuY29udGVudC5maXJzdENoaWxkLm93bmVyRG9jdW1lbnQgaXMgdGVtcGxhdGVD
b250ZW50T3duZXJEb2N1bWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TFRlbXBsYXRlRWxlbWVudC9vd25lckRvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQuaHRtbAppbmRleCBkNDUxOTJiMWZi
NDliY2I3NjM2N2JhNWQ1MTM5Y2Y1NDg2NWJjZGNhLi43YjgzMmJhNGU2ZWVjODE5MTFlYjJkYjY1
NGNlNDYxMjhjMzY3ZjdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVt
cGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQuaHRtbApAQCAtMTMsNiArMTMsMTEg
QEAgaWYgKCF3aW5kb3cuSFRNTFRlbXBsYXRlRWxlbWVudCkKIHZhciB0ZW1wbGF0ZSA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd0ZW1wbGF0ZScpOwogc2hvdWxkQmUoJ3RlbXBsYXRlLm93bmVy
RG9jdW1lbnQnLCAnZG9jdW1lbnQnKTsKIAordmFyIGNvbnRlbnQgPSB0ZW1wbGF0ZS5jb250ZW50
OwordmFyIGRmID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwordGVtcGxhdGUu
Y29udGVudCA9IGRmOworc2hvdWxkQmUoJ3RlbXBsYXRlLmNvbnRlbnQnLCAnY29udGVudCcpOwor
CiB2YXIgdGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudCA9IHRlbXBsYXRlLmNvbnRlbnQub3du
ZXJEb2N1bWVudDsKIHNob3VsZEJlVHJ1ZSgndGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudCBp
bnN0YW5jZW9mIEhUTUxEb2N1bWVudCcpOwogc2hvdWxkTm90QmUoJ2RvY3VtZW50JywgJ3RlbXBs
YXRlQ29udGVudE93bmVyRG9jdW1lbnQnKTsKQEAgLTI3LDIzICszMiw3IEBAIHZhciB0ZW1wbGF0
ZTIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVtcGxhdGUyJyk7CiBzaG91bGRCZSgndGVt
cGxhdGUyLm93bmVyRG9jdW1lbnQnLCAnZG9jdW1lbnQnKTsKIHNob3VsZEJlKCd0ZW1wbGF0ZTIu
Y29udGVudC5vd25lckRvY3VtZW50JywgJ3RlbXBsYXRlQ29udGVudE93bmVyRG9jdW1lbnQnKTsK
IAotdmFyIGRmID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwotdmFyIHNwYW4g
PSBkZi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJykpOwotc2hvdWxk
QmUoJ2RmLm93bmVyRG9jdW1lbnQnLCAnZG9jdW1lbnQnKTsKLXNob3VsZEJlKCdzcGFuLm93bmVy
RG9jdW1lbnQnLCAnZG9jdW1lbnQnKTsKLQotdGVtcGxhdGUuY29udGVudCA9IGRmOwotc2hvdWxk
QmUoJ2RmLm93bmVyRG9jdW1lbnQnLCAndGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudCcpOwot
c2hvdWxkQmUoJ3NwYW4ub3duZXJEb2N1bWVudCcsICd0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3Vt
ZW50Jyk7Ci0KLXNob3VsZFRocm93KCd0ZW1wbGF0ZS5jb250ZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic3BhbiIpOycpOwotc2hvdWxkVGhyb3coJ3RlbXBsYXRlLmNvbnRlbnQgPSBkb2N1
bWVudC5jcmVhdGVUZXh0Tm9kZSgidGV4dCIpOycpOwotaWYgKHdpbmRvdy5XZWJLaXRTaGFkb3dS
b290KSB7Ci0gICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAg
IHNob3VsZFRocm93KCd0ZW1wbGF0ZS5jb250ZW50ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2
KScpOwotfQotCi12YXIgdGVtcGxhdGUzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbXBs
YXRlMicpOwordmFyIHRlbXBsYXRlMyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZW1wbGF0
ZTMnKTsKIHNob3VsZEJlKCd0ZW1wbGF0ZTMub3duZXJEb2N1bWVudCcsICdkb2N1bWVudCcpOwog
c2hvdWxkQmUoJ3RlbXBsYXRlMy5jb250ZW50Lm93bmVyRG9jdW1lbnQnLCAndGVtcGxhdGVDb250
ZW50T3duZXJEb2N1bWVudCcpOwogc2hvdWxkQmUoJ3RlbXBsYXRlMy5jb250ZW50LmZpcnN0Q2hp
bGQub3duZXJEb2N1bWVudCcsICd0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50Jyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>