<?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>118300</bug_id>
          
          <creation_ts>2013-07-02 06:18:49 -0700</creation_ts>
          <short_desc>[CSS Regions] Improve implementation of elements in region being flowed to another flow thread</short_desc>
          <delta_ts>2013-07-03 02:07:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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>57312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Radu Stavila">stavila</reporter>
          <assigned_to name="Radu Stavila">stavila</assigned_to>
          <cc>abrhm</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>d-r</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>kadam</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mmaerean</cc>
    
    <cc>ossy</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>WebkitBugTracker</cc>
    
    <cc>zarvai</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>905385</commentid>
    <comment_count>0</comment_count>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-07-02 06:18:49 -0700</bug_when>
    <thetext>Improve https://bugs.webkit.org/show_bug.cgi?id=74144</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905497</commentid>
    <comment_count>1</comment_count>
      <attachid>205927</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-07-02 11:11:31 -0700</bug_when>
    <thetext>Created attachment 205927
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905498</commentid>
    <comment_count>2</comment_count>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-07-02 11:11:42 -0700</bug_when>
    <thetext>Ported from https://codereview.chromium.org/18080016/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905500</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-02 11:14:24 -0700</bug_when>
    <thetext>Attachment 205927 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast/regions/flow-body-in-html.html&apos;, u&apos;LayoutTests/fast/regions/region-content-flown-into-region-expected.html&apos;, u&apos;LayoutTests/fast/regions/region-content-flown-into-region.html&apos;, u&apos;LayoutTests/fast/regions/universal-selector-children-to-the-same-region.html&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/dom/Element.cpp&apos;, u&apos;Source/WebCore/dom/Element.h&apos;, u&apos;Source/WebCore/dom/ElementRareData.h&apos;, u&apos;Source/WebCore/dom/Node.cpp&apos;, u&apos;Source/WebCore/dom/Node.h&apos;, u&apos;Source/WebCore/dom/NodeRenderingContext.cpp&apos;, u&apos;Source/WebCore/dom/NodeRenderingContext.h&apos;, u&apos;Source/WebCore/dom/PseudoElement.h&apos;, u&apos;Source/WebCore/dom/Text.cpp&apos;, u&apos;Source/WebCore/dom/Text.h&apos;, u&apos;Source/WebCore/rendering/FlowThreadController.cpp&apos;, u&apos;Source/WebCore/rendering/FlowThreadController.h&apos;, u&apos;Source/WebCore/rendering/RenderObject.h&apos;, u&apos;Source/WebCore/rendering/RenderRegion.h&apos;, u&apos;Source/WebCore/svg/SVGElement.cpp&apos;, u&apos;Source/WebCore/svg/SVGElement.h&apos;]&quot; exit_code: 1
Source/WebCore/dom/NodeRenderingContext.cpp:251:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 20 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905505</commentid>
    <comment_count>4</comment_count>
      <attachid>205929</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-07-02 11:22:11 -0700</bug_when>
    <thetext>Created attachment 205929
Patch (fixed styling issue)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905507</commentid>
    <comment_count>5</comment_count>
      <attachid>205929</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-07-02 11:26:50 -0700</bug_when>
    <thetext>Comment on attachment 205929
Patch (fixed styling issue)

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905569</commentid>
    <comment_count>6</comment_count>
      <attachid>205929</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-02 13:44:11 -0700</bug_when>
    <thetext>Comment on attachment 205929
Patch (fixed styling issue)

Clearing flags on attachment: 205929

Committed r152320: &lt;http://trac.webkit.org/changeset/152320&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905570</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-02 13:44:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905705</commentid>
    <comment_count>8</comment_count>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-07-02 23:24:39 -0700</bug_when>
    <thetext>*** Bug 117637 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905737</commentid>
    <comment_count>9</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-07-03 01:23:10 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 205929 [details])
&gt; Clearing flags on attachment: 205929
&gt; 
&gt; Committed r152320: &lt;http://trac.webkit.org/changeset/152320&gt;

It broke the !ENABLE(CSS_REGIONS) builds, for example on the Qt minimal bot:

/ramdisk/qt-linux-release-minimal/build/WebKitBuild/Release/Source/WebCore//.obj/release-shared/dom/Element.o:(.data.rel.ro._ZTVN7WebCore7ElementE[vtable for WebCore::Element]+0x20c): undefined reference to `WebCore::Element::shouldMoveToFlowThread(WebCore::RenderStyle*) const&apos;
/ramdisk/qt-linux-release-minimal/build/WebKitBuild/Release/Source/WebCore//.obj/release-shared/dom/StyledElement.o:(.data.rel.ro._ZTVN7WebCore13StyledElementE[vtable for WebCore::StyledElement]+0x20c): undefined reference to `WebCore::Element::shouldMoveToFlowThread(WebCore::RenderStyle*) const&apos;
/ramdisk/qt-linux-release-minimal/build/WebKitBuild/Release/Source/WebCore//.obj/release-shared/html/FileInputType.o:(.data.rel.ro._ZTVN7WebCore19UploadButtonElementE[vtable for WebCore::UploadButtonElement]+0x20c): undefined reference to `WebCore::Element::shouldMoveToFlowThread(WebCore::RenderStyle*) const&apos;
/ramdisk/qt-linux-release-minimal/build/WebKitBuild/Release/Source/WebCore//.obj/release-shared/html/HTMLAnchorElement.o:(.data.rel.ro._ZTVN7WebCore17HTMLAnchorElementE[vtable for WebCore::HTMLAnchorElement]+0x20c): undefined reference to `WebCore::Element::shouldMoveToFlowThread(WebCore::RenderStyle*) const&apos;
/ramdisk/qt-linux-release-minimal/build/WebKitBuild/Release/Source/WebCore//.obj/release-shared/html/HTMLAppletElement.o:(.data.rel.ro._ZTVN7WebCore17HTMLAppletElementE[vtable for WebCore::HTMLAppletElement]+0x20c): undefined reference to `WebCore::Element::shouldMoveToFlowThread(WebCore::RenderStyle*) const&apos;
/ramdisk/qt-linux-release-minimal/build/WebKitBuild/Release/Source/WebCore//.obj/release-shared/html/HTMLAreaElement.o:(.data.rel.ro._ZTVN7WebCore15HTMLAreaElementE[vtable for WebCore::HTMLAreaElement]+0x20c): more undefined references to `WebCore::Element::shouldMoveToFlowThread(WebCore::RenderStyle*) const&apos; follow

The problem is that Element::shouldMoveToFlowThread(...) is defined inside
ENABLE(CSS_REGIONS) guard, but used outside the same guard. Could you fix
it, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905741</commentid>
    <comment_count>10</comment_count>
      <attachid>205979</attachid>
    <who name="Zoltan Arvai">zarvai</who>
    <bug_when>2013-07-03 01:33:51 -0700</bug_when>
    <thetext>Created attachment 205979
buildfix for !ENABLE(CSS_REGIONS) builds

Fix guards for !ENABLE(CSS_REGIONS) builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905742</commentid>
    <comment_count>11</comment_count>
      <attachid>205979</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-07-03 01:37:10 -0700</bug_when>
    <thetext>Comment on attachment 205979
buildfix for !ENABLE(CSS_REGIONS) builds

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

&gt; Source/WebCore/dom/NodeRenderingContext.cpp:210
&gt; +#if ENABLE(CSS_REGIONS)

I think the entire content of this method should be under guard. If !ENABLE(CSS_REGIONS) it should just return false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905743</commentid>
    <comment_count>12</comment_count>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-07-03 01:37:42 -0700</bug_when>
    <thetext>@Zoltan Thanks for fixing this, you were faster than me :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905752</commentid>
    <comment_count>13</comment_count>
      <attachid>205979</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-07-03 02:07:12 -0700</bug_when>
    <thetext>Comment on attachment 205979
buildfix for !ENABLE(CSS_REGIONS) builds

buildfix landed: Committed r152345</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205927</attachid>
            <date>2013-07-02 11:11:31 -0700</date>
            <delta_ts>2013-07-02 11:22:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>118300.patch</filename>
            <type>text/plain</type>
            <size>31079</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5Mzc3NzI1Li40YzU2OTI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDct
MDIgIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVn
aW9uc10gSW1wcm92ZSBpbXBsZW1lbnRhdGlvbiBvZiBlbGVtZW50cyBpbiByZWdpb24gYmVpbmcg
Zmxvd2VkIHRvIGFub3RoZXIgZmxvdyB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExODMwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9yZWdpb25zL2Zsb3ctYm9keS1pbi1odG1sLmh0
bWw6CisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVn
aW9uLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50
LWZsb3duLWludG8tcmVnaW9uLmh0bWw6CisgICAgICAgICogZmFzdC9yZWdpb25zL3VuaXZlcnNh
bC1zZWxlY3Rvci1jaGlsZHJlbi10by10aGUtc2FtZS1yZWdpb24uaHRtbDoKKwogMjAxMy0wNy0w
MiAgTWloYWkgVGljYSAgPG1pdGljYUBhZG9iZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBn
YXJkZW5pbmcuIFJlYmFzZWxpbmUgYmFja2dyb3VuZCBibGVuZCBtb2RlIGRlZmF1bHQgdGVzdCBy
ZXN1bHQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZmxvdy1ib2R5LWlu
LWh0bWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9mbG93LWJvZHktaW4taHRtbC5o
dG1sCmluZGV4IDQ3NTg0ZDkuLmM1NzJjMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9mbG93LWJvZHktaW4taHRtbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy9mbG93LWJvZHktaW4taHRtbC5odG1sCkBAIC0xLDEyICsxLDEyIEBACiA8aHRtbD4KICAg
PGhlYWQ+Ci0gICAgPHRpdGxlPjEwMzY4NSAtIFtDU1MgUmVnaW9uc10gVW5pdmVyc2FsIGNoaWxk
IHNlbGVjdG9yIG9uIHJlZ2lvbiBicmVha3MgdGhlIHJlbmRlcmluZyBvZiBpdHMgY29udGVudDwv
dGl0bGU+CisgICAgPHRpdGxlPjc0MTQ0IC0gW0NTUyBSZWdpb25zXSBFbGVtZW50cyBpbiBhIHJl
Z2lvbiBzaG91bGQgYmUgYXNzaWduYWJsZSB0byBhIG5hbWVkIGZsb3c8L3RpdGxlPgogICAgIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICBib2R5IHsKLSAgICAgIC13ZWJraXQtZmxvdy1p
bnRvOiBmb287CisgICAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmb287CiAgICAgICB9CiAgICAg
ICBodG1sIHsKLSAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogZm9vOworICAgICAgICAtd2Via2l0
LWZsb3ctZnJvbTogZm9vOwogICAgICAgfQogICAgIDwvc3R5bGU+CiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVnaW9uLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWNvbnRlbnQtZmxvd24taW50by1yZWdpb24tZXhwZWN0
ZWQuaHRtbAppbmRleCAzY2E2YWE2Li41NDY5M2Q3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvcmVnaW9uLWNvbnRlbnQtZmxvd24taW50by1yZWdpb24tZXhwZWN0ZWQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWNvbnRlbnQtZmxvd24taW50
by1yZWdpb24tZXhwZWN0ZWQuaHRtbApAQCAtMSwyMyArMSwzNSBAQAogPGh0bWw+CiAgICAgPGhl
YWQ+CiAgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ci0gICAgICAgICAgICBkaXYgewot
ICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFweDsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAg
IC5yZWdpb24gewotICAgICAgICAgICAgICAgIGJvcmRlcjpzb2xpZCAxcHggI2JiYjsKKyAgICAg
ICAgICAgICAgICBib3JkZXI6c29saWQgMXB4IHJlZDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIC5yZWRpcmVjdFJlZ2lvbiB7CisgICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHgg
Ymx1ZTsKKyAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OworICAgICAgICAgICAgICAg
IG1hcmdpbi1ib3R0b206IDEwcHg7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAucmVkaXJl
Y3RSZWdpb24yIHsKKyAgICAgICAgICAgICAgICBib3JkZXI6c29saWQgMXB4IGdyZWVuOwogICAg
ICAgICAgICAgfQogICAgICAgICA8L3N0eWxlPgogICAgIDwvaGVhZD4KICAgICA8Ym9keT4KLSAg
ICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIj48dGVtcGxhdGU+UEFTUyByMDogY29udGVudCB0aGF0
IGdvZXMgaW4gdGhlIHJlZ2lvbi48L3RlbXBsYXRlPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNz
PSJyZWdpb24iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPlBBU1MgcjA6IGNvbnRlbnQg
dGhhdCBnb2VzIGluIHRoZSByZWdpb24uPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZGly
ZWN0UmVnaW9uIj4KICAgICAgICAgICAgIDxkaXY+UEFTUyByMTogY29udGVudCBpbiB0aGUgcmVn
aW9uIHRoYXQgaGFzIGZsb3ctaW50by4gMS48L2Rpdj4KLSAgICAgICAgICAgIDxkaXY+UEFTUyBy
MTogKGVuY2xvc2VkIGluIGEgZGl2KSBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxv
dy1pbnRvLiAyLiA8Yj5QQVNTIHIxOiAoZW5jbG9zZWQgaW4gYSBkaXYpIGNvbnRlbnQgaW4gdGhl
IHJlZ2lvbiB0aGF0IGhhcyBmbG93LWludG8uIDMuPC9iPi48L2Rpdj4KLSAgICAgICAgICAgIDxk
aXY+UEFTUyByMTogKGVuY2xvc2VkIGluIGEgZGl2KSBjb250ZW50IGluIHRoZSByZWdpb24gdGhh
dCBoYXMgZmxvdy1pbnRvLiA0IC48L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+UEFTUyByMTogKGVu
Y2xvc2VkIGluIGEgZGl2KSBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxvdy1pbnRv
LiAyLiAKKyAgICAgICAgICAgICAgICA8Yj48YnIvPlBBU1MgcjE6IChiIGVuY2xvc2VkIGluIHRo
ZSBkaXYgYWJvdmUpIGNvbnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93LWludG8uIDMu
PC9iPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2PlBBU1MgcjE6IChlbmNs
b3NlZCBpbiBhIGRpdikgY29udGVudCBpbiB0aGUgcmVnaW9uIHRoYXQgaGFzIGZsb3ctaW50by4g
NC48L2Rpdj4KICAgICAgICAgICAgIDxkaXY+UEFTUyByMTogY29udGVudCBpbiB0aGUgcmVnaW9u
IHRoYXQgaGFzIGZsb3ctaW50by4gNS48L2Rpdj4KKyAgICAgICAgICAgIDxzdmcgY2xhc3M9InJl
ZGlyZWN0Q29udGVudCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9u
PSIxLjEiIGhlaWdodD0iNzAiPgorICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjAiIHk9IjE1Ij5Q
QVNTOiBTVkcgdGV4dDwvdGV4dD4KKyAgICAgICAgICAgICAgICA8dGV4dCB4PSIwIiB5PSIzMCI+
UEFTUzogU1ZHIHRleHQgcmVkaXJlY3RlZCB0byBhIGZsb3cgd2l0aG91dCByZWdpb25zLiBvbmx5
IHN2ZyByb290IGVsZW1lbnRzIGFyZSBkaXJlY3RseSBjb2xsZWN0ZWQgYnkgYSByZW5kZXIgZmxv
dyB0aHJlYWQuPC90ZXh0PgorICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjAiIHk9IjQ1Ij5QQVNT
OiBTVkcgdGV4dCByZWRpcmVjdGVkIHRvIGEgZmxvdyB3aXRoIHJlZ2lvbnMuIG9ubHkgc3ZnIHJv
b3QgZWxlbWVudHMgYXJlIGRpcmVjdGx5IGNvbGxlY3RlZCBieSBhIHJlbmRlciBmbG93IHRocmVh
ZC48L3RleHQ+CisgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxk
aXYgY2xhc3M9InJlZ2lvbiI+PHNwYW4+UEFTUyByMjogY29udGVudCB0aGF0IGlzIGFscmVhZHkg
aW4gYSBmbG93IGdvZXMgdG8gYW5vdGhlciBmbG93IC48L3NwYW4+PC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9InJlZGlyZWN0UmVnaW9uMiI+PHNwYW4+UEFTUyByMjogY29udGVudCB0aGF0IGlz
IGFscmVhZHkgaW4gYSBmbG93IGdvZXMgdG8gYW5vdGhlciBmbG93IC48L3NwYW4+PC9kaXY+CiAg
ICAgICAgIDxwPjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03NDE0NCI+QnVnIDc0MTQ0PC9hPiAtIFtDU1MgUmVnaW9uc10gRWxlbWVudHMgaW4gYSByZWdp
b24gc2hvdWxkIGJlIGFzc2lnbmFibGUgdG8gYSBuYW1lZCBmbG93PC9wPgogICAgIDwvYm9keT4K
IDwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWNvbnRlbnQtZmxvd24taW50by1yZWdpb24uaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tY29udGVudC1mbG93bi1pbnRvLXJlZ2lv
bi5odG1sCmluZGV4IDRhMzdkOGQuLjAyN2U3ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvcmVnaW9ucy9yZWdpb24tY29udGVudC1mbG93bi1pbnRvLXJlZ2lvbi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tY29udGVudC1mbG93bi1pbnRvLXJlZ2lvbi5o
dG1sCkBAIC0yLDE1ICsyLDEyIEBACiAgICAgPGhlYWQ+CiAgICAgICAgIDx0aXRsZT43NDE0NCAt
IFtDU1MgUmVnaW9uc10gRWxlbWVudHMgaW4gYSByZWdpb24gc2hvdWxkIGJlIGFzc2lnbmFibGUg
dG8gYSBuYW1lZCBmbG93PC90aXRsZT4KICAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
LSAgICAgICAgICAgIGRpdiB7Ci0gICAgICAgICAgICAgICAgcGFkZGluZzogMXB4OwotICAgICAg
ICAgICAgfQogICAgICAgICAgICAgLmNvbnRlbnQgewogICAgICAgICAgICAgICAgIC13ZWJraXQt
Zmxvdy1pbnRvOiBmbG93OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgLnJlZ2lvbiB7CiAg
ICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7Ci0gICAgICAgICAgICAgICAg
Ym9yZGVyOnNvbGlkIDFweCAjYmJiOworICAgICAgICAgICAgICAgIGJvcmRlcjpzb2xpZCAxcHgg
cmVkOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAucmVkaXJlY3RDb250ZW50IHsKQEAg
LTE4LDcgKzE1LDkgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC5yZWRpcmVjdFJlZ2lv
biB7CiAgICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93LWZyb206IHJlZGlyZWN0RmxvdzsKLSAg
ICAgICAgICAgICAgICBib3JkZXI6c29saWQgMXB4ICNiYmI7CisgICAgICAgICAgICAgICAgYm9y
ZGVyOnNvbGlkIDFweCBibHVlOworICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7Cisg
ICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgLnJlZGlyZWN0Q29udGVudDIgewpAQCAtMjYsMTcgKzI1LDIxIEBACiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAucmVkaXJlY3RSZWdpb24yIHsKICAgICAgICAgICAgICAgICAt
d2Via2l0LWZsb3ctZnJvbTogcmVkaXJlY3RGbG93MjsKLSAgICAgICAgICAgICAgICBib3JkZXI6
c29saWQgMXB4ICNiYmI7CisgICAgICAgICAgICAgICAgYm9yZGVyOnNvbGlkIDFweCBncmVlbjsK
ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLnJlZGlyZWN0Q29udGVudFRvTm93aGVyZSB7
CiAgICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93LWludG86IHJlZGlyZWN0VG9Ob3doZXJlOwog
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAuZGlzcGxheU5vbmUgeworICAgICAgICAgICAg
ICAgIGRpc3BsYXk6IG5vbmU7CisgICAgICAgICAgICB9CiAgICAgICAgIDwvc3R5bGU+Ci0gICAg
ICAgIDx0ZW1wbGF0ZSBjbGFzcz0iY29udGVudCI+UEFTUyByMDogY29udGVudCB0aGF0IGdvZXMg
aW4gdGhlIHJlZ2lvbi48L3RlbXBsYXRlPgogICAgIDwvaGVhZD4KIAogICAgIDxib2R5PgorICAg
ICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij5QQVNTIHIwOiBjb250ZW50IHRoYXQgZ29lcyBpbiB0
aGUgcmVnaW9uLjwvZGl2PgogICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPgogICAgICAgICAg
ICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgMS4KIApAQCAtNTEsNyArNTQsNyBA
QAogCiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVkaXJlY3RDb250ZW50Ij5QQVNTIHIx
OiAoZW5jbG9zZWQgaW4gYSBkaXYpIGNvbnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93
LWludG8uIDIuCiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0Q29udGVu
dFRvTm93aGVyZSI+RkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgKHJlZGlyZWN0ZWQg
dG8gbm93aGVyZSkgMi48L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgPGI+UEFTUyByMTogKGVu
Y2xvc2VkIGluIGEgZGl2KSBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxvdy1pbnRv
LiAzLjwvYj4uCisgICAgICAgICAgICAgICAgICAgIDxiPjxici8+UEFTUyByMTogKGIgZW5jbG9z
ZWQgaW4gdGhlIGRpdiBhYm92ZSkgY29udGVudCBpbiB0aGUgcmVnaW9uIHRoYXQgaGFzIGZsb3ct
aW50by4gMy48L2I+CiAgICAgICAgICAgICAgICAgPC9kaXY+CiAKICAgICAgICAgICAgICAgICBG
QUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSA0LgpAQCAtNjAsMTEgKzYzLDEwIEBACiAg
ICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxkIG5vdCBi
ZSB2aXNpYmxlIDUuCiAKLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWRpcmVjdENvbnRl
bnQiPlBBU1MgcjE6IChlbmNsb3NlZCBpbiBhIGRpdikgY29udGVudCBpbiB0aGUgcmVnaW9uIHRo
YXQgaGFzIGZsb3ctaW50by4gNAorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0
Q29udGVudCI+UEFTUyByMTogKGVuY2xvc2VkIGluIGEgZGl2KSBjb250ZW50IGluIHRoZSByZWdp
b24gdGhhdCBoYXMgZmxvdy1pbnRvLiA0LgogICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0icmVkaXJlY3RDb250ZW50MiI+UEFTUyByMjogY29udGVudCB0aGF0IGlzIGFscmVhZHkgaW4g
YSBmbG93IGdvZXMgdG8gYW5vdGhlciBmbG93CiAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0icmVkaXJlY3RDb250ZW50VG9Ob3doZXJlIj5GQUlMOiB0aGlzIHNob3VsZCBub3Qg
YmUgdmlzaWJsZSAocmVkaXJlY3RlZCB0byBub3doZXJlKSAzLjwvc3Bhbj4uCiAgICAgICAgICAg
ICAgICAgICAgIDwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgLgogICAgICAgICAgICAgICAg
IDwvZGl2PgogCiAgICAgICAgICAgICAgICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2li
bGUgNy4KQEAgLTc3LDE0ICs3OSwzNyBAQAogICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVkaXJl
Y3RDb250ZW50Ij5QQVNTIHIxOiBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxvdy1p
bnRvLiA1LjwvZGl2PgogCiAgICAgICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlz
aWJsZSA5LgorCisgICAgICAgICAgICA8ZGl2PgorICAgICAgICAgICAgICAgIEZBSUw6IHRoaXMg
c2hvdWxkIG5vdCBiZSB2aXNpYmxlIDEwLgorCisgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0i
cmVkaXJlY3RDb250ZW50IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNp
b249IjEuMSIgaGVpZ2h0PSI3MCI+CisgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjAiIHk9
IjE1Ij5QQVNTOiBTVkcgdGV4dDwvdGV4dD4KKyAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0i
MCIgeT0iMzAiIGNsYXNzPSJyZWRpcmVjdENvbnRlbnRUb05vd2hlcmUiPlBBU1M6IFNWRyB0ZXh0
IHJlZGlyZWN0ZWQgdG8gYSBmbG93IHdpdGhvdXQgcmVnaW9ucy4gb25seSBzdmcgcm9vdCBlbGVt
ZW50cyBhcmUgZGlyZWN0bHkgY29sbGVjdGVkIGJ5IGEgcmVuZGVyIGZsb3cgdGhyZWFkLjwvdGV4
dD4KKyAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0iMCIgeT0iNDUiIGNsYXNzPSJyZWRpcmVj
dENvbnRlbnQyIj5QQVNTOiBTVkcgdGV4dCByZWRpcmVjdGVkIHRvIGEgZmxvdyB3aXRoIHJlZ2lv
bnMuIG9ubHkgc3ZnIHJvb3QgZWxlbWVudHMgYXJlIGRpcmVjdGx5IGNvbGxlY3RlZCBieSBhIHJl
bmRlciBmbG93IHRocmVhZC48L3RleHQ+CisgICAgICAgICAgICAgICAgPC9zdmc+CisKKyAgICAg
ICAgICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSAxMS4KKyAgICAgICAg
ICAgIDwvZGl2PgorCisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNwbGF5Tm9uZSI+CisgICAg
ICAgICAgICAgICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgMTIuCisKKyAgICAg
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWRpcmVjdENvbnRlbnQiPkZBSUwgcjE6IChlbmNsb3Nl
ZCBpbiBhIGRpdikgY29udGVudCBpbiB0aGUgcmVnaW9uIHRoYXQgaGFzIGZsb3ctaW50byBidXQg
ZGlzcGxheTpub25lCisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0Q29u
dGVudFRvTm93aGVyZSI+RkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgKHJlZGlyZWN0
ZWQgdG8gbm93aGVyZSBBTkQgZGlzcGxheTpub25lKTwvZGl2PgorICAgICAgICAgICAgICAgICAg
ICA8Yj48YnIvPkZBSUwgcjE6IChiIGVuY2xvc2VkIGluIHRoZSBkaXYgYWJvdmUpIGNvbnRlbnQg
aW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93LWludG8gYnV0IGRpc3BsYXk6bm9uZTwvYj4KKyAg
ICAgICAgICAgICAgICA8L2Rpdj4KKworICAgICAgICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxk
IG5vdCBiZSB2aXNpYmxlIDEzLgorICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgIDwvZGl2Pgog
CiAgICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0UmVnaW9uIj4KLSAgICAgICAgICAgIEZBSUw6
IHRoaXMgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIDEwLgorICAgICAgICAgICAgRkFJTDogdGhpcyBz
aG91bGQgbm90IGJlIHZpc2libGUgMTQuCiAgICAgICAgIDwvZGl2PgogCiAgICAgICAgIDxkaXYg
Y2xhc3M9InJlZGlyZWN0UmVnaW9uMiI+Ci0gICAgICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBu
b3QgYmUgdmlzaWJsZSAxMS4KKyAgICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxkIG5vdCBiZSB2
aXNpYmxlIDE1LgogICAgICAgICA8L2Rpdj4KIAogICAgICAgICA8cD48YSBocmVmPSJodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDQiPkJ1ZyA3NDE0NDwvYT4gLSBb
Q1NTIFJlZ2lvbnNdIEVsZW1lbnRzIGluIGEgcmVnaW9uIHNob3VsZCBiZSBhc3NpZ25hYmxlIHRv
IGEgbmFtZWQgZmxvdzwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy91
bml2ZXJzYWwtc2VsZWN0b3ItY2hpbGRyZW4tdG8tdGhlLXNhbWUtcmVnaW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlZ2lvbnMvdW5pdmVyc2FsLXNlbGVjdG9yLWNoaWxkcmVuLXRvLXRoZS1z
YW1lLXJlZ2lvbi5odG1sCmluZGV4IGY4YzE2MWYuLjI4YzM3NGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvcmVnaW9ucy91bml2ZXJzYWwtc2VsZWN0b3ItY2hpbGRyZW4tdG8tdGhlLXNh
bWUtcmVnaW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3VuaXZlcnNhbC1z
ZWxlY3Rvci1jaGlsZHJlbi10by10aGUtc2FtZS1yZWdpb24uaHRtbApAQCAtMywxMCArMywxMCBA
QAogICAgIDx0aXRsZT4xMDM2ODUgLSBbQ1NTIFJlZ2lvbnNdIFVuaXZlcnNhbCBjaGlsZCBzZWxl
Y3RvciBvbiByZWdpb24gYnJlYWtzIHRoZSByZW5kZXJpbmcgb2YgaXRzIGNvbnRlbnQ8L3RpdGxl
PgogICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAucmVnaW9uID4gKiB7Ci0gICAg
ICAtd2Via2l0LWZsb3ctaW50bzogZm9vOworICAgICAgICAtd2Via2l0LWZsb3ctaW50bzogZm9v
OwogICAgICAgfQogICAgICAgLnJlZ2lvbiB7Ci0gICAgICAgLXdlYmtpdC1mbG93LWZyb206IGZv
bzsKKyAgICAgICAgLXdlYmtpdC1mbG93LWZyb206IGZvbzsKICAgICAgIH0KICAgICA8L3N0eWxl
PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmZTkw
NDAzLi41ZThkMGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDkgQEAKIDIwMTMtMDctMDIgIFJh
ZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgogCisgICAgICAgIFtDU1MgUmVnaW9uc10g
SW1wcm92ZSBpbXBsZW1lbnRhdGlvbiBvZiBlbGVtZW50cyBpbiByZWdpb24gYmVpbmcgZmxvd2Vk
IHRvIGFub3RoZXIgZmxvdyB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExODMwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE1ldGhvZHMgdGhhdCBtdXN0IGJlIGNvbnN0IGhhdmUgYmVlbiB0dXJu
ZWQgYmFjayBpbnRvIGNvbnN0LiBDb2RlIGhhcyBiZWVuIGJldHRlciBvcmdhbml6ZWQuIAorICAg
ICAgICBQZXJmb3JtYW5jZSBpcyBiZXR0ZXIuIFRlc3RzIGhhdmUgYmVlbiBhZGRlZCB0by4KKwor
ICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmRl
dGFjaCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRJc0luc2lkZVJlZ2lvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojppc0luc2lkZVJlZ2lvbik6CisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50OjpzaG91bGRNb3ZlVG9GbG93VGhyZWFkKToKKyAgICAgICAgKiBkb20vRWxl
bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnRSYXJlRGF0YTo6aXNJbnNpZGVSZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudFJhcmVEYXRhOjpzZXRJc0luc2lkZVJlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50UmFyZURhdGE6OkVsZW1lbnRSYXJlRGF0YSk6CisgICAgICAgICogZG9tL05vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6aXNSZWdpc3RlcmVkV2l0aE5hbWVkRmxvdyk6Cisg
ICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBkb20vTm9kZVJlbmRlcmluZ0NvbnRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRlcmluZ0NvbnRleHQ6OnBhcmVudFJlbmRl
cmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSZW5kZXJpbmdDb250ZXh0OjpzaG91bGRDcmVh
dGVSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmVuZGVyaW5nQ29udGV4dDo6ZWxl
bWVudEluc2lkZVJlZ2lvbk5lZWRzUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJl
bmRlcmluZ0NvbnRleHQ6Om1vdmVUb0Zsb3dUaHJlYWRJZk5lZWRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpOb2RlUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlUmVuZGVyZXJGb3JFbGVtZW50SWZOZWVk
ZWQpOgorICAgICAgICAqIGRvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAqIGRv
bS9Qc2V1ZG9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL1RleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dDo6dGV4dFJlbmRlcmVySXNOZWVkZWQpOgorICAgICAgICAqIGRvbS9UZXh0Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZsb3dUaHJlYWRDb250cm9sbGVyOjp1bnJlZ2lzdGVyTmFtZWRGbG93Q29udGVu
dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6Rmxvd1RocmVhZENvbnRyb2xsZXI6OmlzQ29udGVu
dE5vZGVSZWdpc3RlcmVkV2l0aEFueU5hbWVkRmxvdyk6CisgICAgICAgICogcmVuZGVyaW5nL0Zs
b3dUaHJlYWRDb250cm9sbGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZWdpb24uaDoKKyAgICAgICAgKiBzdmcvU1ZH
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzaG91bGRNb3ZlVG9G
bG93VGhyZWFkKToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5oOgorCisyMDEzLTA3LTAyICBS
YWR1IFN0YXZpbGEgIDxzdGF2aWxhQGFkb2JlLmNvbT4KKwogICAgICAgICBbQ1NTUmVnaW9uc10g
Tm8gb3RoZXIgU1ZHIGVsZW1lbnRzIGV4Y2VwdCB0aGUgU1ZHUm9vdCBtdXN0IGhhdmUgUmVnaW9u
SW5mbyBvYmplY3RzIGF0dGFjaGVkCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTgyOTUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGQwMWVmN2Qu
LjEyOWIyOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE0NzYsNiArMTQ3Niw3IEBAIHZv
aWQgRWxlbWVudDo6ZGV0YWNoKGNvbnN0IEF0dGFjaENvbnRleHQmIGNvbnRleHQpCiAgICAgICAg
IGRhdGEtPnNldElzSW5DYW52YXNTdWJ0cmVlKGZhbHNlKTsKICAgICAgICAgZGF0YS0+cmVzZXRD
b21wdXRlZFN0eWxlKCk7CiAgICAgICAgIGRhdGEtPnJlc2V0RHluYW1pY1Jlc3R5bGVPYnNlcnZh
dGlvbnMoKTsKKyAgICAgICAgZGF0YS0+c2V0SXNJbnNpZGVSZWdpb24oZmFsc2UpOwogICAgIH0K
IAogICAgIGlmIChFbGVtZW50U2hhZG93KiBzaGFkb3cgPSB0aGlzLT5zaGFkb3coKSkKQEAgLTI0
MTksNiArMjQyMCwxOSBAQCBib29sIEVsZW1lbnQ6OmlzSW5DYW52YXNTdWJ0cmVlKCkgY29uc3QK
ICAgICByZXR1cm4gaGFzUmFyZURhdGEoKSAmJiBlbGVtZW50UmFyZURhdGEoKS0+aXNJbkNhbnZh
c1N1YnRyZWUoKTsKIH0KIAordm9pZCBFbGVtZW50OjpzZXRJc0luc2lkZVJlZ2lvbihib29sIHZh
bHVlKQoreworICAgIGlmICh2YWx1ZSA9PSBpc0luc2lkZVJlZ2lvbigpKQorICAgICAgICByZXR1
cm47CisKKyAgICBlbnN1cmVFbGVtZW50UmFyZURhdGEoKS0+c2V0SXNJbnNpZGVSZWdpb24odmFs
dWUpOworfQorCitib29sIEVsZW1lbnQ6OmlzSW5zaWRlUmVnaW9uKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0YSgpLT5pc0luc2lkZVJlZ2lvbigp
IDogZmFsc2U7Cit9CisKIHZvaWQgRWxlbWVudDo6c2V0UmVnaW9uT3ZlcnNldFN0YXRlKFJlZ2lv
bk92ZXJzZXRTdGF0ZSBzdGF0ZSkKIHsKICAgICBlbnN1cmVFbGVtZW50UmFyZURhdGEoKS0+c2V0
UmVnaW9uT3ZlcnNldFN0YXRlKHN0YXRlKTsKQEAgLTI3NzYsMzQgKzI3OTAsMjYgQEAgUmVuZGVy
UmVnaW9uKiBFbGVtZW50OjpyZW5kZXJSZWdpb24oKSBjb25zdAogICAgIHJldHVybiAwOwogfQog
Ci1ib29sIEVsZW1lbnQ6Om1vdmVUb0Zsb3dUaHJlYWRJc05lZWRlZChSZWZQdHI8UmVuZGVyU3R5
bGU+JiBjYWNoZWRTdHlsZSkKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisKK2Jvb2wgRWxlbWVu
dDo6c2hvdWxkTW92ZVRvRmxvd1RocmVhZChSZW5kZXJTdHlsZSogc3R5bGVUb1VzZSkgY29uc3QK
IHsKLSAgICBEb2N1bWVudCogZG9jID0gZG9jdW1lbnQoKTsKLSAgICAKLSAgICBpZiAoIWRvYy0+
Y3NzUmVnaW9uc0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIEFTU0VSVChz
dHlsZVRvVXNlKTsKIAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLSAgICBpZiAoZG9jLT53
ZWJraXRJc0Z1bGxTY3JlZW4oKSAmJiBkb2MtPndlYmtpdEN1cnJlbnRGdWxsU2NyZWVuRWxlbWVu
dCgpID09IHRoaXMpCisgICAgaWYgKGRvY3VtZW50KCktPndlYmtpdElzRnVsbFNjcmVlbigpICYm
IGRvY3VtZW50KCktPndlYmtpdEN1cnJlbnRGdWxsU2NyZWVuRWxlbWVudCgpID09IHRoaXMpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogCiAgICAgaWYgKGlzSW5TaGFkb3dUcmVlKCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICghY2FjaGVkU3R5bGUpCi0gICAgICAg
IGNhY2hlZFN0eWxlID0gc3R5bGVGb3JSZW5kZXJlcigpOwotICAgIGlmICghY2FjaGVkU3R5bGUp
CisgICAgaWYgKHN0eWxlVG9Vc2UtPmZsb3dUaHJlYWQoKS5pc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIGlmIChjYWNoZWRTdHlsZS0+Zmxvd1RocmVhZCgpLmlzRW1wdHko
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuICFkb2N1bWVudCgpLT5yZW5k
ZXJWaWV3KCktPmZsb3dUaHJlYWRDb250cm9sbGVyKCktPmlzQ29udGVudE5vZGVSZWdpc3RlcmVk
V2l0aEFueU5hbWVkRmxvdyh0aGlzKTsKKyAgICByZXR1cm4gIWlzUmVnaXN0ZXJlZFdpdGhOYW1l
ZEZsb3coKTsKIH0KIAotI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKLQogY29uc3QgQXRvbWljU3Ry
aW5nJiBFbGVtZW50Ojp3ZWJraXRSZWdpb25PdmVyc2V0KCkgY29uc3QKIHsKICAgICBkb2N1bWVu
dCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5oCmluZGV4IGIwNzA0NTAuLjY3NWJkNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNDc5LDYg
KzQ3OSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzSW5DYW52YXNTdWJ0cmVlKGJvb2wpOwog
ICAgIGJvb2wgaXNJbkNhbnZhc1N1YnRyZWUoKSBjb25zdDsKIAorICAgIHZvaWQgc2V0SXNJbnNp
ZGVSZWdpb24oYm9vbCk7CisgICAgYm9vbCBpc0luc2lkZVJlZ2lvbigpIGNvbnN0OworCiAgICAg
dm9pZCBzZXRSZWdpb25PdmVyc2V0U3RhdGUoUmVnaW9uT3ZlcnNldFN0YXRlKTsKICAgICBSZWdp
b25PdmVyc2V0U3RhdGUgcmVnaW9uT3ZlcnNldFN0YXRlKCkgY29uc3Q7CiAKQEAgLTYzMiw3ICs2
MzUsOCBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGVGb3JSZW5k
ZXJlcigpOwogCiAgICAgUmVuZGVyUmVnaW9uKiByZW5kZXJSZWdpb24oKSBjb25zdDsKLSAgICB2
aXJ0dWFsIGJvb2wgbW92ZVRvRmxvd1RocmVhZElzTmVlZGVkKFJlZlB0cjxSZW5kZXJTdHlsZT4m
IGNhY2hlZFN0eWxlKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTW92ZVRvRmxvd1RocmVhZChS
ZW5kZXJTdHlsZSopIGNvbnN0OworICAgIAogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICBj
b25zdCBBdG9taWNTdHJpbmcmIHdlYmtpdFJlZ2lvbk92ZXJzZXQoKSBjb25zdDsKICAgICBWZWN0
b3I8UmVmUHRyPFJhbmdlPiA+IHdlYmtpdEdldFJlZ2lvbkZsb3dSYW5nZXMoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRleCA5YzU4YTJkLi5mYjk2YTk1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBAIC02MCw2ICs2MCw5IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzSW5DYW52YXNTdWJ0cmVlKCkgY29uc3QgeyByZXR1cm4gbV9pc0luQ2FudmFz
U3VidHJlZTsgfQogICAgIHZvaWQgc2V0SXNJbkNhbnZhc1N1YnRyZWUoYm9vbCB2YWx1ZSkgeyBt
X2lzSW5DYW52YXNTdWJ0cmVlID0gdmFsdWU7IH0KIAorICAgIGJvb2wgaXNJbnNpZGVSZWdpb24o
KSBjb25zdCB7IHJldHVybiBtX2lzSW5zaWRlUmVnaW9uOyB9CisgICAgdm9pZCBzZXRJc0luc2lk
ZVJlZ2lvbihib29sIHZhbHVlKSB7IG1faXNJbnNpZGVSZWdpb24gPSB2YWx1ZTsgfQorCiAgICAg
UmVnaW9uT3ZlcnNldFN0YXRlIHJlZ2lvbk92ZXJzZXRTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVnaW9uT3ZlcnNldFN0YXRlOyB9CiAgICAgdm9pZCBzZXRSZWdpb25PdmVyc2V0U3RhdGUoUmVn
aW9uT3ZlcnNldFN0YXRlIHN0YXRlKSB7IG1fcmVnaW9uT3ZlcnNldFN0YXRlID0gc3RhdGU7IH0K
IApAQCAtMTU5LDYgKzE2Miw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jaGlsZHJlbkFm
ZmVjdGVkQnlGb3J3YXJkUG9zaXRpb25hbFJ1bGVzIDogMTsKICAgICB1bnNpZ25lZCBtX2NoaWxk
cmVuQWZmZWN0ZWRCeUJhY2t3YXJkUG9zaXRpb25hbFJ1bGVzIDogMTsKIAorICAgIHVuc2lnbmVk
IG1faXNJbnNpZGVSZWdpb24gOiAxOwogICAgIFJlZ2lvbk92ZXJzZXRTdGF0ZSBtX3JlZ2lvbk92
ZXJzZXRTdGF0ZTsKIAogICAgIExheW91dFNpemUgbV9taW5pbXVtU2l6ZUZvclJlc2l6aW5nOwpA
QCAtMjA3LDYgKzIxMSw3IEBAIGlubGluZSBFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRSYXJlRGF0
YShSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogICAgICwgbV9jaGlsZHJlbkFmZmVjdGVkQnlEaXJl
Y3RBZGphY2VudFJ1bGVzKGZhbHNlKQogICAgICwgbV9jaGlsZHJlbkFmZmVjdGVkQnlGb3J3YXJk
UG9zaXRpb25hbFJ1bGVzKGZhbHNlKQogICAgICwgbV9jaGlsZHJlbkFmZmVjdGVkQnlCYWNrd2Fy
ZFBvc2l0aW9uYWxSdWxlcyhmYWxzZSkKKyAgICAsIG1faXNJbnNpZGVSZWdpb24oZmFsc2UpCiAg
ICAgLCBtX3JlZ2lvbk92ZXJzZXRTdGF0ZShSZWdpb25VbmRlZmluZWQpCiAgICAgLCBtX21pbmlt
dW1TaXplRm9yUmVzaXppbmcoZGVmYXVsdE1pbmltdW1TaXplRm9yUmVzaXppbmcoKSkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmNwcAppbmRleCA1M2UxYmJkLi5iNGY5OWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC02
MCw2ICs2MCw3IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGUuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIKKyNpbmNsdWRl
ICJGbG93VGhyZWFkQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAi
RnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKQEAgLTExMjMsNiArMTEyNCwx
MSBAQCBib29sIE5vZGU6OmNhblN0YXJ0U2VsZWN0aW9uKCkgY29uc3QKICAgICByZXR1cm4gcGFy
ZW50T3JTaGFkb3dIb3N0Tm9kZSgpID8gcGFyZW50T3JTaGFkb3dIb3N0Tm9kZSgpLT5jYW5TdGFy
dFNlbGVjdGlvbigpIDogdHJ1ZTsKIH0KIAorYm9vbCBOb2RlOjppc1JlZ2lzdGVyZWRXaXRoTmFt
ZWRGbG93KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZG9jdW1lbnQoKS0+cmVuZGVyVmlldygpLT5m
bG93VGhyZWFkQ29udHJvbGxlcigpLT5pc0NvbnRlbnROb2RlUmVnaXN0ZXJlZFdpdGhBbnlOYW1l
ZEZsb3codGhpcyk7Cit9CisKIEVsZW1lbnQqIE5vZGU6OnNoYWRvd0hvc3QoKSBjb25zdAogewog
ICAgIGlmIChTaGFkb3dSb290KiByb290ID0gY29udGFpbmluZ1NoYWRvd1Jvb3QoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5oCmluZGV4IGNmZjc0YWIuLjYzZTA3YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMjc2LDYgKzI3Niw4
IEBAIHB1YmxpYzoKICAgICBib29sIGluTmFtZWRGbG93KCkgY29uc3QgeyByZXR1cm4gZ2V0Rmxh
ZyhJbk5hbWVkRmxvd0ZsYWcpOyB9CiAgICAgYm9vbCBoYXNDdXN0b21TdHlsZUNhbGxiYWNrcygp
IGNvbnN0IHsgcmV0dXJuIGdldEZsYWcoSGFzQ3VzdG9tU3R5bGVDYWxsYmFja3NGbGFnKTsgfQog
CisgICAgYm9vbCBpc1JlZ2lzdGVyZWRXaXRoTmFtZWRGbG93KCkgY29uc3Q7CisKICAgICBib29s
IGhhc1N5bnRoZXRpY0F0dHJDaGlsZE5vZGVzKCkgY29uc3QgeyByZXR1cm4gZ2V0RmxhZyhIYXNT
eW50aGV0aWNBdHRyQ2hpbGROb2Rlc0ZsYWcpOyB9CiAgICAgdm9pZCBzZXRIYXNTeW50aGV0aWNB
dHRyQ2hpbGROb2Rlcyhib29sIGZsYWcpIHsgc2V0RmxhZyhmbGFnLCBIYXNTeW50aGV0aWNBdHRy
Q2hpbGROb2Rlc0ZsYWcpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
UmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0Nv
bnRleHQuY3BwCmluZGV4IDgxODczNmQuLjZmN2RjMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtMTU1LDcgKzE1NSw3IEBAIFJlbmRlck9iamVj
dCogTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnByZXZpb3VzUmVuZGVyZXIoKSBjb25zdAogICAgIHJl
dHVybiAwOwogfQogCi1SZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpwYXJlbnRS
ZW5kZXJlcigpCitSZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpwYXJlbnRSZW5k
ZXJlcigpIGNvbnN0CiB7CiAgICAgaWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBtX25vZGUt
PnJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiByZW5kZXJlci0+cGFyZW50KCk7CkBAIC0xNzcs
MTUgKzE3NywxMCBAQCBSZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpwYXJlbnRS
ZW5kZXJlcigpCiAgICAgaWYgKG1fcGFyZW50Rmxvd1JlbmRlcmVyKQogICAgICAgICByZXR1cm4g
bV9wYXJlbnRGbG93UmVuZGVyZXI7CiAKLSAgICBpZiAobV9ub2RlLT5pc0VsZW1lbnROb2RlKCkg
JiYgdG9FbGVtZW50KG1fbm9kZSktPm1vdmVUb0Zsb3dUaHJlYWRJc05lZWRlZChtX3N0eWxlKSkg
ewotICAgICAgICBtb3ZlVG9GbG93VGhyZWFkKCk7Ci0gICAgICAgIHJldHVybiBtX3BhcmVudEZs
b3dSZW5kZXJlcjsKLSAgICB9Ci0KICAgICByZXR1cm4gbV9yZW5kZXJpbmdQYXJlbnQgPyBtX3Jl
bmRlcmluZ1BhcmVudC0+cmVuZGVyZXIoKSA6IDA7CiB9CiAKLWJvb2wgTm9kZVJlbmRlcmluZ0Nv
bnRleHQ6OnNob3VsZENyZWF0ZVJlbmRlcmVyKCkKK2Jvb2wgTm9kZVJlbmRlcmluZ0NvbnRleHQ6
OnNob3VsZENyZWF0ZVJlbmRlcmVyKCkgY29uc3QKIHsKICAgICBpZiAoIW1fbm9kZS0+ZG9jdW1l
bnQoKS0+c2hvdWxkQ3JlYXRlUmVuZGVyZXJzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAg
LTE5NCw0MCArMTg5LDQyIEBAIGJvb2wgTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnNob3VsZENyZWF0
ZVJlbmRlcmVyKCkKICAgICBSZW5kZXJPYmplY3QqIHBhcmVudFJlbmRlcmVyID0gdGhpcy0+cGFy
ZW50UmVuZGVyZXIoKTsKICAgICBpZiAoIXBhcmVudFJlbmRlcmVyKQogICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgaWYgKCFwYXJlbnRSZW5kZXJlci0+Y2FuSGF2ZUNoaWxkcmVuKCkKLSAgICAg
ICAgJiYgIShtX25vZGUtPmlzUHNldWRvRWxlbWVudCgpICYmIHBhcmVudFJlbmRlcmVyLT5pc1Jl
bmRlclJlZ2lvbigpKSkgewotICAgICAgICBpZiAocGFyZW50UmVuZGVyZXItPmNhbkRPTUNoaWxk
cmVuSGF2ZVJlbmRlclBhcmVudCgpKSB7Ci0gICAgICAgICAgICAvLyBJbiBhIHJlZ2lvbiwgb25s
eSB0aGUgY2hpbGRyZW4gdGhhdCBuZWVkIHRvIGJlIGluIGEgZmxvdyB0aHJlYWQgc2hvdWxkIGhh
dmUgYSByZW5kZXJlci4KLSAgICAgICAgICAgIGJvb2wgc2hvdWxkQmVJbk5hbWVkRmxvdyA9IG1f
bm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIHRvRWxlbWVudChtX25vZGUpLT5tb3ZlVG9GbG93VGhy
ZWFkSXNOZWVkZWQobV9zdHlsZSk7Ci0gICAgICAgICAgICBpZiAoIXNob3VsZEJlSW5OYW1lZEZs
b3cpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9IGVsc2UKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KKyAgICBpZiAoIXBhcmVudFJlbmRlcmVyLT5j
YW5IYXZlQ2hpbGRyZW4oKSAmJiAhKG1fbm9kZS0+aXNQc2V1ZG9FbGVtZW50KCkgJiYgcGFyZW50
UmVuZGVyZXItPmNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIGlmICghbV9yZW5kZXJpbmdQYXJlbnQtPmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVy
ZXIoKnRoaXMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LXZvaWQgTm9kZVJlbmRlcmluZ0NvbnRleHQ6Om1vdmVUb0Zsb3dUaHJlYWRJZk5lZWRlZCgpCisv
LyBDaGVjayB0aGUgc3BlY2lmaWMgY2FzZSBvZiBlbGVtZW50cyB0aGF0IGFyZSBjaGlsZHJlbiBv
ZiByZWdpb25zIGJ1dCBhcmUgZmxvd2VkIGludG8gYSBmbG93IHRocmVhZCB0aGVtc2VsdmVzLgor
Ym9vbCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6ZWxlbWVudEluc2lkZVJlZ2lvbk5lZWRzUmVuZGVy
ZXIoKQogewotICAgIEFTU0VSVChtX25vZGUtPmlzRWxlbWVudE5vZGUoKSk7CisgICAgRWxlbWVu
dCogZWxlbWVudCA9IHRvRWxlbWVudChtX25vZGUpOworICAgIGJvb2wgZWxlbWVudEluc2lkZVJl
Z2lvbk5lZWRzUmVuZGVyZXIgPSBmYWxzZTsKKyAgICBSZW5kZXJPYmplY3QqIHBhcmVudFJlbmRl
cmVyID0gdGhpcy0+cGFyZW50UmVuZGVyZXIoKTsKKyAgICBpZiAoKHBhcmVudFJlbmRlcmVyICYm
ICFwYXJlbnRSZW5kZXJlci0+Y2FuSGF2ZUNoaWxkcmVuKCkgJiYgcGFyZW50UmVuZGVyZXItPmlz
UmVuZGVyUmVnaW9uKCkpCisgICAgICAgIHx8ICghcGFyZW50UmVuZGVyZXIgJiYgZWxlbWVudC0+
cGFyZW50RWxlbWVudCgpICYmIGVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKS0+aXNJbnNpZGVSZWdp
b24oKSkpIHsKIAotICAgIGlmICghdG9FbGVtZW50KG1fbm9kZSktPm1vdmVUb0Zsb3dUaHJlYWRJ
c05lZWRlZChtX3N0eWxlKSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAoIW1fc3R5bGUp
CisgICAgICAgICAgICBtX3N0eWxlID0gZWxlbWVudC0+c3R5bGVGb3JSZW5kZXJlcigpOworCisg
ICAgICAgIGVsZW1lbnRJbnNpZGVSZWdpb25OZWVkc1JlbmRlcmVyID0gZWxlbWVudC0+c2hvdWxk
TW92ZVRvRmxvd1RocmVhZChtX3N0eWxlLmdldCgpKTsKIAotICAgIG1vdmVUb0Zsb3dUaHJlYWQo
KTsKKyAgICAgICAgLy8gQ2hpbGRyZW4gb2YgdGhpcyBlbGVtZW50IHdpbGwgb25seSBiZSBhbGxv
d2VkIHRvIGJlIGZsb3dlZCBpbnRvIG90aGVyIGZsb3ctdGhyZWFkcyBpZiBkaXNwbGF5IGlzIE5P
VCBub25lLgorICAgICAgICBpZiAoZWxlbWVudC0+cmVuZGVyZXJJc05lZWRlZCgqdGhpcykpCisg
ICAgICAgICAgICBlbGVtZW50LT5zZXRJc0luc2lkZVJlZ2lvbih0cnVlKTsKKyAgICB9CisKKyAg
ICByZXR1cm4gZWxlbWVudEluc2lkZVJlZ2lvbk5lZWRzUmVuZGVyZXI7CiB9CiAKLXZvaWQgTm9k
ZVJlbmRlcmluZ0NvbnRleHQ6Om1vdmVUb0Zsb3dUaHJlYWQoKQordm9pZCBOb2RlUmVuZGVyaW5n
Q29udGV4dDo6bW92ZVRvRmxvd1RocmVhZElmTmVlZGVkKCkKIHsKLSAgICBBU1NFUlQobV9ub2Rl
LT5pc0VsZW1lbnROb2RlKCkpOwotICAgIEFTU0VSVCh0b0VsZW1lbnQobV9ub2RlKS0+bW92ZVRv
Rmxvd1RocmVhZElzTmVlZGVkKG1fc3R5bGUpKTsKKyAgICBFbGVtZW50KiBlbGVtZW50ID0gdG9F
bGVtZW50KG1fbm9kZSk7CisKKyAgICBpZiAoIWVsZW1lbnQtPnNob3VsZE1vdmVUb0Zsb3dUaHJl
YWQobV9zdHlsZS5nZXQoKSkpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9zdHlsZSkK
LSAgICAgICAgbV9zdHlsZSA9IHRvRWxlbWVudChtX25vZGUpLT5zdHlsZUZvclJlbmRlcmVyKCk7
Ci0gICAgQVNTRVJUKG1fc3R5bGUpOwogICAgIEFTU0VSVChtX25vZGUtPmRvY3VtZW50KCktPnJl
bmRlclZpZXcoKSk7CiAgICAgRmxvd1RocmVhZENvbnRyb2xsZXIqIGZsb3dUaHJlYWRDb250cm9s
bGVyID0gbV9ub2RlLT5kb2N1bWVudCgpLT5yZW5kZXJWaWV3KCktPmZsb3dUaHJlYWRDb250cm9s
bGVyKCk7CiAgICAgbV9wYXJlbnRGbG93UmVuZGVyZXIgPSBmbG93VGhyZWFkQ29udHJvbGxlci0+
ZW5zdXJlUmVuZGVyRmxvd1RocmVhZFdpdGhOYW1lKG1fc3R5bGUtPmZsb3dUaHJlYWQoKSk7CkBA
IC0yNTAsOCArMjQ3LDExIEBAIHZvaWQgTm9kZVJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZVJlbmRl
cmVyRm9yRWxlbWVudElmTmVlZGVkKCkKIAogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSB0b0VsZW1l
bnQobV9ub2RlKTsKIAotICAgIGlmICghc2hvdWxkQ3JlYXRlUmVuZGVyZXIoKSkKKyAgICBlbGVt
ZW50LT5zZXRJc0luc2lkZVJlZ2lvbihmYWxzZSk7CisgCisgICAgaWYgKCFzaG91bGRDcmVhdGVS
ZW5kZXJlcigpICYmICFlbGVtZW50SW5zaWRlUmVnaW9uTmVlZHNSZW5kZXJlcigpKQogICAgICAg
ICByZXR1cm47CisKICAgICBpZiAoIW1fc3R5bGUpCiAgICAgICAgIG1fc3R5bGUgPSBlbGVtZW50
LT5zdHlsZUZvclJlbmRlcmVyKCk7CiAgICAgQVNTRVJUKG1fc3R5bGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuaAppbmRleCAwZjEwYTBkLi4yODViZTRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuaApAQCAtNTYsNyArNTYsNyBA
QCBwdWJsaWM6CiAgICAgTm9kZSogbm9kZSgpIGNvbnN0OwogICAgIENvbnRhaW5lck5vZGUqIHBh
cmVudE5vZGVGb3JSZW5kZXJpbmdBbmRTdHlsZSgpIGNvbnN0OwogICAgIGJvb2wgcmVzZXRTdHls
ZUluaGVyaXRhbmNlKCkgY29uc3Q7Ci0gICAgUmVuZGVyT2JqZWN0KiBwYXJlbnRSZW5kZXJlcigp
OyAvLyB0aGUgcmVuZGVyZXIgdGhhdCB3aWxsIGJlIHRoZSBwYXJlbnQgZm9yIHRoaXMgbm9kZSdz
IHJlbmRlcmVyLiBJbiB0aGUgY2FzZSBvZiBSZW5kZXJGbG93VGhyZWFkcywgaXQgbWF5IG5lZWQg
dG8gY3JlYXRlIGl0LgorICAgIFJlbmRlck9iamVjdCogcGFyZW50UmVuZGVyZXIoKSBjb25zdDsK
ICAgICBSZW5kZXJPYmplY3QqIG5leHRSZW5kZXJlcigpIGNvbnN0OwogICAgIFJlbmRlck9iamVj
dCogcHJldmlvdXNSZW5kZXJlcigpIGNvbnN0OwogICAgIEluc2VydGlvblBvaW50KiBpbnNlcnRp
b25Qb2ludCgpIGNvbnN0OwpAQCAtNjcsOSArNjcsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc09u
RW5jYXBzdWxhdGlvbkJvdW5kYXJ5KCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgYm9vbCBzaG91
bGRDcmVhdGVSZW5kZXJlcigpOwotICAgIHZvaWQgbW92ZVRvRmxvd1RocmVhZCgpOworICAgIGJv
b2wgc2hvdWxkQ3JlYXRlUmVuZGVyZXIoKSBjb25zdDsKICAgICB2b2lkIG1vdmVUb0Zsb3dUaHJl
YWRJZk5lZWRlZCgpOworICAgIGJvb2wgZWxlbWVudEluc2lkZVJlZ2lvbk5lZWRzUmVuZGVyZXIo
KTsKIAogICAgIE5vZGUqIG1fbm9kZTsKICAgICBDb250YWluZXJOb2RlKiBtX3JlbmRlcmluZ1Bh
cmVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5oCmluZGV4IGI4YTQwN2MuLjk1YmE4YmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuaApAQCAtNDgsMTEgKzQ4LDcgQEAgcHVibGlj
OgogCiAgICAgLy8gQXMgcGVyIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2NzczMtcmVnaW9ucy8j
Zmxvdy1pbnRvLCBwc2V1ZG8tZWxlbWVudHMgc3VjaCBhcyA6OmZpcnN0LWxpbmUsIDo6Zmlyc3Qt
bGV0dGVyLCA6OmJlZm9yZSBvciA6OmFmdGVyCiAgICAgLy8gY2Fubm90IGJlIGRpcmVjdGx5IGNv
bGxlY3RlZCBpbnRvIGEgbmFtZWQgZmxvdy4KLSAgICB2aXJ0dWFsIGJvb2wgbW92ZVRvRmxvd1Ro
cmVhZElzTmVlZGVkKFJlZlB0cjxSZW5kZXJTdHlsZT4mIGNhY2hlZFN0eWxlKSBPVkVSUklERQot
ICAgIHsKLSAgICAgICAgVU5VU0VEX1BBUkFNKGNhY2hlZFN0eWxlKTsKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIH0KKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTW92ZVRvRmxvd1RocmVhZChS
ZW5kZXJTdHlsZSopIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0
dWFsIGJvb2wgY2FuU3RhcnRTZWxlY3Rpb24oKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBjYW5Db250YWluUmFuZ2VFbmRQb2ludCgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
VGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5jcHAKaW5kZXggMWQyNWZiYy4uYTg5
MmRlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9UZXh0LmNwcApAQCAtMTk5LDcgKzE5OSw3IEBAIFBhc3NSZWZQdHI8Tm9k
ZT4gVGV4dDo6Y2xvbmVOb2RlKGJvb2wgLypkZWVwKi8pCiAgICAgcmV0dXJuIGNyZWF0ZShkb2N1
bWVudCgpLCBkYXRhKCkpOwogfQogCi1ib29sIFRleHQ6OnRleHRSZW5kZXJlcklzTmVlZGVkKE5v
ZGVSZW5kZXJpbmdDb250ZXh0JiBjb250ZXh0KQorYm9vbCBUZXh0Ojp0ZXh0UmVuZGVyZXJJc05l
ZWRlZChjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYgY29udGV4dCkKIHsKICAgICBpZiAoaXNF
ZGl0aW5nVGV4dCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9UZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5oCmluZGV4IGFmOWIy
NDguLjk0NDAwODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1RleHQuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAgICAg
CiAgICAgdm9pZCByZWNhbGNUZXh0U3R5bGUoU3R5bGVDaGFuZ2UpOwogICAgIHZvaWQgY3JlYXRl
VGV4dFJlbmRlcmVySWZOZWVkZWQoKTsKLSAgICBib29sIHRleHRSZW5kZXJlcklzTmVlZGVkKE5v
ZGVSZW5kZXJpbmdDb250ZXh0Jik7CisgICAgYm9vbCB0ZXh0UmVuZGVyZXJJc05lZWRlZChjb25z
dCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpOwogICAgIFJlbmRlclRleHQqIGNyZWF0ZVRleHRSZW5k
ZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAgICAgdm9pZCB1cGRhdGVUZXh0UmVu
ZGVyZXIodW5zaWduZWQgb2Zmc2V0T2ZSZXBsYWNlZERhdGEsIHVuc2lnbmVkIGxlbmd0aE9mUmVw
bGFjZWREYXRhKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dU
aHJlYWRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFk
Q29udHJvbGxlci5jcHAKaW5kZXggZGYxNGMzMy4uZTBmMWM2NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwCkBAIC0xMTgsNyArMTE4
LDcgQEAgdm9pZCBGbG93VGhyZWFkQ29udHJvbGxlcjo6cmVnaXN0ZXJOYW1lZEZsb3dDb250ZW50
Tm9kZShOb2RlKiBjb250ZW50Tm9kZSwgUmVuZGUKIHZvaWQgRmxvd1RocmVhZENvbnRyb2xsZXI6
OnVucmVnaXN0ZXJOYW1lZEZsb3dDb250ZW50Tm9kZShOb2RlKiBjb250ZW50Tm9kZSkKIHsKICAg
ICBBU1NFUlQoY29udGVudE5vZGUgJiYgY29udGVudE5vZGUtPmlzRWxlbWVudE5vZGUoKSk7Ci0g
ICAgSGFzaE1hcDxOb2RlKiwgUmVuZGVyTmFtZWRGbG93VGhyZWFkKj46Oml0ZXJhdG9yIGl0ID0g
bV9tYXBOYW1lZEZsb3dDb250ZW50Tm9kZXMuZmluZChjb250ZW50Tm9kZSk7CisgICAgSGFzaE1h
cDxjb25zdCBOb2RlKiwgUmVuZGVyTmFtZWRGbG93VGhyZWFkKj46Oml0ZXJhdG9yIGl0ID0gbV9t
YXBOYW1lZEZsb3dDb250ZW50Tm9kZXMuZmluZChjb250ZW50Tm9kZSk7CiAgICAgQVNTRVJUKGl0
ICE9IG1fbWFwTmFtZWRGbG93Q29udGVudE5vZGVzLmVuZCgpKTsKICAgICBBU1NFUlQoaXQtPnZh
bHVlKTsKICAgICBBU1NFUlQoaXQtPnZhbHVlLT5oYXNDb250ZW50Tm9kZShjb250ZW50Tm9kZSkp
OwpAQCAtMjI3LDcgKzIyNyw3IEBAIHZvaWQgRmxvd1RocmVhZENvbnRyb2xsZXI6OnVwZGF0ZUZs
b3dUaHJlYWRzSW50b0NvbnN0cmFpbmVkUGhhc2UoKQogICAgIH0KIH0KIAotYm9vbCBGbG93VGhy
ZWFkQ29udHJvbGxlcjo6aXNDb250ZW50Tm9kZVJlZ2lzdGVyZWRXaXRoQW55TmFtZWRGbG93KE5v
ZGUqIGNvbnRlbnROb2RlKSBjb25zdAorYm9vbCBGbG93VGhyZWFkQ29udHJvbGxlcjo6aXNDb250
ZW50Tm9kZVJlZ2lzdGVyZWRXaXRoQW55TmFtZWRGbG93KGNvbnN0IE5vZGUqIGNvbnRlbnROb2Rl
KSBjb25zdAogewogICAgIHJldHVybiBtX21hcE5hbWVkRmxvd0NvbnRlbnROb2Rlcy5jb250YWlu
cyhjb250ZW50Tm9kZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
Rmxvd1RocmVhZENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhy
ZWFkQ29udHJvbGxlci5oCmluZGV4IDQ1NTM0ZDUuLmVjOGM3NGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5oCkBAIC02Niw3ICs2Niw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgcmVnaXN0ZXJOYW1lZEZsb3dDb250ZW50Tm9kZShOb2RlKiwg
UmVuZGVyTmFtZWRGbG93VGhyZWFkKik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyTmFtZWRGbG93Q29u
dGVudE5vZGUoTm9kZSopOwotICAgIGJvb2wgaXNDb250ZW50Tm9kZVJlZ2lzdGVyZWRXaXRoQW55
TmFtZWRGbG93KE5vZGUqKSBjb25zdDsKKyAgICBib29sIGlzQ29udGVudE5vZGVSZWdpc3RlcmVk
V2l0aEFueU5hbWVkRmxvdyhjb25zdCBOb2RlKikgY29uc3Q7CiAKICAgICBib29sIGhhc0Zsb3dU
aHJlYWRzV2l0aEF1dG9Mb2dpY2FsSGVpZ2h0UmVnaW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fZmxv
d1RocmVhZHNXaXRoQXV0b0xvZ2ljYWxIZWlnaHRSZWdpb25zOyB9CiAgICAgdm9pZCBpbmNyZW1l
bnRGbG93VGhyZWFkc1dpdGhBdXRvTG9naWNhbEhlaWdodFJlZ2lvbnMoKSB7ICsrbV9mbG93VGhy
ZWFkc1dpdGhBdXRvTG9naWNhbEhlaWdodFJlZ2lvbnM7IH0KQEAgLTkyLDcgKzkyLDcgQEAgcHJp
dmF0ZToKICAgICB1bnNpZ25lZCBtX2Zsb3dUaHJlYWRzV2l0aEF1dG9Mb2dpY2FsSGVpZ2h0UmVn
aW9uczsKICAgICBPd25QdHI8UmVuZGVyTmFtZWRGbG93VGhyZWFkTGlzdD4gbV9yZW5kZXJOYW1l
ZEZsb3dUaHJlYWRMaXN0OwogICAgIC8vIG1hcHMgYSBjb250ZW50IG5vZGUgdG8gaXRzIHJlbmRl
ciBmbG93IHRocmVhZC4KLSAgICBIYXNoTWFwPE5vZGUqLCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQq
PiBtX21hcE5hbWVkRmxvd0NvbnRlbnROb2RlczsKKyAgICBIYXNoTWFwPGNvbnN0IE5vZGUqLCBS
ZW5kZXJOYW1lZEZsb3dUaHJlYWQqPiBtX21hcE5hbWVkRmxvd0NvbnRlbnROb2RlczsKIH07CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA5ZGM1OGVhLi5h
YzgzZTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0yNTIs
NyArMjUyLDYgQEAgcHVibGljOgogICAgIC8vIFJlbmRlck9iamVjdCB0cmVlIG1hbmlwdWxhdGlv
bgogICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgIHZp
cnR1YWwgYm9vbCBjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiB2aXJ0dWFsQ2hpbGRy
ZW4oKTsgfQotICAgIHZpcnR1YWwgYm9vbCBjYW5ET01DaGlsZHJlbkhhdmVSZW5kZXJQYXJlbnQo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfSAvLyBFdmVuIGlmIHRoaXMgcmVuZGVyIG9iamVjdCBj
YW4ndCBoYXZlIHJlbmRlciBjaGlsZHJlbiwgdGhlIGNoaWxkcmVuIGluIHRoZSBET00gdHJlZSBt
YXkgaGF2ZSBhIHJlbmRlciBwYXJlbnQgKHRoYXQgaXMgZGlmZmVyZW50IGZyb20gdGhpcyBvYmpl
Y3QpLgogICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGJvb2wgaXNDaGlsZEFsbG93ZWQoUmVuZGVyT2JqZWN0KiwgUmVuZGVyU3R5
bGUqKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGFkZENoaWxkKFJl
bmRlck9iamVjdCogbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQgPSAwKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaAppbmRleCA4MzA1ZDc0Li43NzA4MTYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oCkBAIC0xNTUsNyArMTU1
LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25z
dCB7IHJldHVybiAiUmVuZGVyUmVnaW9uIjsgfQogCiAgICAgdmlydHVhbCBib29sIGNhbkhhdmVD
aGlsZHJlbigpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBi
b29sIGNhbkRPTUNoaWxkcmVuSGF2ZVJlbmRlclBhcmVudCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgY2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKCkg
Y29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIGluc2Vy
dGVkSW50b1RyZWUoKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCAx
MmY3NDczLi5kOWYyZDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC00NjAsMTAg
KzQ2MCwxMCBAQCBzdGF0aWMgYm9vbCBoYXNMb2FkTGlzdGVuZXIoRWxlbWVudCogZWxlbWVudCkK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU1ZHRWxlbWVudDo6bW92ZVRvRmxvd1RocmVh
ZElzTmVlZGVkKFJlZlB0cjxSZW5kZXJTdHlsZT4mIGNhY2hlZFN0eWxlKQorYm9vbCBTVkdFbGVt
ZW50OjpzaG91bGRNb3ZlVG9GbG93VGhyZWFkKFJlbmRlclN0eWxlKiBzdHlsZVRvVXNlKSBjb25z
dAogewogICAgIC8vIEFsbG93IG9ubHkgc3ZnIHJvb3QgZWxlbWVudHMgdG8gYmUgZGlyZWN0bHkg
Y29sbGVjdGVkIGJ5IGEgcmVuZGVyIGZsb3cgdGhyZWFkLgotICAgIHJldHVybiBwYXJlbnROb2Rl
KCkgJiYgIXBhcmVudE5vZGUoKS0+aXNTVkdFbGVtZW50KCkgJiYgaGFzVGFnTmFtZShTVkdOYW1l
czo6c3ZnVGFnKSAmJiBFbGVtZW50Ojptb3ZlVG9GbG93VGhyZWFkSXNOZWVkZWQoY2FjaGVkU3R5
bGUpOworICAgIHJldHVybiBwYXJlbnROb2RlKCkgJiYgIXBhcmVudE5vZGUoKS0+aXNTVkdFbGVt
ZW50KCkgJiYgaGFzVGFnTmFtZShTVkdOYW1lczo6c3ZnVGFnKSAmJiBFbGVtZW50OjpzaG91bGRN
b3ZlVG9GbG93VGhyZWFkKHN0eWxlVG9Vc2UpOwogfQogCiB2b2lkIFNWR0VsZW1lbnQ6OnNlbmRT
VkdMb2FkRXZlbnRJZlBvc3NpYmxlKGJvb2wgc2VuZFBhcmVudExvYWRFdmVudHMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0VsZW1lbnQuaAppbmRleCBmNDU5NmMyLi5jMzBlZDgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmgKQEAgLTEyMSw3ICsxMjEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGFkZEV2
ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZl
bnRMaXN0ZW5lcj4sIGJvb2wgdXNlQ2FwdHVyZSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29s
IHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50
TGlzdGVuZXIqLCBib29sIHVzZUNhcHR1cmUpIE9WRVJSSURFOwogCi0gICAgdmlydHVhbCBib29s
IG1vdmVUb0Zsb3dUaHJlYWRJc05lZWRlZChSZWZQdHI8UmVuZGVyU3R5bGU+JiBjYWNoZWRTdHls
ZSkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIHNob3VsZE1vdmVUb0Zsb3dUaHJlYWQoUmVu
ZGVyU3R5bGUqKSBjb25zdCBPVkVSUklERTsKIAogcHJvdGVjdGVkOgogICAgIFNWR0VsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50KiwgQ29uc3RydWN0aW9uVHlwZSA9IENyZWF0
ZVNWR0VsZW1lbnQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205929</attachid>
            <date>2013-07-02 11:22:11 -0700</date>
            <delta_ts>2013-07-02 13:44:11 -0700</delta_ts>
            <desc>Patch (fixed styling issue)</desc>
            <filename>118300.patch</filename>
            <type>text/plain</type>
            <size>31078</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5Mzc3NzI1Li40YzU2OTI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDct
MDIgIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVn
aW9uc10gSW1wcm92ZSBpbXBsZW1lbnRhdGlvbiBvZiBlbGVtZW50cyBpbiByZWdpb24gYmVpbmcg
Zmxvd2VkIHRvIGFub3RoZXIgZmxvdyB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExODMwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9yZWdpb25zL2Zsb3ctYm9keS1pbi1odG1sLmh0
bWw6CisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVn
aW9uLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9yZWdpb25zL3JlZ2lvbi1jb250ZW50
LWZsb3duLWludG8tcmVnaW9uLmh0bWw6CisgICAgICAgICogZmFzdC9yZWdpb25zL3VuaXZlcnNh
bC1zZWxlY3Rvci1jaGlsZHJlbi10by10aGUtc2FtZS1yZWdpb24uaHRtbDoKKwogMjAxMy0wNy0w
MiAgTWloYWkgVGljYSAgPG1pdGljYUBhZG9iZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBn
YXJkZW5pbmcuIFJlYmFzZWxpbmUgYmFja2dyb3VuZCBibGVuZCBtb2RlIGRlZmF1bHQgdGVzdCBy
ZXN1bHQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZmxvdy1ib2R5LWlu
LWh0bWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9mbG93LWJvZHktaW4taHRtbC5o
dG1sCmluZGV4IDQ3NTg0ZDkuLmM1NzJjMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9mbG93LWJvZHktaW4taHRtbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy9mbG93LWJvZHktaW4taHRtbC5odG1sCkBAIC0xLDEyICsxLDEyIEBACiA8aHRtbD4KICAg
PGhlYWQ+Ci0gICAgPHRpdGxlPjEwMzY4NSAtIFtDU1MgUmVnaW9uc10gVW5pdmVyc2FsIGNoaWxk
IHNlbGVjdG9yIG9uIHJlZ2lvbiBicmVha3MgdGhlIHJlbmRlcmluZyBvZiBpdHMgY29udGVudDwv
dGl0bGU+CisgICAgPHRpdGxlPjc0MTQ0IC0gW0NTUyBSZWdpb25zXSBFbGVtZW50cyBpbiBhIHJl
Z2lvbiBzaG91bGQgYmUgYXNzaWduYWJsZSB0byBhIG5hbWVkIGZsb3c8L3RpdGxlPgogICAgIDxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICBib2R5IHsKLSAgICAgIC13ZWJraXQtZmxvdy1p
bnRvOiBmb287CisgICAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmb287CiAgICAgICB9CiAgICAg
ICBodG1sIHsKLSAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogZm9vOworICAgICAgICAtd2Via2l0
LWZsb3ctZnJvbTogZm9vOwogICAgICAgfQogICAgIDwvc3R5bGU+CiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3JlZ2lvbi1jb250ZW50LWZsb3duLWludG8tcmVnaW9uLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWNvbnRlbnQtZmxvd24taW50by1yZWdpb24tZXhwZWN0
ZWQuaHRtbAppbmRleCAzY2E2YWE2Li41NDY5M2Q3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvcmVnaW9uLWNvbnRlbnQtZmxvd24taW50by1yZWdpb24tZXhwZWN0ZWQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWNvbnRlbnQtZmxvd24taW50
by1yZWdpb24tZXhwZWN0ZWQuaHRtbApAQCAtMSwyMyArMSwzNSBAQAogPGh0bWw+CiAgICAgPGhl
YWQ+CiAgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ci0gICAgICAgICAgICBkaXYgewot
ICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFweDsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAg
IC5yZWdpb24gewotICAgICAgICAgICAgICAgIGJvcmRlcjpzb2xpZCAxcHggI2JiYjsKKyAgICAg
ICAgICAgICAgICBib3JkZXI6c29saWQgMXB4IHJlZDsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIC5yZWRpcmVjdFJlZ2lvbiB7CisgICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHgg
Ymx1ZTsKKyAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OworICAgICAgICAgICAgICAg
IG1hcmdpbi1ib3R0b206IDEwcHg7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAucmVkaXJl
Y3RSZWdpb24yIHsKKyAgICAgICAgICAgICAgICBib3JkZXI6c29saWQgMXB4IGdyZWVuOwogICAg
ICAgICAgICAgfQogICAgICAgICA8L3N0eWxlPgogICAgIDwvaGVhZD4KICAgICA8Ym9keT4KLSAg
ICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIj48dGVtcGxhdGU+UEFTUyByMDogY29udGVudCB0aGF0
IGdvZXMgaW4gdGhlIHJlZ2lvbi48L3RlbXBsYXRlPjwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNz
PSJyZWdpb24iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPlBBU1MgcjA6IGNvbnRlbnQg
dGhhdCBnb2VzIGluIHRoZSByZWdpb24uPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZGly
ZWN0UmVnaW9uIj4KICAgICAgICAgICAgIDxkaXY+UEFTUyByMTogY29udGVudCBpbiB0aGUgcmVn
aW9uIHRoYXQgaGFzIGZsb3ctaW50by4gMS48L2Rpdj4KLSAgICAgICAgICAgIDxkaXY+UEFTUyBy
MTogKGVuY2xvc2VkIGluIGEgZGl2KSBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxv
dy1pbnRvLiAyLiA8Yj5QQVNTIHIxOiAoZW5jbG9zZWQgaW4gYSBkaXYpIGNvbnRlbnQgaW4gdGhl
IHJlZ2lvbiB0aGF0IGhhcyBmbG93LWludG8uIDMuPC9iPi48L2Rpdj4KLSAgICAgICAgICAgIDxk
aXY+UEFTUyByMTogKGVuY2xvc2VkIGluIGEgZGl2KSBjb250ZW50IGluIHRoZSByZWdpb24gdGhh
dCBoYXMgZmxvdy1pbnRvLiA0IC48L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+UEFTUyByMTogKGVu
Y2xvc2VkIGluIGEgZGl2KSBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxvdy1pbnRv
LiAyLiAKKyAgICAgICAgICAgICAgICA8Yj48YnIvPlBBU1MgcjE6IChiIGVuY2xvc2VkIGluIHRo
ZSBkaXYgYWJvdmUpIGNvbnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93LWludG8uIDMu
PC9iPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8ZGl2PlBBU1MgcjE6IChlbmNs
b3NlZCBpbiBhIGRpdikgY29udGVudCBpbiB0aGUgcmVnaW9uIHRoYXQgaGFzIGZsb3ctaW50by4g
NC48L2Rpdj4KICAgICAgICAgICAgIDxkaXY+UEFTUyByMTogY29udGVudCBpbiB0aGUgcmVnaW9u
IHRoYXQgaGFzIGZsb3ctaW50by4gNS48L2Rpdj4KKyAgICAgICAgICAgIDxzdmcgY2xhc3M9InJl
ZGlyZWN0Q29udGVudCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9u
PSIxLjEiIGhlaWdodD0iNzAiPgorICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjAiIHk9IjE1Ij5Q
QVNTOiBTVkcgdGV4dDwvdGV4dD4KKyAgICAgICAgICAgICAgICA8dGV4dCB4PSIwIiB5PSIzMCI+
UEFTUzogU1ZHIHRleHQgcmVkaXJlY3RlZCB0byBhIGZsb3cgd2l0aG91dCByZWdpb25zLiBvbmx5
IHN2ZyByb290IGVsZW1lbnRzIGFyZSBkaXJlY3RseSBjb2xsZWN0ZWQgYnkgYSByZW5kZXIgZmxv
dyB0aHJlYWQuPC90ZXh0PgorICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjAiIHk9IjQ1Ij5QQVNT
OiBTVkcgdGV4dCByZWRpcmVjdGVkIHRvIGEgZmxvdyB3aXRoIHJlZ2lvbnMuIG9ubHkgc3ZnIHJv
b3QgZWxlbWVudHMgYXJlIGRpcmVjdGx5IGNvbGxlY3RlZCBieSBhIHJlbmRlciBmbG93IHRocmVh
ZC48L3RleHQ+CisgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxk
aXYgY2xhc3M9InJlZ2lvbiI+PHNwYW4+UEFTUyByMjogY29udGVudCB0aGF0IGlzIGFscmVhZHkg
aW4gYSBmbG93IGdvZXMgdG8gYW5vdGhlciBmbG93IC48L3NwYW4+PC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9InJlZGlyZWN0UmVnaW9uMiI+PHNwYW4+UEFTUyByMjogY29udGVudCB0aGF0IGlz
IGFscmVhZHkgaW4gYSBmbG93IGdvZXMgdG8gYW5vdGhlciBmbG93IC48L3NwYW4+PC9kaXY+CiAg
ICAgICAgIDxwPjxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03NDE0NCI+QnVnIDc0MTQ0PC9hPiAtIFtDU1MgUmVnaW9uc10gRWxlbWVudHMgaW4gYSByZWdp
b24gc2hvdWxkIGJlIGFzc2lnbmFibGUgdG8gYSBuYW1lZCBmbG93PC9wPgogICAgIDwvYm9keT4K
IDwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvcmVnaW9uLWNvbnRlbnQtZmxvd24taW50by1yZWdpb24uaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tY29udGVudC1mbG93bi1pbnRvLXJlZ2lv
bi5odG1sCmluZGV4IDRhMzdkOGQuLjAyN2U3ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvcmVnaW9ucy9yZWdpb24tY29udGVudC1mbG93bi1pbnRvLXJlZ2lvbi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZWdpb24tY29udGVudC1mbG93bi1pbnRvLXJlZ2lvbi5o
dG1sCkBAIC0yLDE1ICsyLDEyIEBACiAgICAgPGhlYWQ+CiAgICAgICAgIDx0aXRsZT43NDE0NCAt
IFtDU1MgUmVnaW9uc10gRWxlbWVudHMgaW4gYSByZWdpb24gc2hvdWxkIGJlIGFzc2lnbmFibGUg
dG8gYSBuYW1lZCBmbG93PC90aXRsZT4KICAgICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
LSAgICAgICAgICAgIGRpdiB7Ci0gICAgICAgICAgICAgICAgcGFkZGluZzogMXB4OwotICAgICAg
ICAgICAgfQogICAgICAgICAgICAgLmNvbnRlbnQgewogICAgICAgICAgICAgICAgIC13ZWJraXQt
Zmxvdy1pbnRvOiBmbG93OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgLnJlZ2lvbiB7CiAg
ICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7Ci0gICAgICAgICAgICAgICAg
Ym9yZGVyOnNvbGlkIDFweCAjYmJiOworICAgICAgICAgICAgICAgIGJvcmRlcjpzb2xpZCAxcHgg
cmVkOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAucmVkaXJlY3RDb250ZW50IHsKQEAg
LTE4LDcgKzE1LDkgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC5yZWRpcmVjdFJlZ2lv
biB7CiAgICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93LWZyb206IHJlZGlyZWN0RmxvdzsKLSAg
ICAgICAgICAgICAgICBib3JkZXI6c29saWQgMXB4ICNiYmI7CisgICAgICAgICAgICAgICAgYm9y
ZGVyOnNvbGlkIDFweCBibHVlOworICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7Cisg
ICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgLnJlZGlyZWN0Q29udGVudDIgewpAQCAtMjYsMTcgKzI1LDIxIEBACiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAucmVkaXJlY3RSZWdpb24yIHsKICAgICAgICAgICAgICAgICAt
d2Via2l0LWZsb3ctZnJvbTogcmVkaXJlY3RGbG93MjsKLSAgICAgICAgICAgICAgICBib3JkZXI6
c29saWQgMXB4ICNiYmI7CisgICAgICAgICAgICAgICAgYm9yZGVyOnNvbGlkIDFweCBncmVlbjsK
ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLnJlZGlyZWN0Q29udGVudFRvTm93aGVyZSB7
CiAgICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93LWludG86IHJlZGlyZWN0VG9Ob3doZXJlOwog
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAuZGlzcGxheU5vbmUgeworICAgICAgICAgICAg
ICAgIGRpc3BsYXk6IG5vbmU7CisgICAgICAgICAgICB9CiAgICAgICAgIDwvc3R5bGU+Ci0gICAg
ICAgIDx0ZW1wbGF0ZSBjbGFzcz0iY29udGVudCI+UEFTUyByMDogY29udGVudCB0aGF0IGdvZXMg
aW4gdGhlIHJlZ2lvbi48L3RlbXBsYXRlPgogICAgIDwvaGVhZD4KIAogICAgIDxib2R5PgorICAg
ICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij5QQVNTIHIwOiBjb250ZW50IHRoYXQgZ29lcyBpbiB0
aGUgcmVnaW9uLjwvZGl2PgogICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPgogICAgICAgICAg
ICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgMS4KIApAQCAtNTEsNyArNTQsNyBA
QAogCiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVkaXJlY3RDb250ZW50Ij5QQVNTIHIx
OiAoZW5jbG9zZWQgaW4gYSBkaXYpIGNvbnRlbnQgaW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93
LWludG8uIDIuCiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0Q29udGVu
dFRvTm93aGVyZSI+RkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgKHJlZGlyZWN0ZWQg
dG8gbm93aGVyZSkgMi48L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgPGI+UEFTUyByMTogKGVu
Y2xvc2VkIGluIGEgZGl2KSBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxvdy1pbnRv
LiAzLjwvYj4uCisgICAgICAgICAgICAgICAgICAgIDxiPjxici8+UEFTUyByMTogKGIgZW5jbG9z
ZWQgaW4gdGhlIGRpdiBhYm92ZSkgY29udGVudCBpbiB0aGUgcmVnaW9uIHRoYXQgaGFzIGZsb3ct
aW50by4gMy48L2I+CiAgICAgICAgICAgICAgICAgPC9kaXY+CiAKICAgICAgICAgICAgICAgICBG
QUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSA0LgpAQCAtNjAsMTEgKzYzLDEwIEBACiAg
ICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxkIG5vdCBi
ZSB2aXNpYmxlIDUuCiAKLSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWRpcmVjdENvbnRl
bnQiPlBBU1MgcjE6IChlbmNsb3NlZCBpbiBhIGRpdikgY29udGVudCBpbiB0aGUgcmVnaW9uIHRo
YXQgaGFzIGZsb3ctaW50by4gNAorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0
Q29udGVudCI+UEFTUyByMTogKGVuY2xvc2VkIGluIGEgZGl2KSBjb250ZW50IGluIHRoZSByZWdp
b24gdGhhdCBoYXMgZmxvdy1pbnRvLiA0LgogICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0icmVkaXJlY3RDb250ZW50MiI+UEFTUyByMjogY29udGVudCB0aGF0IGlzIGFscmVhZHkgaW4g
YSBmbG93IGdvZXMgdG8gYW5vdGhlciBmbG93CiAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bh
biBjbGFzcz0icmVkaXJlY3RDb250ZW50VG9Ob3doZXJlIj5GQUlMOiB0aGlzIHNob3VsZCBub3Qg
YmUgdmlzaWJsZSAocmVkaXJlY3RlZCB0byBub3doZXJlKSAzLjwvc3Bhbj4uCiAgICAgICAgICAg
ICAgICAgICAgIDwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgLgogICAgICAgICAgICAgICAg
IDwvZGl2PgogCiAgICAgICAgICAgICAgICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2li
bGUgNy4KQEAgLTc3LDE0ICs3OSwzNyBAQAogICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVkaXJl
Y3RDb250ZW50Ij5QQVNTIHIxOiBjb250ZW50IGluIHRoZSByZWdpb24gdGhhdCBoYXMgZmxvdy1p
bnRvLiA1LjwvZGl2PgogCiAgICAgICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlz
aWJsZSA5LgorCisgICAgICAgICAgICA8ZGl2PgorICAgICAgICAgICAgICAgIEZBSUw6IHRoaXMg
c2hvdWxkIG5vdCBiZSB2aXNpYmxlIDEwLgorCisgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0i
cmVkaXJlY3RDb250ZW50IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNp
b249IjEuMSIgaGVpZ2h0PSI3MCI+CisgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjAiIHk9
IjE1Ij5QQVNTOiBTVkcgdGV4dDwvdGV4dD4KKyAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0i
MCIgeT0iMzAiIGNsYXNzPSJyZWRpcmVjdENvbnRlbnRUb05vd2hlcmUiPlBBU1M6IFNWRyB0ZXh0
IHJlZGlyZWN0ZWQgdG8gYSBmbG93IHdpdGhvdXQgcmVnaW9ucy4gb25seSBzdmcgcm9vdCBlbGVt
ZW50cyBhcmUgZGlyZWN0bHkgY29sbGVjdGVkIGJ5IGEgcmVuZGVyIGZsb3cgdGhyZWFkLjwvdGV4
dD4KKyAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0iMCIgeT0iNDUiIGNsYXNzPSJyZWRpcmVj
dENvbnRlbnQyIj5QQVNTOiBTVkcgdGV4dCByZWRpcmVjdGVkIHRvIGEgZmxvdyB3aXRoIHJlZ2lv
bnMuIG9ubHkgc3ZnIHJvb3QgZWxlbWVudHMgYXJlIGRpcmVjdGx5IGNvbGxlY3RlZCBieSBhIHJl
bmRlciBmbG93IHRocmVhZC48L3RleHQ+CisgICAgICAgICAgICAgICAgPC9zdmc+CisKKyAgICAg
ICAgICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBub3QgYmUgdmlzaWJsZSAxMS4KKyAgICAgICAg
ICAgIDwvZGl2PgorCisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNwbGF5Tm9uZSI+CisgICAg
ICAgICAgICAgICAgRkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgMTIuCisKKyAgICAg
ICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWRpcmVjdENvbnRlbnQiPkZBSUwgcjE6IChlbmNsb3Nl
ZCBpbiBhIGRpdikgY29udGVudCBpbiB0aGUgcmVnaW9uIHRoYXQgaGFzIGZsb3ctaW50byBidXQg
ZGlzcGxheTpub25lCisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0Q29u
dGVudFRvTm93aGVyZSI+RkFJTDogdGhpcyBzaG91bGQgbm90IGJlIHZpc2libGUgKHJlZGlyZWN0
ZWQgdG8gbm93aGVyZSBBTkQgZGlzcGxheTpub25lKTwvZGl2PgorICAgICAgICAgICAgICAgICAg
ICA8Yj48YnIvPkZBSUwgcjE6IChiIGVuY2xvc2VkIGluIHRoZSBkaXYgYWJvdmUpIGNvbnRlbnQg
aW4gdGhlIHJlZ2lvbiB0aGF0IGhhcyBmbG93LWludG8gYnV0IGRpc3BsYXk6bm9uZTwvYj4KKyAg
ICAgICAgICAgICAgICA8L2Rpdj4KKworICAgICAgICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxk
IG5vdCBiZSB2aXNpYmxlIDEzLgorICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgIDwvZGl2Pgog
CiAgICAgICAgIDxkaXYgY2xhc3M9InJlZGlyZWN0UmVnaW9uIj4KLSAgICAgICAgICAgIEZBSUw6
IHRoaXMgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIDEwLgorICAgICAgICAgICAgRkFJTDogdGhpcyBz
aG91bGQgbm90IGJlIHZpc2libGUgMTQuCiAgICAgICAgIDwvZGl2PgogCiAgICAgICAgIDxkaXYg
Y2xhc3M9InJlZGlyZWN0UmVnaW9uMiI+Ci0gICAgICAgICAgICBGQUlMOiB0aGlzIHNob3VsZCBu
b3QgYmUgdmlzaWJsZSAxMS4KKyAgICAgICAgICAgIEZBSUw6IHRoaXMgc2hvdWxkIG5vdCBiZSB2
aXNpYmxlIDE1LgogICAgICAgICA8L2Rpdj4KIAogICAgICAgICA8cD48YSBocmVmPSJodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDQiPkJ1ZyA3NDE0NDwvYT4gLSBb
Q1NTIFJlZ2lvbnNdIEVsZW1lbnRzIGluIGEgcmVnaW9uIHNob3VsZCBiZSBhc3NpZ25hYmxlIHRv
IGEgbmFtZWQgZmxvdzwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy91
bml2ZXJzYWwtc2VsZWN0b3ItY2hpbGRyZW4tdG8tdGhlLXNhbWUtcmVnaW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlZ2lvbnMvdW5pdmVyc2FsLXNlbGVjdG9yLWNoaWxkcmVuLXRvLXRoZS1z
YW1lLXJlZ2lvbi5odG1sCmluZGV4IGY4YzE2MWYuLjI4YzM3NGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvcmVnaW9ucy91bml2ZXJzYWwtc2VsZWN0b3ItY2hpbGRyZW4tdG8tdGhlLXNh
bWUtcmVnaW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3VuaXZlcnNhbC1z
ZWxlY3Rvci1jaGlsZHJlbi10by10aGUtc2FtZS1yZWdpb24uaHRtbApAQCAtMywxMCArMywxMCBA
QAogICAgIDx0aXRsZT4xMDM2ODUgLSBbQ1NTIFJlZ2lvbnNdIFVuaXZlcnNhbCBjaGlsZCBzZWxl
Y3RvciBvbiByZWdpb24gYnJlYWtzIHRoZSByZW5kZXJpbmcgb2YgaXRzIGNvbnRlbnQ8L3RpdGxl
PgogICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAucmVnaW9uID4gKiB7Ci0gICAg
ICAtd2Via2l0LWZsb3ctaW50bzogZm9vOworICAgICAgICAtd2Via2l0LWZsb3ctaW50bzogZm9v
OwogICAgICAgfQogICAgICAgLnJlZ2lvbiB7Ci0gICAgICAgLXdlYmtpdC1mbG93LWZyb206IGZv
bzsKKyAgICAgICAgLXdlYmtpdC1mbG93LWZyb206IGZvbzsKICAgICAgIH0KICAgICA8L3N0eWxl
PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmZTkw
NDAzLi41ZThkMGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDkgQEAKIDIwMTMtMDctMDIgIFJh
ZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgogCisgICAgICAgIFtDU1MgUmVnaW9uc10g
SW1wcm92ZSBpbXBsZW1lbnRhdGlvbiBvZiBlbGVtZW50cyBpbiByZWdpb24gYmVpbmcgZmxvd2Vk
IHRvIGFub3RoZXIgZmxvdyB0aHJlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExODMwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE1ldGhvZHMgdGhhdCBtdXN0IGJlIGNvbnN0IGhhdmUgYmVlbiB0dXJu
ZWQgYmFjayBpbnRvIGNvbnN0LiBDb2RlIGhhcyBiZWVuIGJldHRlciBvcmdhbml6ZWQuIAorICAg
ICAgICBQZXJmb3JtYW5jZSBpcyBiZXR0ZXIuIFRlc3RzIGhhdmUgYmVlbiBhZGRlZCB0by4KKwor
ICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmRl
dGFjaCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRJc0luc2lkZVJlZ2lvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojppc0luc2lkZVJlZ2lvbik6CisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50OjpzaG91bGRNb3ZlVG9GbG93VGhyZWFkKToKKyAgICAgICAgKiBkb20vRWxl
bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnRSYXJlRGF0YTo6aXNJbnNpZGVSZWdpb24pOgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudFJhcmVEYXRhOjpzZXRJc0luc2lkZVJlZ2lvbik6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50UmFyZURhdGE6OkVsZW1lbnRSYXJlRGF0YSk6CisgICAgICAgICogZG9tL05vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6aXNSZWdpc3RlcmVkV2l0aE5hbWVkRmxvdyk6Cisg
ICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBkb20vTm9kZVJlbmRlcmluZ0NvbnRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRlcmluZ0NvbnRleHQ6OnBhcmVudFJlbmRl
cmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSZW5kZXJpbmdDb250ZXh0OjpzaG91bGRDcmVh
dGVSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmVuZGVyaW5nQ29udGV4dDo6ZWxl
bWVudEluc2lkZVJlZ2lvbk5lZWRzUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJl
bmRlcmluZ0NvbnRleHQ6Om1vdmVUb0Zsb3dUaHJlYWRJZk5lZWRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpOb2RlUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlUmVuZGVyZXJGb3JFbGVtZW50SWZOZWVk
ZWQpOgorICAgICAgICAqIGRvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAqIGRv
bS9Qc2V1ZG9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL1RleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dDo6dGV4dFJlbmRlcmVySXNOZWVkZWQpOgorICAgICAgICAqIGRvbS9UZXh0Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZsb3dUaHJlYWRDb250cm9sbGVyOjp1bnJlZ2lzdGVyTmFtZWRGbG93Q29udGVu
dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6Rmxvd1RocmVhZENvbnRyb2xsZXI6OmlzQ29udGVu
dE5vZGVSZWdpc3RlcmVkV2l0aEFueU5hbWVkRmxvdyk6CisgICAgICAgICogcmVuZGVyaW5nL0Zs
b3dUaHJlYWRDb250cm9sbGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZWdpb24uaDoKKyAgICAgICAgKiBzdmcvU1ZH
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzaG91bGRNb3ZlVG9G
bG93VGhyZWFkKToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5oOgorCisyMDEzLTA3LTAyICBS
YWR1IFN0YXZpbGEgIDxzdGF2aWxhQGFkb2JlLmNvbT4KKwogICAgICAgICBbQ1NTUmVnaW9uc10g
Tm8gb3RoZXIgU1ZHIGVsZW1lbnRzIGV4Y2VwdCB0aGUgU1ZHUm9vdCBtdXN0IGhhdmUgUmVnaW9u
SW5mbyBvYmplY3RzIGF0dGFjaGVkCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTgyOTUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGQwMWVmN2Qu
LjEyOWIyOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE0NzYsNiArMTQ3Niw3IEBAIHZv
aWQgRWxlbWVudDo6ZGV0YWNoKGNvbnN0IEF0dGFjaENvbnRleHQmIGNvbnRleHQpCiAgICAgICAg
IGRhdGEtPnNldElzSW5DYW52YXNTdWJ0cmVlKGZhbHNlKTsKICAgICAgICAgZGF0YS0+cmVzZXRD
b21wdXRlZFN0eWxlKCk7CiAgICAgICAgIGRhdGEtPnJlc2V0RHluYW1pY1Jlc3R5bGVPYnNlcnZh
dGlvbnMoKTsKKyAgICAgICAgZGF0YS0+c2V0SXNJbnNpZGVSZWdpb24oZmFsc2UpOwogICAgIH0K
IAogICAgIGlmIChFbGVtZW50U2hhZG93KiBzaGFkb3cgPSB0aGlzLT5zaGFkb3coKSkKQEAgLTI0
MTksNiArMjQyMCwxOSBAQCBib29sIEVsZW1lbnQ6OmlzSW5DYW52YXNTdWJ0cmVlKCkgY29uc3QK
ICAgICByZXR1cm4gaGFzUmFyZURhdGEoKSAmJiBlbGVtZW50UmFyZURhdGEoKS0+aXNJbkNhbnZh
c1N1YnRyZWUoKTsKIH0KIAordm9pZCBFbGVtZW50OjpzZXRJc0luc2lkZVJlZ2lvbihib29sIHZh
bHVlKQoreworICAgIGlmICh2YWx1ZSA9PSBpc0luc2lkZVJlZ2lvbigpKQorICAgICAgICByZXR1
cm47CisKKyAgICBlbnN1cmVFbGVtZW50UmFyZURhdGEoKS0+c2V0SXNJbnNpZGVSZWdpb24odmFs
dWUpOworfQorCitib29sIEVsZW1lbnQ6OmlzSW5zaWRlUmVnaW9uKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0YSgpLT5pc0luc2lkZVJlZ2lvbigp
IDogZmFsc2U7Cit9CisKIHZvaWQgRWxlbWVudDo6c2V0UmVnaW9uT3ZlcnNldFN0YXRlKFJlZ2lv
bk92ZXJzZXRTdGF0ZSBzdGF0ZSkKIHsKICAgICBlbnN1cmVFbGVtZW50UmFyZURhdGEoKS0+c2V0
UmVnaW9uT3ZlcnNldFN0YXRlKHN0YXRlKTsKQEAgLTI3NzYsMzQgKzI3OTAsMjYgQEAgUmVuZGVy
UmVnaW9uKiBFbGVtZW50OjpyZW5kZXJSZWdpb24oKSBjb25zdAogICAgIHJldHVybiAwOwogfQog
Ci1ib29sIEVsZW1lbnQ6Om1vdmVUb0Zsb3dUaHJlYWRJc05lZWRlZChSZWZQdHI8UmVuZGVyU3R5
bGU+JiBjYWNoZWRTdHlsZSkKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisKK2Jvb2wgRWxlbWVu
dDo6c2hvdWxkTW92ZVRvRmxvd1RocmVhZChSZW5kZXJTdHlsZSogc3R5bGVUb1VzZSkgY29uc3QK
IHsKLSAgICBEb2N1bWVudCogZG9jID0gZG9jdW1lbnQoKTsKLSAgICAKLSAgICBpZiAoIWRvYy0+
Y3NzUmVnaW9uc0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIEFTU0VSVChz
dHlsZVRvVXNlKTsKIAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLSAgICBpZiAoZG9jLT53
ZWJraXRJc0Z1bGxTY3JlZW4oKSAmJiBkb2MtPndlYmtpdEN1cnJlbnRGdWxsU2NyZWVuRWxlbWVu
dCgpID09IHRoaXMpCisgICAgaWYgKGRvY3VtZW50KCktPndlYmtpdElzRnVsbFNjcmVlbigpICYm
IGRvY3VtZW50KCktPndlYmtpdEN1cnJlbnRGdWxsU2NyZWVuRWxlbWVudCgpID09IHRoaXMpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogCiAgICAgaWYgKGlzSW5TaGFkb3dUcmVlKCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICghY2FjaGVkU3R5bGUpCi0gICAgICAg
IGNhY2hlZFN0eWxlID0gc3R5bGVGb3JSZW5kZXJlcigpOwotICAgIGlmICghY2FjaGVkU3R5bGUp
CisgICAgaWYgKHN0eWxlVG9Vc2UtPmZsb3dUaHJlYWQoKS5pc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIGlmIChjYWNoZWRTdHlsZS0+Zmxvd1RocmVhZCgpLmlzRW1wdHko
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuICFkb2N1bWVudCgpLT5yZW5k
ZXJWaWV3KCktPmZsb3dUaHJlYWRDb250cm9sbGVyKCktPmlzQ29udGVudE5vZGVSZWdpc3RlcmVk
V2l0aEFueU5hbWVkRmxvdyh0aGlzKTsKKyAgICByZXR1cm4gIWlzUmVnaXN0ZXJlZFdpdGhOYW1l
ZEZsb3coKTsKIH0KIAotI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKLQogY29uc3QgQXRvbWljU3Ry
aW5nJiBFbGVtZW50Ojp3ZWJraXRSZWdpb25PdmVyc2V0KCkgY29uc3QKIHsKICAgICBkb2N1bWVu
dCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5oCmluZGV4IGIwNzA0NTAuLjY3NWJkNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNDc5LDYg
KzQ3OSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzSW5DYW52YXNTdWJ0cmVlKGJvb2wpOwog
ICAgIGJvb2wgaXNJbkNhbnZhc1N1YnRyZWUoKSBjb25zdDsKIAorICAgIHZvaWQgc2V0SXNJbnNp
ZGVSZWdpb24oYm9vbCk7CisgICAgYm9vbCBpc0luc2lkZVJlZ2lvbigpIGNvbnN0OworCiAgICAg
dm9pZCBzZXRSZWdpb25PdmVyc2V0U3RhdGUoUmVnaW9uT3ZlcnNldFN0YXRlKTsKICAgICBSZWdp
b25PdmVyc2V0U3RhdGUgcmVnaW9uT3ZlcnNldFN0YXRlKCkgY29uc3Q7CiAKQEAgLTYzMiw3ICs2
MzUsOCBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGVGb3JSZW5k
ZXJlcigpOwogCiAgICAgUmVuZGVyUmVnaW9uKiByZW5kZXJSZWdpb24oKSBjb25zdDsKLSAgICB2
aXJ0dWFsIGJvb2wgbW92ZVRvRmxvd1RocmVhZElzTmVlZGVkKFJlZlB0cjxSZW5kZXJTdHlsZT4m
IGNhY2hlZFN0eWxlKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTW92ZVRvRmxvd1RocmVhZChS
ZW5kZXJTdHlsZSopIGNvbnN0OworICAgIAogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICBj
b25zdCBBdG9taWNTdHJpbmcmIHdlYmtpdFJlZ2lvbk92ZXJzZXQoKSBjb25zdDsKICAgICBWZWN0
b3I8UmVmUHRyPFJhbmdlPiA+IHdlYmtpdEdldFJlZ2lvbkZsb3dSYW5nZXMoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRleCA5YzU4YTJkLi5mYjk2YTk1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBAIC02MCw2ICs2MCw5IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzSW5DYW52YXNTdWJ0cmVlKCkgY29uc3QgeyByZXR1cm4gbV9pc0luQ2FudmFz
U3VidHJlZTsgfQogICAgIHZvaWQgc2V0SXNJbkNhbnZhc1N1YnRyZWUoYm9vbCB2YWx1ZSkgeyBt
X2lzSW5DYW52YXNTdWJ0cmVlID0gdmFsdWU7IH0KIAorICAgIGJvb2wgaXNJbnNpZGVSZWdpb24o
KSBjb25zdCB7IHJldHVybiBtX2lzSW5zaWRlUmVnaW9uOyB9CisgICAgdm9pZCBzZXRJc0luc2lk
ZVJlZ2lvbihib29sIHZhbHVlKSB7IG1faXNJbnNpZGVSZWdpb24gPSB2YWx1ZTsgfQorCiAgICAg
UmVnaW9uT3ZlcnNldFN0YXRlIHJlZ2lvbk92ZXJzZXRTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVnaW9uT3ZlcnNldFN0YXRlOyB9CiAgICAgdm9pZCBzZXRSZWdpb25PdmVyc2V0U3RhdGUoUmVn
aW9uT3ZlcnNldFN0YXRlIHN0YXRlKSB7IG1fcmVnaW9uT3ZlcnNldFN0YXRlID0gc3RhdGU7IH0K
IApAQCAtMTU5LDYgKzE2Miw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jaGlsZHJlbkFm
ZmVjdGVkQnlGb3J3YXJkUG9zaXRpb25hbFJ1bGVzIDogMTsKICAgICB1bnNpZ25lZCBtX2NoaWxk
cmVuQWZmZWN0ZWRCeUJhY2t3YXJkUG9zaXRpb25hbFJ1bGVzIDogMTsKIAorICAgIHVuc2lnbmVk
IG1faXNJbnNpZGVSZWdpb24gOiAxOwogICAgIFJlZ2lvbk92ZXJzZXRTdGF0ZSBtX3JlZ2lvbk92
ZXJzZXRTdGF0ZTsKIAogICAgIExheW91dFNpemUgbV9taW5pbXVtU2l6ZUZvclJlc2l6aW5nOwpA
QCAtMjA3LDYgKzIxMSw3IEBAIGlubGluZSBFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRSYXJlRGF0
YShSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogICAgICwgbV9jaGlsZHJlbkFmZmVjdGVkQnlEaXJl
Y3RBZGphY2VudFJ1bGVzKGZhbHNlKQogICAgICwgbV9jaGlsZHJlbkFmZmVjdGVkQnlGb3J3YXJk
UG9zaXRpb25hbFJ1bGVzKGZhbHNlKQogICAgICwgbV9jaGlsZHJlbkFmZmVjdGVkQnlCYWNrd2Fy
ZFBvc2l0aW9uYWxSdWxlcyhmYWxzZSkKKyAgICAsIG1faXNJbnNpZGVSZWdpb24oZmFsc2UpCiAg
ICAgLCBtX3JlZ2lvbk92ZXJzZXRTdGF0ZShSZWdpb25VbmRlZmluZWQpCiAgICAgLCBtX21pbmlt
dW1TaXplRm9yUmVzaXppbmcoZGVmYXVsdE1pbmltdW1TaXplRm9yUmVzaXppbmcoKSkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmNwcAppbmRleCA1M2UxYmJkLi5iNGY5OWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC02
MCw2ICs2MCw3IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGUuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIKKyNpbmNsdWRl
ICJGbG93VGhyZWFkQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAi
RnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKQEAgLTExMjMsNiArMTEyNCwx
MSBAQCBib29sIE5vZGU6OmNhblN0YXJ0U2VsZWN0aW9uKCkgY29uc3QKICAgICByZXR1cm4gcGFy
ZW50T3JTaGFkb3dIb3N0Tm9kZSgpID8gcGFyZW50T3JTaGFkb3dIb3N0Tm9kZSgpLT5jYW5TdGFy
dFNlbGVjdGlvbigpIDogdHJ1ZTsKIH0KIAorYm9vbCBOb2RlOjppc1JlZ2lzdGVyZWRXaXRoTmFt
ZWRGbG93KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZG9jdW1lbnQoKS0+cmVuZGVyVmlldygpLT5m
bG93VGhyZWFkQ29udHJvbGxlcigpLT5pc0NvbnRlbnROb2RlUmVnaXN0ZXJlZFdpdGhBbnlOYW1l
ZEZsb3codGhpcyk7Cit9CisKIEVsZW1lbnQqIE5vZGU6OnNoYWRvd0hvc3QoKSBjb25zdAogewog
ICAgIGlmIChTaGFkb3dSb290KiByb290ID0gY29udGFpbmluZ1NoYWRvd1Jvb3QoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5oCmluZGV4IGNmZjc0YWIuLjYzZTA3YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMjc2LDYgKzI3Niw4
IEBAIHB1YmxpYzoKICAgICBib29sIGluTmFtZWRGbG93KCkgY29uc3QgeyByZXR1cm4gZ2V0Rmxh
ZyhJbk5hbWVkRmxvd0ZsYWcpOyB9CiAgICAgYm9vbCBoYXNDdXN0b21TdHlsZUNhbGxiYWNrcygp
IGNvbnN0IHsgcmV0dXJuIGdldEZsYWcoSGFzQ3VzdG9tU3R5bGVDYWxsYmFja3NGbGFnKTsgfQog
CisgICAgYm9vbCBpc1JlZ2lzdGVyZWRXaXRoTmFtZWRGbG93KCkgY29uc3Q7CisKICAgICBib29s
IGhhc1N5bnRoZXRpY0F0dHJDaGlsZE5vZGVzKCkgY29uc3QgeyByZXR1cm4gZ2V0RmxhZyhIYXNT
eW50aGV0aWNBdHRyQ2hpbGROb2Rlc0ZsYWcpOyB9CiAgICAgdm9pZCBzZXRIYXNTeW50aGV0aWNB
dHRyQ2hpbGROb2Rlcyhib29sIGZsYWcpIHsgc2V0RmxhZyhmbGFnLCBIYXNTeW50aGV0aWNBdHRy
Q2hpbGROb2Rlc0ZsYWcpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
UmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0Nv
bnRleHQuY3BwCmluZGV4IDgxODczNmQuLjIxMGQxODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtMTU1LDcgKzE1NSw3IEBAIFJlbmRlck9iamVj
dCogTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnByZXZpb3VzUmVuZGVyZXIoKSBjb25zdAogICAgIHJl
dHVybiAwOwogfQogCi1SZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpwYXJlbnRS
ZW5kZXJlcigpCitSZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpwYXJlbnRSZW5k
ZXJlcigpIGNvbnN0CiB7CiAgICAgaWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBtX25vZGUt
PnJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiByZW5kZXJlci0+cGFyZW50KCk7CkBAIC0xNzcs
MTUgKzE3NywxMCBAQCBSZW5kZXJPYmplY3QqIE5vZGVSZW5kZXJpbmdDb250ZXh0OjpwYXJlbnRS
ZW5kZXJlcigpCiAgICAgaWYgKG1fcGFyZW50Rmxvd1JlbmRlcmVyKQogICAgICAgICByZXR1cm4g
bV9wYXJlbnRGbG93UmVuZGVyZXI7CiAKLSAgICBpZiAobV9ub2RlLT5pc0VsZW1lbnROb2RlKCkg
JiYgdG9FbGVtZW50KG1fbm9kZSktPm1vdmVUb0Zsb3dUaHJlYWRJc05lZWRlZChtX3N0eWxlKSkg
ewotICAgICAgICBtb3ZlVG9GbG93VGhyZWFkKCk7Ci0gICAgICAgIHJldHVybiBtX3BhcmVudEZs
b3dSZW5kZXJlcjsKLSAgICB9Ci0KICAgICByZXR1cm4gbV9yZW5kZXJpbmdQYXJlbnQgPyBtX3Jl
bmRlcmluZ1BhcmVudC0+cmVuZGVyZXIoKSA6IDA7CiB9CiAKLWJvb2wgTm9kZVJlbmRlcmluZ0Nv
bnRleHQ6OnNob3VsZENyZWF0ZVJlbmRlcmVyKCkKK2Jvb2wgTm9kZVJlbmRlcmluZ0NvbnRleHQ6
OnNob3VsZENyZWF0ZVJlbmRlcmVyKCkgY29uc3QKIHsKICAgICBpZiAoIW1fbm9kZS0+ZG9jdW1l
bnQoKS0+c2hvdWxkQ3JlYXRlUmVuZGVyZXJzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAg
LTE5NCw0MCArMTg5LDQyIEBAIGJvb2wgTm9kZVJlbmRlcmluZ0NvbnRleHQ6OnNob3VsZENyZWF0
ZVJlbmRlcmVyKCkKICAgICBSZW5kZXJPYmplY3QqIHBhcmVudFJlbmRlcmVyID0gdGhpcy0+cGFy
ZW50UmVuZGVyZXIoKTsKICAgICBpZiAoIXBhcmVudFJlbmRlcmVyKQogICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgaWYgKCFwYXJlbnRSZW5kZXJlci0+Y2FuSGF2ZUNoaWxkcmVuKCkKLSAgICAg
ICAgJiYgIShtX25vZGUtPmlzUHNldWRvRWxlbWVudCgpICYmIHBhcmVudFJlbmRlcmVyLT5pc1Jl
bmRlclJlZ2lvbigpKSkgewotICAgICAgICBpZiAocGFyZW50UmVuZGVyZXItPmNhbkRPTUNoaWxk
cmVuSGF2ZVJlbmRlclBhcmVudCgpKSB7Ci0gICAgICAgICAgICAvLyBJbiBhIHJlZ2lvbiwgb25s
eSB0aGUgY2hpbGRyZW4gdGhhdCBuZWVkIHRvIGJlIGluIGEgZmxvdyB0aHJlYWQgc2hvdWxkIGhh
dmUgYSByZW5kZXJlci4KLSAgICAgICAgICAgIGJvb2wgc2hvdWxkQmVJbk5hbWVkRmxvdyA9IG1f
bm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIHRvRWxlbWVudChtX25vZGUpLT5tb3ZlVG9GbG93VGhy
ZWFkSXNOZWVkZWQobV9zdHlsZSk7Ci0gICAgICAgICAgICBpZiAoIXNob3VsZEJlSW5OYW1lZEZs
b3cpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9IGVsc2UKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KKyAgICBpZiAoIXBhcmVudFJlbmRlcmVyLT5j
YW5IYXZlQ2hpbGRyZW4oKSAmJiAhKG1fbm9kZS0+aXNQc2V1ZG9FbGVtZW50KCkgJiYgcGFyZW50
UmVuZGVyZXItPmNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIGlmICghbV9yZW5kZXJpbmdQYXJlbnQtPmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVy
ZXIoKnRoaXMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LXZvaWQgTm9kZVJlbmRlcmluZ0NvbnRleHQ6Om1vdmVUb0Zsb3dUaHJlYWRJZk5lZWRlZCgpCisv
LyBDaGVjayB0aGUgc3BlY2lmaWMgY2FzZSBvZiBlbGVtZW50cyB0aGF0IGFyZSBjaGlsZHJlbiBv
ZiByZWdpb25zIGJ1dCBhcmUgZmxvd2VkIGludG8gYSBmbG93IHRocmVhZCB0aGVtc2VsdmVzLgor
Ym9vbCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6ZWxlbWVudEluc2lkZVJlZ2lvbk5lZWRzUmVuZGVy
ZXIoKQogewotICAgIEFTU0VSVChtX25vZGUtPmlzRWxlbWVudE5vZGUoKSk7CisgICAgRWxlbWVu
dCogZWxlbWVudCA9IHRvRWxlbWVudChtX25vZGUpOworICAgIGJvb2wgZWxlbWVudEluc2lkZVJl
Z2lvbk5lZWRzUmVuZGVyZXIgPSBmYWxzZTsKKyAgICBSZW5kZXJPYmplY3QqIHBhcmVudFJlbmRl
cmVyID0gdGhpcy0+cGFyZW50UmVuZGVyZXIoKTsKKyAgICBpZiAoKHBhcmVudFJlbmRlcmVyICYm
ICFwYXJlbnRSZW5kZXJlci0+Y2FuSGF2ZUNoaWxkcmVuKCkgJiYgcGFyZW50UmVuZGVyZXItPmlz
UmVuZGVyUmVnaW9uKCkpCisgICAgICAgIHx8ICghcGFyZW50UmVuZGVyZXIgJiYgZWxlbWVudC0+
cGFyZW50RWxlbWVudCgpICYmIGVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKS0+aXNJbnNpZGVSZWdp
b24oKSkpIHsKIAotICAgIGlmICghdG9FbGVtZW50KG1fbm9kZSktPm1vdmVUb0Zsb3dUaHJlYWRJ
c05lZWRlZChtX3N0eWxlKSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAoIW1fc3R5bGUp
CisgICAgICAgICAgICBtX3N0eWxlID0gZWxlbWVudC0+c3R5bGVGb3JSZW5kZXJlcigpOworCisg
ICAgICAgIGVsZW1lbnRJbnNpZGVSZWdpb25OZWVkc1JlbmRlcmVyID0gZWxlbWVudC0+c2hvdWxk
TW92ZVRvRmxvd1RocmVhZChtX3N0eWxlLmdldCgpKTsKIAotICAgIG1vdmVUb0Zsb3dUaHJlYWQo
KTsKKyAgICAgICAgLy8gQ2hpbGRyZW4gb2YgdGhpcyBlbGVtZW50IHdpbGwgb25seSBiZSBhbGxv
d2VkIHRvIGJlIGZsb3dlZCBpbnRvIG90aGVyIGZsb3ctdGhyZWFkcyBpZiBkaXNwbGF5IGlzIE5P
VCBub25lLgorICAgICAgICBpZiAoZWxlbWVudC0+cmVuZGVyZXJJc05lZWRlZCgqdGhpcykpCisg
ICAgICAgICAgICBlbGVtZW50LT5zZXRJc0luc2lkZVJlZ2lvbih0cnVlKTsKKyAgICB9CisKKyAg
ICByZXR1cm4gZWxlbWVudEluc2lkZVJlZ2lvbk5lZWRzUmVuZGVyZXI7CiB9CiAKLXZvaWQgTm9k
ZVJlbmRlcmluZ0NvbnRleHQ6Om1vdmVUb0Zsb3dUaHJlYWQoKQordm9pZCBOb2RlUmVuZGVyaW5n
Q29udGV4dDo6bW92ZVRvRmxvd1RocmVhZElmTmVlZGVkKCkKIHsKLSAgICBBU1NFUlQobV9ub2Rl
LT5pc0VsZW1lbnROb2RlKCkpOwotICAgIEFTU0VSVCh0b0VsZW1lbnQobV9ub2RlKS0+bW92ZVRv
Rmxvd1RocmVhZElzTmVlZGVkKG1fc3R5bGUpKTsKKyAgICBFbGVtZW50KiBlbGVtZW50ID0gdG9F
bGVtZW50KG1fbm9kZSk7CisKKyAgICBpZiAoIWVsZW1lbnQtPnNob3VsZE1vdmVUb0Zsb3dUaHJl
YWQobV9zdHlsZS5nZXQoKSkpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9zdHlsZSkK
LSAgICAgICAgbV9zdHlsZSA9IHRvRWxlbWVudChtX25vZGUpLT5zdHlsZUZvclJlbmRlcmVyKCk7
Ci0gICAgQVNTRVJUKG1fc3R5bGUpOwogICAgIEFTU0VSVChtX25vZGUtPmRvY3VtZW50KCktPnJl
bmRlclZpZXcoKSk7CiAgICAgRmxvd1RocmVhZENvbnRyb2xsZXIqIGZsb3dUaHJlYWRDb250cm9s
bGVyID0gbV9ub2RlLT5kb2N1bWVudCgpLT5yZW5kZXJWaWV3KCktPmZsb3dUaHJlYWRDb250cm9s
bGVyKCk7CiAgICAgbV9wYXJlbnRGbG93UmVuZGVyZXIgPSBmbG93VGhyZWFkQ29udHJvbGxlci0+
ZW5zdXJlUmVuZGVyRmxvd1RocmVhZFdpdGhOYW1lKG1fc3R5bGUtPmZsb3dUaHJlYWQoKSk7CkBA
IC0yNTAsOCArMjQ3LDExIEBAIHZvaWQgTm9kZVJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZVJlbmRl
cmVyRm9yRWxlbWVudElmTmVlZGVkKCkKIAogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSB0b0VsZW1l
bnQobV9ub2RlKTsKIAotICAgIGlmICghc2hvdWxkQ3JlYXRlUmVuZGVyZXIoKSkKKyAgICBlbGVt
ZW50LT5zZXRJc0luc2lkZVJlZ2lvbihmYWxzZSk7CisKKyAgICBpZiAoIXNob3VsZENyZWF0ZVJl
bmRlcmVyKCkgJiYgIWVsZW1lbnRJbnNpZGVSZWdpb25OZWVkc1JlbmRlcmVyKCkpCiAgICAgICAg
IHJldHVybjsKKwogICAgIGlmICghbV9zdHlsZSkKICAgICAgICAgbV9zdHlsZSA9IGVsZW1lbnQt
PnN0eWxlRm9yUmVuZGVyZXIoKTsKICAgICBBU1NFUlQobV9zdHlsZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDBmMTBhMGQuLjI4NWJlNGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5oCkBAIC01Niw3ICs1Niw3IEBA
IHB1YmxpYzoKICAgICBOb2RlKiBub2RlKCkgY29uc3Q7CiAgICAgQ29udGFpbmVyTm9kZSogcGFy
ZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlKCkgY29uc3Q7CiAgICAgYm9vbCByZXNldFN0eWxl
SW5oZXJpdGFuY2UoKSBjb25zdDsKLSAgICBSZW5kZXJPYmplY3QqIHBhcmVudFJlbmRlcmVyKCk7
IC8vIHRoZSByZW5kZXJlciB0aGF0IHdpbGwgYmUgdGhlIHBhcmVudCBmb3IgdGhpcyBub2RlJ3Mg
cmVuZGVyZXIuIEluIHRoZSBjYXNlIG9mIFJlbmRlckZsb3dUaHJlYWRzLCBpdCBtYXkgbmVlZCB0
byBjcmVhdGUgaXQuCisgICAgUmVuZGVyT2JqZWN0KiBwYXJlbnRSZW5kZXJlcigpIGNvbnN0Owog
ICAgIFJlbmRlck9iamVjdCogbmV4dFJlbmRlcmVyKCkgY29uc3Q7CiAgICAgUmVuZGVyT2JqZWN0
KiBwcmV2aW91c1JlbmRlcmVyKCkgY29uc3Q7CiAgICAgSW5zZXJ0aW9uUG9pbnQqIGluc2VydGlv
blBvaW50KCkgY29uc3Q7CkBAIC02Nyw5ICs2Nyw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzT25F
bmNhcHN1bGF0aW9uQm91bmRhcnkoKSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICBib29sIHNob3Vs
ZENyZWF0ZVJlbmRlcmVyKCk7Ci0gICAgdm9pZCBtb3ZlVG9GbG93VGhyZWFkKCk7CisgICAgYm9v
bCBzaG91bGRDcmVhdGVSZW5kZXJlcigpIGNvbnN0OwogICAgIHZvaWQgbW92ZVRvRmxvd1RocmVh
ZElmTmVlZGVkKCk7CisgICAgYm9vbCBlbGVtZW50SW5zaWRlUmVnaW9uTmVlZHNSZW5kZXJlcigp
OwogCiAgICAgTm9kZSogbV9ub2RlOwogICAgIENvbnRhaW5lck5vZGUqIG1fcmVuZGVyaW5nUGFy
ZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmgKaW5kZXggYjhhNDA3Yy4uOTViYThiYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5oCkBAIC00OCwxMSArNDgsNyBAQCBwdWJsaWM6
CiAKICAgICAvLyBBcyBwZXIgaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzMy1yZWdpb25zLyNm
bG93LWludG8sIHBzZXVkby1lbGVtZW50cyBzdWNoIGFzIDo6Zmlyc3QtbGluZSwgOjpmaXJzdC1s
ZXR0ZXIsIDo6YmVmb3JlIG9yIDo6YWZ0ZXIKICAgICAvLyBjYW5ub3QgYmUgZGlyZWN0bHkgY29s
bGVjdGVkIGludG8gYSBuYW1lZCBmbG93LgotICAgIHZpcnR1YWwgYm9vbCBtb3ZlVG9GbG93VGhy
ZWFkSXNOZWVkZWQoUmVmUHRyPFJlbmRlclN0eWxlPiYgY2FjaGVkU3R5bGUpIE9WRVJSSURFCi0g
ICAgewotICAgICAgICBVTlVTRURfUEFSQU0oY2FjaGVkU3R5bGUpOwotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgfQorICAgIHZpcnR1YWwgYm9vbCBzaG91bGRNb3ZlVG9GbG93VGhyZWFkKFJl
bmRlclN0eWxlKikgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1
YWwgYm9vbCBjYW5TdGFydFNlbGVjdGlvbigpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgdmlydHVhbCBib29sIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50KCkgY29uc3QgT1ZF
UlJJREUgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9U
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmNwcAppbmRleCAxZDI1ZmJjLi5hODky
ZGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1RleHQuY3BwCkBAIC0xOTksNyArMTk5LDcgQEAgUGFzc1JlZlB0cjxOb2Rl
PiBUZXh0OjpjbG9uZU5vZGUoYm9vbCAvKmRlZXAqLykKICAgICByZXR1cm4gY3JlYXRlKGRvY3Vt
ZW50KCksIGRhdGEoKSk7CiB9CiAKLWJvb2wgVGV4dDo6dGV4dFJlbmRlcmVySXNOZWVkZWQoTm9k
ZVJlbmRlcmluZ0NvbnRleHQmIGNvbnRleHQpCitib29sIFRleHQ6OnRleHRSZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JiBjb250ZXh0KQogewogICAgIGlmIChpc0Vk
aXRpbmdUZXh0KCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1RleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmgKaW5kZXggYWY5YjI0
OC4uOTQ0MDA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vVGV4dC5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAgICAK
ICAgICB2b2lkIHJlY2FsY1RleHRTdHlsZShTdHlsZUNoYW5nZSk7CiAgICAgdm9pZCBjcmVhdGVU
ZXh0UmVuZGVyZXJJZk5lZWRlZCgpOwotICAgIGJvb2wgdGV4dFJlbmRlcmVySXNOZWVkZWQoTm9k
ZVJlbmRlcmluZ0NvbnRleHQmKTsKKyAgICBib29sIHRleHRSZW5kZXJlcklzTmVlZGVkKGNvbnN0
IE5vZGVSZW5kZXJpbmdDb250ZXh0Jik7CiAgICAgUmVuZGVyVGV4dCogY3JlYXRlVGV4dFJlbmRl
cmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKICAgICB2b2lkIHVwZGF0ZVRleHRSZW5k
ZXJlcih1bnNpZ25lZCBvZmZzZXRPZlJlcGxhY2VkRGF0YSwgdW5zaWduZWQgbGVuZ3RoT2ZSZXBs
YWNlZERhdGEpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1Ro
cmVhZENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRD
b250cm9sbGVyLmNwcAppbmRleCBkZjE0YzMzLi5lMGYxYzY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5jcHAKQEAgLTExOCw3ICsxMTgs
NyBAQCB2b2lkIEZsb3dUaHJlYWRDb250cm9sbGVyOjpyZWdpc3Rlck5hbWVkRmxvd0NvbnRlbnRO
b2RlKE5vZGUqIGNvbnRlbnROb2RlLCBSZW5kZQogdm9pZCBGbG93VGhyZWFkQ29udHJvbGxlcjo6
dW5yZWdpc3Rlck5hbWVkRmxvd0NvbnRlbnROb2RlKE5vZGUqIGNvbnRlbnROb2RlKQogewogICAg
IEFTU0VSVChjb250ZW50Tm9kZSAmJiBjb250ZW50Tm9kZS0+aXNFbGVtZW50Tm9kZSgpKTsKLSAg
ICBIYXNoTWFwPE5vZGUqLCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQqPjo6aXRlcmF0b3IgaXQgPSBt
X21hcE5hbWVkRmxvd0NvbnRlbnROb2Rlcy5maW5kKGNvbnRlbnROb2RlKTsKKyAgICBIYXNoTWFw
PGNvbnN0IE5vZGUqLCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQqPjo6aXRlcmF0b3IgaXQgPSBtX21h
cE5hbWVkRmxvd0NvbnRlbnROb2Rlcy5maW5kKGNvbnRlbnROb2RlKTsKICAgICBBU1NFUlQoaXQg
IT0gbV9tYXBOYW1lZEZsb3dDb250ZW50Tm9kZXMuZW5kKCkpOwogICAgIEFTU0VSVChpdC0+dmFs
dWUpOwogICAgIEFTU0VSVChpdC0+dmFsdWUtPmhhc0NvbnRlbnROb2RlKGNvbnRlbnROb2RlKSk7
CkBAIC0yMjcsNyArMjI3LDcgQEAgdm9pZCBGbG93VGhyZWFkQ29udHJvbGxlcjo6dXBkYXRlRmxv
d1RocmVhZHNJbnRvQ29uc3RyYWluZWRQaGFzZSgpCiAgICAgfQogfQogCi1ib29sIEZsb3dUaHJl
YWRDb250cm9sbGVyOjppc0NvbnRlbnROb2RlUmVnaXN0ZXJlZFdpdGhBbnlOYW1lZEZsb3coTm9k
ZSogY29udGVudE5vZGUpIGNvbnN0Citib29sIEZsb3dUaHJlYWRDb250cm9sbGVyOjppc0NvbnRl
bnROb2RlUmVnaXN0ZXJlZFdpdGhBbnlOYW1lZEZsb3coY29uc3QgTm9kZSogY29udGVudE5vZGUp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fbWFwTmFtZWRGbG93Q29udGVudE5vZGVzLmNvbnRhaW5z
KGNvbnRlbnROb2RlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9G
bG93VGhyZWFkQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJl
YWRDb250cm9sbGVyLmgKaW5kZXggNDU1MzRkNS4uZWM4Yzc0YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmgKQEAgLTY2LDcgKzY2LDcgQEAg
cHVibGljOgogCiAgICAgdm9pZCByZWdpc3Rlck5hbWVkRmxvd0NvbnRlbnROb2RlKE5vZGUqLCBS
ZW5kZXJOYW1lZEZsb3dUaHJlYWQqKTsKICAgICB2b2lkIHVucmVnaXN0ZXJOYW1lZEZsb3dDb250
ZW50Tm9kZShOb2RlKik7Ci0gICAgYm9vbCBpc0NvbnRlbnROb2RlUmVnaXN0ZXJlZFdpdGhBbnlO
YW1lZEZsb3coTm9kZSopIGNvbnN0OworICAgIGJvb2wgaXNDb250ZW50Tm9kZVJlZ2lzdGVyZWRX
aXRoQW55TmFtZWRGbG93KGNvbnN0IE5vZGUqKSBjb25zdDsKIAogICAgIGJvb2wgaGFzRmxvd1Ro
cmVhZHNXaXRoQXV0b0xvZ2ljYWxIZWlnaHRSZWdpb25zKCkgY29uc3QgeyByZXR1cm4gbV9mbG93
VGhyZWFkc1dpdGhBdXRvTG9naWNhbEhlaWdodFJlZ2lvbnM7IH0KICAgICB2b2lkIGluY3JlbWVu
dEZsb3dUaHJlYWRzV2l0aEF1dG9Mb2dpY2FsSGVpZ2h0UmVnaW9ucygpIHsgKyttX2Zsb3dUaHJl
YWRzV2l0aEF1dG9Mb2dpY2FsSGVpZ2h0UmVnaW9uczsgfQpAQCAtOTIsNyArOTIsNyBAQCBwcml2
YXRlOgogICAgIHVuc2lnbmVkIG1fZmxvd1RocmVhZHNXaXRoQXV0b0xvZ2ljYWxIZWlnaHRSZWdp
b25zOwogICAgIE93blB0cjxSZW5kZXJOYW1lZEZsb3dUaHJlYWRMaXN0PiBtX3JlbmRlck5hbWVk
Rmxvd1RocmVhZExpc3Q7CiAgICAgLy8gbWFwcyBhIGNvbnRlbnQgbm9kZSB0byBpdHMgcmVuZGVy
IGZsb3cgdGhyZWFkLgotICAgIEhhc2hNYXA8Tm9kZSosIFJlbmRlck5hbWVkRmxvd1RocmVhZCo+
IG1fbWFwTmFtZWRGbG93Q29udGVudE5vZGVzOworICAgIEhhc2hNYXA8Y29uc3QgTm9kZSosIFJl
bmRlck5hbWVkRmxvd1RocmVhZCo+IG1fbWFwTmFtZWRGbG93Q29udGVudE5vZGVzOwogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDlkYzU4ZWEuLmFj
ODNlODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTI1Miw3
ICsyNTIsNiBAQCBwdWJsaWM6CiAgICAgLy8gUmVuZGVyT2JqZWN0IHRyZWUgbWFuaXB1bGF0aW9u
CiAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAgdmly
dHVhbCBib29sIGNhbkhhdmVDaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIHZpcnR1YWxDaGlsZHJl
bigpOyB9Ci0gICAgdmlydHVhbCBib29sIGNhbkRPTUNoaWxkcmVuSGF2ZVJlbmRlclBhcmVudCgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9IC8vIEV2ZW4gaWYgdGhpcyByZW5kZXIgb2JqZWN0IGNh
bid0IGhhdmUgcmVuZGVyIGNoaWxkcmVuLCB0aGUgY2hpbGRyZW4gaW4gdGhlIERPTSB0cmVlIG1h
eSBoYXZlIGEgcmVuZGVyIHBhcmVudCAodGhhdCBpcyBkaWZmZXJlbnQgZnJvbSB0aGlzIG9iamVj
dCkuCiAgICAgdmlydHVhbCBib29sIGNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpIGNvbnN0Owog
ICAgIHZpcnR1YWwgYm9vbCBpc0NoaWxkQWxsb3dlZChSZW5kZXJPYmplY3QqLCBSZW5kZXJTdHls
ZSopIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWRkQ2hpbGQoUmVu
ZGVyT2JqZWN0KiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IDApOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oCmluZGV4IDgzMDVkNzQuLjc3MDgxNjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKQEAgLTE1NSw3ICsxNTUs
NiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0
IHsgcmV0dXJuICJSZW5kZXJSZWdpb24iOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuSGF2ZUNo
aWxkcmVuKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJv
b2wgY2FuRE9NQ2hpbGRyZW5IYXZlUmVuZGVyUGFyZW50KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1
cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSBj
b25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0
ZWRJbnRvVHJlZSgpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCmluZGV4IDEy
Zjc0NzMuLmQ5ZjJkODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKQEAgLTQ2MCwxMCAr
NDYwLDEwIEBAIHN0YXRpYyBib29sIGhhc0xvYWRMaXN0ZW5lcihFbGVtZW50KiBlbGVtZW50KQog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTVkdFbGVtZW50Ojptb3ZlVG9GbG93VGhyZWFk
SXNOZWVkZWQoUmVmUHRyPFJlbmRlclN0eWxlPiYgY2FjaGVkU3R5bGUpCitib29sIFNWR0VsZW1l
bnQ6OnNob3VsZE1vdmVUb0Zsb3dUaHJlYWQoUmVuZGVyU3R5bGUqIHN0eWxlVG9Vc2UpIGNvbnN0
CiB7CiAgICAgLy8gQWxsb3cgb25seSBzdmcgcm9vdCBlbGVtZW50cyB0byBiZSBkaXJlY3RseSBj
b2xsZWN0ZWQgYnkgYSByZW5kZXIgZmxvdyB0aHJlYWQuCi0gICAgcmV0dXJuIHBhcmVudE5vZGUo
KSAmJiAhcGFyZW50Tm9kZSgpLT5pc1NWR0VsZW1lbnQoKSAmJiBoYXNUYWdOYW1lKFNWR05hbWVz
OjpzdmdUYWcpICYmIEVsZW1lbnQ6Om1vdmVUb0Zsb3dUaHJlYWRJc05lZWRlZChjYWNoZWRTdHls
ZSk7CisgICAgcmV0dXJuIHBhcmVudE5vZGUoKSAmJiAhcGFyZW50Tm9kZSgpLT5pc1NWR0VsZW1l
bnQoKSAmJiBoYXNUYWdOYW1lKFNWR05hbWVzOjpzdmdUYWcpICYmIEVsZW1lbnQ6OnNob3VsZE1v
dmVUb0Zsb3dUaHJlYWQoc3R5bGVUb1VzZSk7CiB9CiAKIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNW
R0xvYWRFdmVudElmUG9zc2libGUoYm9vbCBzZW5kUGFyZW50TG9hZEV2ZW50cykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRWxlbWVudC5oCmluZGV4IGY0NTk2YzIuLmMzMGVkODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnQuaApAQCAtMTIxLDcgKzEyMSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgYWRkRXZl
bnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxFdmVu
dExpc3RlbmVyPiwgYm9vbCB1c2VDYXB0dXJlKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wg
cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRM
aXN0ZW5lciosIGJvb2wgdXNlQ2FwdHVyZSkgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIGJvb2wg
bW92ZVRvRmxvd1RocmVhZElzTmVlZGVkKFJlZlB0cjxSZW5kZXJTdHlsZT4mIGNhY2hlZFN0eWxl
KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkTW92ZVRvRmxvd1RocmVhZChSZW5k
ZXJTdHlsZSopIGNvbnN0IE9WRVJSSURFOwogCiBwcm90ZWN0ZWQ6CiAgICAgU1ZHRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBDb25zdHJ1Y3Rpb25UeXBlID0gQ3JlYXRl
U1ZHRWxlbWVudCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205979</attachid>
            <date>2013-07-03 01:33:51 -0700</date>
            <delta_ts>2013-07-03 02:07:11 -0700</delta_ts>
            <desc>buildfix for !ENABLE(CSS_REGIONS) builds</desc>
            <filename>cssregions.patch</filename>
            <type>text/plain</type>
            <size>2689</size>
            <attacher name="Zoltan Arvai">zarvai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0NjgyZDkwLi45YTRkMWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTMtMDctMDMgIFpvbHRhbiBBcnZhaSAgPHphcnZhaUBpbmYudS1zemVnZWQuaHU+CisK
KyAgICAgICAgRml4aW5nIGd1YXJkcyBmb3IgIUVOQUJMRShDU1NfUkVHSU9OUykgYnVpbGRzIGFm
dGVyIHIxNTIzMjAuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGRvbS9Ob2RlUmVuZGVyaW5nQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmVuZGVyaW5nQ29udGV4dDo6ZWxlbWVudElu
c2lkZVJlZ2lvbk5lZWRzUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRlcmlu
Z0NvbnRleHQ6Om1vdmVUb0Zsb3dUaHJlYWRJZk5lZWRlZCk6CisKIDIwMTMtMDctMDIgIFJ5b3N1
a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW9kZXJuaXplIFF1YWxpZmll
ZE5hbWUgYnkgd3JhcHBpbmcgZ05hbWVDYWNoZSBpbiBhIGZ1bmN0aW9uIGFuZCB1c2luZyBtb3Jl
IGVhcmx5IGV4aXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA2NzViZDUwLi5lZWQwN2IxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmgKQEAgLTYzNSw5ICs2MzUsMTAgQEAgcHVibGljOgogICAgIFBhc3NSZWZQ
dHI8UmVuZGVyU3R5bGU+IHN0eWxlRm9yUmVuZGVyZXIoKTsKIAogICAgIFJlbmRlclJlZ2lvbiog
cmVuZGVyUmVnaW9uKCkgY29uc3Q7CisKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgdmly
dHVhbCBib29sIHNob3VsZE1vdmVUb0Zsb3dUaHJlYWQoUmVuZGVyU3R5bGUqKSBjb25zdDsKICAg
ICAKLSNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB3ZWJr
aXRSZWdpb25PdmVyc2V0KCkgY29uc3Q7CiAgICAgVmVjdG9yPFJlZlB0cjxSYW5nZT4gPiB3ZWJr
aXRHZXRSZWdpb25GbG93UmFuZ2VzKCkgY29uc3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDIxMGQxODguLjM4YTBjYWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtMjA3LDkgKzIw
Nyw5IEBAIGJvb2wgTm9kZVJlbmRlcmluZ0NvbnRleHQ6OmVsZW1lbnRJbnNpZGVSZWdpb25OZWVk
c1JlbmRlcmVyKCkKIAogICAgICAgICBpZiAoIW1fc3R5bGUpCiAgICAgICAgICAgICBtX3N0eWxl
ID0gZWxlbWVudC0+c3R5bGVGb3JSZW5kZXJlcigpOwotCisjaWYgRU5BQkxFKENTU19SRUdJT05T
KQogICAgICAgICBlbGVtZW50SW5zaWRlUmVnaW9uTmVlZHNSZW5kZXJlciA9IGVsZW1lbnQtPnNo
b3VsZE1vdmVUb0Zsb3dUaHJlYWQobV9zdHlsZS5nZXQoKSk7Ci0KKyNlbmRpZgogICAgICAgICAv
LyBDaGlsZHJlbiBvZiB0aGlzIGVsZW1lbnQgd2lsbCBvbmx5IGJlIGFsbG93ZWQgdG8gYmUgZmxv
d2VkIGludG8gb3RoZXIgZmxvdy10aHJlYWRzIGlmIGRpc3BsYXkgaXMgTk9UIG5vbmUuCiAgICAg
ICAgIGlmIChlbGVtZW50LT5yZW5kZXJlcklzTmVlZGVkKCp0aGlzKSkKICAgICAgICAgICAgIGVs
ZW1lbnQtPnNldElzSW5zaWRlUmVnaW9uKHRydWUpOwpAQCAtMjIwLDYgKzIyMCw3IEBAIGJvb2wg
Tm9kZVJlbmRlcmluZ0NvbnRleHQ6OmVsZW1lbnRJbnNpZGVSZWdpb25OZWVkc1JlbmRlcmVyKCkK
IAogdm9pZCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6bW92ZVRvRmxvd1RocmVhZElmTmVlZGVkKCkK
IHsKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgRWxlbWVudCogZWxlbWVudCA9IHRvRWxl
bWVudChtX25vZGUpOwogCiAgICAgaWYgKCFlbGVtZW50LT5zaG91bGRNb3ZlVG9GbG93VGhyZWFk
KG1fc3R5bGUuZ2V0KCkpKQpAQCAtMjI5LDYgKzIzMCw3IEBAIHZvaWQgTm9kZVJlbmRlcmluZ0Nv
bnRleHQ6Om1vdmVUb0Zsb3dUaHJlYWRJZk5lZWRlZCgpCiAgICAgRmxvd1RocmVhZENvbnRyb2xs
ZXIqIGZsb3dUaHJlYWRDb250cm9sbGVyID0gbV9ub2RlLT5kb2N1bWVudCgpLT5yZW5kZXJWaWV3
KCktPmZsb3dUaHJlYWRDb250cm9sbGVyKCk7CiAgICAgbV9wYXJlbnRGbG93UmVuZGVyZXIgPSBm
bG93VGhyZWFkQ29udHJvbGxlci0+ZW5zdXJlUmVuZGVyRmxvd1RocmVhZFdpdGhOYW1lKG1fc3R5
bGUtPmZsb3dUaHJlYWQoKSk7CiAgICAgZmxvd1RocmVhZENvbnRyb2xsZXItPnJlZ2lzdGVyTmFt
ZWRGbG93Q29udGVudE5vZGUobV9ub2RlLCBtX3BhcmVudEZsb3dSZW5kZXJlcik7CisjZW5kaWYK
IH0KIAogYm9vbCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6aXNPbkVuY2Fwc3VsYXRpb25Cb3VuZGFy
eSgpIGNvbnN0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>