<?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>111749</bug_id>
          
          <creation_ts>2013-03-07 10:01:35 -0800</creation_ts>
          <short_desc>[CSS Regions] Mouse over an element does not trigger :hover state for parent when the element is flowed in a region</short_desc>
          <delta_ts>2013-07-17 11:24:45 -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>AdobeTracked</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>117035</dependson>
          <blocked>57312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihai Balan">mibalan</reporter>
          <assigned_to name="Radu Stavila">stavila</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>mihnea</cc>
    
    <cc>rniwa</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>850198</commentid>
    <comment_count>0</comment_count>
    <who name="Mihai Balan">mibalan</who>
    <bug_when>2013-03-07 10:01:35 -0800</bug_when>
    <thetext>In &quot;normal flow&quot;, if an element has a :hover rule, it is applied when moving the mouse over it&apos;s children too, even if they are not geometrically inside the box of their parent (e.g. positioned elements, etc.)

However, if the children are flowed in a region while their parent is still in normal flow, the :hover state is not triggered on the parent (when moving the mouse over its children).

If both the parent and it&apos;s children are in a named flow, the :hover state gets triggered as usually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850209</commentid>
    <comment_count>1</comment_count>
      <attachid>192035</attachid>
    <who name="Mihai Balan">mibalan</who>
    <bug_when>2013-03-07 10:09:27 -0800</bug_when>
    <thetext>Created attachment 192035
Ref-test highlighting the problem

Interactive ref-test highlighting the problem.

The -expected file simulates the out-of-parent rectangle situation via relative positioning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891595</commentid>
    <comment_count>2</comment_count>
      <attachid>202382</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-05-20 23:55:21 -0700</bug_when>
    <thetext>Created attachment 202382
More test cases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892710</commentid>
    <comment_count>3</comment_count>
      <attachid>202652</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-05-23 02:09:06 -0700</bug_when>
    <thetext>Created attachment 202652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892854</commentid>
    <comment_count>4</comment_count>
      <attachid>202707</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-05-23 07:08:22 -0700</bug_when>
    <thetext>Created attachment 202707
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894308</commentid>
    <comment_count>5</comment_count>
      <attachid>202707</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-05-28 05:25:21 -0700</bug_when>
    <thetext>Comment on attachment 202707
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        When searching for the hover ancestor and encountering a named flow thread,
&gt; +        the search will continue with the DOM ancestor of the top-most element
&gt; +        in the named flow thread.

The ChangeLog could use improvements. What happened before? How does this change fix the bug?

&gt; Source/WebCore/rendering/RenderObject.cpp:3047
&gt; +RenderObject* RenderObject::hoverAncestor() const
&gt; +{

Is this function really necessary for all RenderObjects? Could it be in some more specific subclass? (RenderBoxModelObject? RenderBox?)

&gt; Source/WebCore/rendering/RenderObject.cpp:3056
&gt; +    // Skip anonymous blocks. There&apos;s no point in treating them as hover ancestors
&gt; +    // and it would also prevent us from continuing the search on the DOM tree
&gt; +    // when reaching the named flow thread.

Why is there &quot;no point&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894312</commentid>
    <comment_count>6</comment_count>
      <attachid>202707</attachid>
    <who name="Radu Stavila">stavila</who>
    <bug_when>2013-05-28 05:42:37 -0700</bug_when>
    <thetext>Comment on attachment 202707
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +        in the named flow thread.
&gt; 
&gt; The ChangeLog could use improvements. What happened before? How does this change fix the bug?

The initial behaviour would just go up the parent chain, initially reaching the named flow thread and then the render view. As such, it would not reach the DOM parent of the element flowed into the named flow thread.

&gt;&gt; Source/WebCore/rendering/RenderObject.cpp:3047
&gt;&gt; +{
&gt; 
&gt; Is this function really necessary for all RenderObjects? Could it be in some more specific subclass? (RenderBoxModelObject? RenderBox?)

I believe so, since any type of object can reside inside a named flow.

&gt;&gt; Source/WebCore/rendering/RenderObject.cpp:3056
&gt;&gt; +    // when reaching the named flow thread.
&gt; 
&gt; Why is there &quot;no point&quot;?

Hovering is based on the DOM structure and anonymous blocks have no DOM equivalent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894697</commentid>
    <comment_count>7</comment_count>
      <attachid>202707</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-05-28 23:56:43 -0700</bug_when>
    <thetext>Comment on attachment 202707
Patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894711</commentid>
    <comment_count>8</comment_count>
      <attachid>202707</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-29 00:17:55 -0700</bug_when>
    <thetext>Comment on attachment 202707
Patch

Clearing flags on attachment: 202707

Committed r150868: &lt;http://trac.webkit.org/changeset/150868&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894712</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-29 00:17:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909394</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-07-17 11:03:39 -0700</bug_when>
    <thetext>We&apos;re seeing this as a possible regression in Chromium wrt handling of :hover on display: block:
https://code.google.com/p/chromium/issues/detail?id=253472

Still investigating, just a heads up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909401</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-07-17 11:24:45 -0700</bug_when>
    <thetext>This was verified to cause :hover to stop working on display: block elements in Chromium, and a revert patch has been posted:
https://codereview.chromium.org/19660002

I don&apos;t know if this caused the same regression in WebKit.  Just wanted you to know.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>192035</attachid>
            <date>2013-03-07 10:09:27 -0800</date>
            <delta_ts>2013-03-07 10:09:27 -0800</delta_ts>
            <desc>Ref-test highlighting the problem</desc>
            <filename>111749.zip</filename>
            <type>application/x-zip-compressed</type>
            <size>1205</size>
            <attacher name="Mihai Balan">mibalan</attacher>
            
              <data encoding="base64">UEsDBAoAAAAAAEWgZ0IAAAAAAAAAAAAAAAAHABAAMTExNzQ5L1VYDAA51ThRIdY4UfUBFABQSwME
FAAIAAgAeKBnQgAAAAAAAAAAAAAAACQAEAAxMTE3NDkvaG92ZXItb24tcGFyZW50LWV4cGVjdGVk
Lmh0bWxVWAwAiNY4UYPWOFH1ARQAdZJNTsMwEIXX6SkGs24DO1TcbJBYwYpyADcexRaOJ9iTQoW4
O+MkEmoFK9vjNz/fs/WVpZZPA4LjPjQrXRYIJnY7hVGVABrbrCrdIxtonUkZeade94/rO1Xi7Dlg
8/DyAltHR0xAEQaTMDJEYjDDEDxa+HAYJd0HCz6Dj5Cw8xR1PedLocynabM50Cd8rarqw1t2W7i9
uRk+7+Xs0HeOfwPfq+q6pcilVdEfTPvWJRqjXbcUKG0hlIRDGPFcvQz6X05/IW+sP/4jpiROFXk1
UPYsQFsBC4b9cYoyDWfzCma9cOp6dlYfyJ4KP4n9VaWDb55lPGCH0NOYEaZhy3HuBvl9FH91Lcol
YS+XBXO5guxoFKN5TBG6hBgXsa6nJroAtcHkvFNitgJvd2qBVVPNC0HzRAl78EMee7AFHYQWjPyJ
ja5FPNVe1r+Kz4+tmkWk6xlaPCi/7gdQSwcIFEXX6VgBAACFAgAAUEsDBBQACAAIAHmgZ0IAAAAA
AAAAAAAAAAAbABAAMTExNzQ5L2hvdmVyLW9uLXBhcmVudC5odG1sVVgMAI/WOFGG1jhR9QEUAHWS
wVLDIBCGz+lTrHhOU29OpLk440lPrQ+QhG1gStgIpGnH8d2FhNFpR0/A8u3P7r/wO0GtvwwI0ve6
WvG4gK5Nt2VoWAxgLapVxnv0NbSytg79lr3vX/JHFuNeeY3V824HpaQTWiADQ23ReDDkoR4GrVDA
JNGEdKUFKAfKgMVOkeHFkh+EnL/Mm3VDZ/hcZdmkhJclPGw2w/kpnCWqTvrfwNcqu2/J+PhU5Ju6
PXaWRiPyljTZEnRMaPSI13Qq9L+c/gavhDr9A5MNTkU8yydsjsrnB01TroynEg5JZul0VriiDpb6
H4oXqX9eLI7zhsQl+kJhLFnGtareQtngJUJPo0OYm4jHpQpwH2PwnReBTAn7cBnbT1fgJI1hAH60
BjqLaBLMi/kRHhttde3cloUhMFBiy5IJbNa8AapXstiDGtzYg4iWgFNh5uGvrHkR4Fk7rX+JL9aw
KkG8WJoOHsTf+A1QSwcINJRT4WMBAACdAgAAUEsBAhUDCgAAAAAARaBnQgAAAAAAAAAAAAAAAAcA
DAAAAAAAAAAAQO1BAAAAADExMTc0OS9VWAgAOdU4USHWOFFQSwECFQMUAAgACAB4oGdCFEXX6VgB
AACFAgAAJAAMAAAAAAAAAABApIE1AAAAMTExNzQ5L2hvdmVyLW9uLXBhcmVudC1leHBlY3RlZC5o
dG1sVVgIAIjWOFGD1jhRUEsBAhUDFAAIAAgAeaBnQjSUU+FjAQAAnQIAABsADAAAAAAAAAAAQKSB
7wEAADExMTc0OS9ob3Zlci1vbi1wYXJlbnQuaHRtbFVYCACP1jhRhtY4UVBLBQYAAAAAAwADAPQA
AACrAwAAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>202382</attachid>
            <date>2013-05-20 23:55:21 -0700</date>
            <delta_ts>2013-05-20 23:55:21 -0700</delta_ts>
            <desc>More test cases</desc>
            <filename>111749.zip</filename>
            <type>application/zip</type>
            <size>1485</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">UEsDBAoAAAAAAI1OtUIAAAAAAAAAAAAAAAAHABAAMTExNzQ5L1VYDAChGZtRqhmbUfUBFABQSwME
FAAIAAgAU0azQgAAAAAAAAAAAAAAABMAEAAxMTE3NDkvVGVzdEJ1Zy5odG1sVVgMALMZm1EuaJhR
9QEUAJWSsVLDMAyGd55ChDmXZuiSmi7A2jKwMCaRGvvqWjnXNO1xvDtuExqbHlA02Ppty59kWdw+
Lh9eXp+fQLqNnt+IfgJvQlKJvXuSW3fQNOqj3bWlJeNyeIdOoZMF5JNJu5+BJNVId5YVWyRbwLTd
w5a1Qqh0Wa/9hh8by28G05o1+yOWcAYfMaVm4zxmwUgBahqRepV2VK2VS1eau1QZxwUc3fxakqVG
sfmzngizsrwZMT9V+ktJheQdWc+8zLGxROYieHj1/8SJLGifyMbWiorxEHQZ1Q4U3icDI4kbft4O
80/mIvPrwSXf5FfQ8LrReZH1CficTj/vE1BLBwh+vB2Y+QAAAJECAABQSwMEFAAIAAgAVEuzQgAA
AAAAAAAAAAAAABQAEAAxMTE3NDkvVGVzdEJ1ZzIuaHRtbFVYDAC0GZtRoHCYUfUBFACtk8FSgzAQ
hu8+xYpnhsIMF4i9qGc9ePEIJE0yTbNMGks7ju9uCkoJFDt1zIFkk83/sZtdcvv4/PD69vIEwm7U
8oZ0E7hBBCtot2zNrT0odrKP446bQtO6MExb+IBGUisyiBeLep+DYJIL25slGspMBmm9hy0qSaFU
RbV2B+7LDb5rGlao0LmgU+Ush08f9u8cw2gOYcPKtbThSmETSm0xg+MynuArIRW9RJ9RS2bxI4hh
XKKOB5jUx6RTzMrgpv/p2fDPgpI/gpJfQWfylgncMeNo0zRww5ieeeyrrw0K8pq7JBpUN4lOlU9K
pIdBE1C5A0nvgwEn8Huidzl76nm0mQmWJHIbIxF/a2z+CHxXy0Ri5JB4DiTqYnJhtr3+BVBLBwgu
SNeeHwEAAAMEAABQSwMEFAAIAAgAwI60QgAAAAAAAAAAAAAAABQAEAAxMTE3NDkvVGVzdEJ1ZzMu
aHRtbFVYDAC0GZtRBzmaUfUBFACVlM1SgzAUhfc+RcRtGQodNzQy499aF25cps2FZBoSJo1FxvHd
DcQKAdQ2m3AzyXfPPXMGfPnwdP/y+vyImClFdoHdhuzCDAh1n125N42Avm7XVaGJpBXRIM3CqxL0
gWpODUtRslxW72vEgBfM/JQbst0VWr1JGm6VUDpFDQih6jX69Fs4Xo+Lrz3cdxnWsNlxE+YWEXJp
VIryjjbto6zKAiZ9towLOmjjq45/U62BTlAaCq7kfw54knOtyqPkEW1fEbmysJMnaR/EC7cnix5w
hkd7IkolW/KMSSlTB9CzigoNICeCBrlwb0dZOQeIo0EOcdRnFG8UbQZxpfyAOL0JBo0CP724Naa7
0zkWZHeQKw22gy1HV4+0WZB3o7MoyHBkD0aQmSNPQhJkt7kBPVYwejg3WvLnbCsLrklzKtfl15sB
R85e63j3g/gCUEsHCOMFQN9LAQAAOAQAAFBLAQIVAwoAAAAAAI1OtUIAAAAAAAAAAAAAAAAHAAwA
AAAAAAAAAEDtQQAAAAAxMTE3NDkvVVgIAKEZm1GqGZtRUEsBAhUDFAAIAAgAU0azQn68HZj5AAAA
kQIAABMADAAAAAAAAAAAQKSBNQAAADExMTc0OS9UZXN0QnVnLmh0bWxVWAgAsxmbUS5omFFQSwEC
FQMUAAgACABUS7NCLkjXnh8BAAADBAAAFAAMAAAAAAAAAABApIF/AQAAMTExNzQ5L1Rlc3RCdWcy
Lmh0bWxVWAgAtBmbUaBwmFFQSwECFQMUAAgACADAjrRC4wVA30sBAAA4BAAAFAAMAAAAAAAAAABA
pIHwAgAAMTExNzQ5L1Rlc3RCdWczLmh0bWxVWAgAtBmbUQc5mlFQSwUGAAAAAAQABAAqAQAAjQQA
AAAA
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202652</attachid>
            <date>2013-05-23 02:09:06 -0700</date>
            <delta_ts>2013-05-23 03:40:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>111749.patch</filename>
            <type>text/plain</type>
            <size>20646</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxZmRjYzQ2Li5lNGI3YTRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDUt
MjMgIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVn
aW9uc10gTW91c2Ugb3ZlciBhbiBlbGVtZW50IGRvZXMgbm90IHRyaWdnZXIgOmhvdmVyIHN0YXRl
IGZvciBwYXJlbnQgd2hlbiB0aGUgZWxlbWVudCBpcyBmbG93ZWQgaW4gYSByZWdpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTc0OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9yZWdpb25z
L2hvdmVyLWluLXJlZ2lvbi1ncmFuZHBhcmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvcmVnaW9ucy9ob3Zlci1pbi1yZWdpb24tZ3JhbmRwYXJlbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9yZWdpb25zL2hvdmVyLWluLXJlZ2lvbi1wYXJlbnQtc2tpcC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9ob3Zlci1pbi1yZWdpb24t
cGFyZW50LXNraXAuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL2hvdmVyLW9u
LWNoaWxkLWluLXJlZ2lvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVn
aW9ucy9ob3Zlci1vbi1jaGlsZC1pbi1yZWdpb24uaHRtbDogQWRkZWQuCisKIDIwMTMtMDUtMjMg
IFpvbHRhbiBBcnZhaSAgPHphcnZhaUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBV
bnJldmlld2VkIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy9ob3Zlci1pbi1yZWdpb24tZ3JhbmRwYXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL2hvdmVyLWluLXJlZ2lvbi1ncmFuZHBhcmVudC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY3OWY3YQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9ob3Zlci1pbi1yZWdpb24tZ3JhbmRwYXJlbnQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK1Rlc3QgaG92ZXIgb24gY2hpbGRyZW4gd2hl
biBmbG93ZWQgaW50byByZWdpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyBDaGlsZCBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suCitQQVNTIFBhcmVudCBob3ZlciBldmVu
dCBwcm9jZXNzZWQgT0suCitQQVNTIEdyYW5kcGFyZW50IGhvdmVyIGV2ZW50IHByb2Nlc3NlZCBP
Sy4KK1BBU1MgQ2hpbGQgaG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLgorUEFTUyBQYXJlbnQgaG92
ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLgorUEFTUyBHcmFuZHBhcmVudCBob3ZlciBldmVudCBwcm9j
ZXNzZWQgT0suCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2hvdmVyLWluLXJlZ2lv
bi1ncmFuZHBhcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2hvdmVyLWluLXJl
Z2lvbi1ncmFuZHBhcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmMxODc1ODYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92
ZXItaW4tcmVnaW9uLWdyYW5kcGFyZW50Lmh0bWwKQEAgLTAsMCArMSwxNzAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
IC8qIE1ha2Ugc3VyZSB0aGUgY29uc29sZSBhbmQgdGhlIGRlc2NyaXB0aW9uIGRvbid0IGludGVy
ZmVyZSB3aXRoIHRoZSByZXN0IG9mIHRoZSBsYXlvdXQuICovCisgICAgICAgICAgICAjZGVzY3Jp
cHRpb24geworICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgICAg
ICAgICB0b3A6IDBweDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgI2NvbnNvbGUgewor
ICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgICAgICAgICB0b3A6
IDEwMHB4OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAjZ3JhbmRwYXJlbnQgeyAKKyAg
ICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7IAorICAgICAgICAgICAgICAgIGhlaWdodDogMTAw
cHg7IAorICAgICAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIGJsdWU7IAorICAgICAgICAg
ICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Ymx1ZTsgCisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICNwYXJlbnQgeyAKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7IAorICAg
ICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7IAorICAgICAgICAgICAgICAgIGJvcmRlcjogNXB4
IHNvbGlkIHJlZDsgCisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya3JlZDsg
CisgICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93LWludG86IGZsb3cxOyAKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgI2NoaWxkIHsgCisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4
OyAKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OyAKKyAgICAgICAgICAgICAgICAtd2Vi
a2l0LWZsb3ctaW50bzogZmxvdzI7IAorICAgICAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlk
IGdyZWVuOyAKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBvcmFuZ2U7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICNyZWdpb24xIHsgCisgICAgICAgICAgICAgICAgd2lk
dGg6IDE1MHB4OyAKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1MHB4OyAKKyAgICAgICAgICAg
ICAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzE7IAorICAgICAgICAgICAgICAgIGJvcmRlcjog
MXB4IHNvbGlkIGxpbWU7CisgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKKyAgICAg
ICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICAjcmVnaW9uMiB7IAorICAgICAgICAgICAgICAgIHdpZHRoOiAxNTBweDsgCisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxNTBweDsgCisgICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93LWZy
b206IGZsb3cyOyAKKyAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBsaW1lOyAKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgI2NoaWxkOmhvdmVyIHsgCisgICAgICAgICAgICAg
ICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IAorICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAjcGFyZW50OmhvdmVyIHsgCisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47IAorICAgICAgICAgICAgfQorCisgICAgICAgICAgICAjZ3JhbmRwYXJlbnQ6aG92ZXIgeyAK
KyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgCisgICAgICAgICAgICB9
CisgICAgICAgIDwvc3R5bGU+CisKKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAg
ICAgICA8b2w+CisgICAgICAgICAgICA8bGk+TW92ZSB0aGUgbW91c2Ugb3ZlciB0aGUgb3Jhbmdl
IHNxdWFyZQorICAgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgICAgPGxpPkFs
bCB0aHJlZSBzcXVhcmVzIHNob3VsZCB0dXJuIGdyZWVuPC9saT4KKyAgICAgICAgICAgICAgICA8
L3VsPgorICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAgIDxsaT5Nb3ZlIHRoZSBtb3VzZSBv
dmVyIHRoZSByZWQgc3F1YXJlCisgICAgICAgICAgICAgICAgPHVsPgorICAgICAgICAgICAgICAg
ICAgICA8bGk+VGhlIGZpcnN0IHR3byBzcXVhcmVzIHNob3VsZCB0dXJuIGdyZWVuPC9saT4KKyAg
ICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgPC9saT4KKyAgICAgICAgPC9vbD4KKwor
ICAgICAgICA8ZGl2IGNsYXNzPSJib3giIGlkPSJncmFuZHBhcmVudCI+CisgICAgICAgICAgICA8
ZGl2IGNsYXNzPSJib3giIGlkPSJwYXJlbnQiPgorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9
ImJveCIgaWQ9ImNoaWxkIj48L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBpZD0icmVnaW9uMSI+PC9kaXY+CisgICAgICAg
IDxkaXYgY2xhc3M9ImJveCIgaWQ9InJlZ2lvbjIiPjwvZGl2PgorCisgICAgICAgIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0IGhv
dmVyIG9uIGNoaWxkcmVuIHdoZW4gZmxvd2VkIGludG8gcmVnaW9uLiIpCisKKyAgICAgICAgICAg
IGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgICAgICB2YXIgY2hpbGQgID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NoaWxkIik7CisgICAgICAgICAgICAgICAgdmFyIHBh
cmVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwYXJlbnQiKTsKKyAgICAgICAgICAgICAg
ICB2YXIgZ3JhbmRwYXJlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjZ3JhbmRwYXJlbnQi
KTsKKworICAgICAgICAgICAgICAgIC8vIG1vdmUgbW91c2Ugb24gdGhlIGNoaWxkIG9iamVjdAor
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oY2hpbGQub2Zmc2V0TGVmdCArIDEwLCBjaGlsZC5vZmZzZXRUb3AgKyA1MCk7CisgICAg
ICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigwKTsKKyAgICAgICAgICAgICAg
ICAgICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoNTAwKTsKKyAgICAgICAgICAgICAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VVcCgwKTsKKworICAgICAgICAgICAgICAgICAgICB2YXIgY2hpbGRD
b2xvciA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGNoaWxkKS5nZXRQcm9wZXJ0eVZhbHVlKCJi
YWNrZ3JvdW5kLWNvbG9yIik7CisgICAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnRDb2xvciA9
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHBhcmVudCkuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dy
b3VuZC1jb2xvciIpOworICAgICAgICAgICAgICAgICAgICB2YXIgZ3JhbmRwYXJlbnRDb2xvciA9
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyYW5kcGFyZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCJi
YWNrZ3JvdW5kLWNvbG9yIik7CisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAg
ICAgICBpZiAoY2hpbGRDb2xvciA9PSAicmdiKDAsIDEyOCwgMCkiKQorICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdFBhc3NlZCgiQ2hpbGQgaG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLiIpOwor
ICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJDaGlsZCBob3ZlciBldmVudCBGQUlMRUQgdG8gcHJvY2Vzcy4iKTsKKworICAgICAgICAg
ICAgICAgICAgICBpZiAocGFyZW50Q29sb3IgPT0gInJnYigwLCAxMjgsIDApIikKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlBhcmVudCBob3ZlciBldmVudCBwcm9jZXNzZWQg
T0suIik7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIlBhcmVudCBob3ZlciBldmVudCBGQUlMRUQgdG8gcHJvY2Vzcy4iKTsKKwor
ICAgICAgICAgICAgICAgICAgICBpZiAoZ3JhbmRwYXJlbnRDb2xvciA9PSAicmdiKDAsIDEyOCwg
MCkiKQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiR3JhbmRwYXJlbnQgaG92
ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLiIpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJHcmFuZHBhcmVudCBob3ZlciBldmVudCBG
QUlMRUQgdG8gcHJvY2Vzcy4iKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAg
ICAvLyBtb3ZlIG1vdXNlIG9uIHRoZSBwYXJlbnQgb2JqZWN0CisgICAgICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhwYXJlbnQub2Zmc2V0
TGVmdCArIDEwLCBwYXJlbnQub2Zmc2V0VG9wICsgNTApOworICAgICAgICAgICAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZURvd24oMCk7CisgICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVy
LmxlYXBGb3J3YXJkKDUwMCk7CisgICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNl
VXAoMCk7CisKKyAgICAgICAgICAgICAgICAgICAgdmFyIGNoaWxkQ29sb3IgPSB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShjaGlsZCkuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dyb3VuZC1jb2xvciIp
OworICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50Q29sb3IgPSB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShwYXJlbnQpLmdldFByb3BlcnR5VmFsdWUoImJhY2tncm91bmQtY29sb3IiKTsKKyAg
ICAgICAgICAgICAgICAgICAgdmFyIGdyYW5kcGFyZW50Q29sb3IgPSB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShncmFuZHBhcmVudCkuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dyb3VuZC1jb2xvciIp
OworICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkQ29s
b3IgIT0gInJnYigwLCAxMjgsIDApIikKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIkNoaWxkIGhvdmVyIGV2ZW50IHByb2Nlc3NlZCBPSy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ2hpbGQgaG92ZXIg
ZXZlbnQgRkFJTEVEIHRvIHByb2Nlc3MuIik7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKHBh
cmVudENvbG9yID09ICJyZ2IoMCwgMTI4LCAwKSIpCisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0UGFzc2VkKCJQYXJlbnQgaG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLiIpOworICAgICAgICAg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQYXJl
bnQgaG92ZXIgZXZlbnQgRkFJTEVEIHRvIHByb2Nlc3MuIik7CisKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGdyYW5kcGFyZW50Q29sb3IgPT0gInJnYigwLCAxMjgsIDApIikKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkdyYW5kcGFyZW50IGhvdmVyIGV2ZW50IHByb2Nlc3Nl
ZCBPSy4iKTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiR3JhbmRwYXJlbnQgaG92ZXIgZXZlbnQgRkFJTEVEIHRvIHByb2Nlc3Mu
Iik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAgICB2YXIgZWxlbWVudHNUb0hpZGUg
PSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJvbCwgLmJveCIpOworICAgICAgICAgICAgICAg
IGZvciAodmFyIGk9MDsgaTxlbGVtZW50c1RvSGlkZS5sZW5ndGg7IGkrKykKKyAgICAgICAgICAg
ICAgICAgICAgZWxlbWVudHNUb0hpZGVbaV0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICB2YXIg
ZWxlbWVudHNUb0hpZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjY29uc29sZSwgI2Rl
c2NyaXB0aW9uIik7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaT0wOyBpPGVsZW1lbnRzVG9I
aWRlLmxlbmd0aDsgaSsrKQorICAgICAgICAgICAgICAgICAgICBlbGVtZW50c1RvSGlkZVtpXS5z
dHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2Ny
aXB0PgorCisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvaG92ZXItaW4tcmVnaW9uLXBhcmVudC1za2lwLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9ob3Zlci1pbi1yZWdpb24tcGFyZW50LXNraXAt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzODM4NjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92ZXItaW4tcmVn
aW9uLXBhcmVudC1za2lwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0IGhvdmVy
IG9uIGNoaWxkIHdoZW4gZmxvd2VkIGludG8gcmVnaW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgQ2hpbGQgaG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLgorUEFTUyBHcmFu
ZHBhcmVudCBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suCitQQVNTIENoaWxkIGhvdmVyIGV2ZW50
IHByb2Nlc3NlZCBPSy4KK1BBU1MgR3JhbmRwYXJlbnQgaG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9L
LgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9ob3Zlci1pbi1yZWdpb24tcGFyZW50
LXNraXAuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9ob3Zlci1pbi1yZWdpb24tcGFy
ZW50LXNraXAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWNkOWI5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2hvdmVyLWluLXJl
Z2lvbi1wYXJlbnQtc2tpcC5odG1sCkBAIC0wLDAgKzEsMTU1IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAvKiBNYWtl
IHN1cmUgdGhlIGNvbnNvbGUgYW5kIHRoZSBkZXNjcmlwdGlvbiBkb24ndCBpbnRlcmZlcmUgd2l0
aCB0aGUgcmVzdCBvZiB0aGUgbGF5b3V0LiAqLworICAgICAgICAgICAgI2Rlc2NyaXB0aW9uIHsK
KyAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgICAgICAgICAgdG9w
OiAwcHg7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICNjb25zb2xlIHsKKyAgICAgICAg
ICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgICAgICAgICAgdG9wOiAxMDBweDsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgI2dyYW5kcGFyZW50LCAjcGFyZW50MiB7IAor
ICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDsgCisgICAgICAgICAgICAgICAgaGVpZ2h0OiAy
MDBweDsgCisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRibHVlOyAKKyAg
ICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBibHVlOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAjcGFyZW50MiB7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjog
eWVsbG93OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAjcGFyZW50IHsgCisgICAgICAg
ICAgICAgICAgd2lkdGg6IDE1MHB4OyBoZWlnaHQ6IDE1MHB4OyAKKyAgICAgICAgICAgICAgICAt
d2Via2l0LWZsb3ctaW50bzogZmxvdzsgCisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xv
cjogb3JhbmdlOyAKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgI2NoaWxkIHsgCisgICAg
ICAgICAgICAgICAgd2lkdGg6IDEwMHB4OyAKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OyAKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IAorICAgICAgICAgICAg
ICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsdWU7IAorICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAjcmVnaW9uIHsgCisgICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4OyAKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDIwMHB4OyAKKyAgICAgICAgICAgICAgICAtd2Via2l0LWZsb3ctZnJvbTog
ZmxvdzsgCisgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbGltZTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgI3NwYW4xLCAjc3BhbjIsICNzcGFuMyB7IAorICAgICAgICAg
ICAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyAKKyAgICAgICAgICAgICAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBzYWxtb247IAorICAgICAgICAgICAgfQorCisgICAgICAgICAgICAjY2hpbGQ6
aG92ZXIgeyAKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgCisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICNncmFuZHBhcmVudDpob3ZlciwgI3BhcmVudDI6aG92
ZXIgeyAKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgCisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc3R5bGU+CisKKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5
PgorICAgICAgICA8b2wgY2xhc3M9InZpc3VhbEVsZW1lbnQiPgorICAgICAgICAgICAgPGxpPk1v
dmUgdGhlIG1vdXNlIG92ZXIgdGhlIG9yYW5nZSBzcXVhcmUKKyAgICAgICAgICAgICAgICA8dWw+
CisgICAgICAgICAgICAgICAgICAgIDxsaT5UaGUgbGlnaHRibHVlIHNxdWFyZSBzaG91bGQgdHVy
biBncmVlbjwvbGk+CisgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgIDwvbGk+Cisg
ICAgICAgICAgICA8bGk+TW92ZSB0aGUgbW91c2Ugb3ZlciB0aGUgcmVkIHNxdWFyZQorICAgICAg
ICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgICAgPGxpPlRoZSByZWQgYW5kIGxpZ2h0
Ymx1ZSBzcXVhcmVzIHNob3VsZCB0dXJuIGdyZWVuPC9saT4KKyAgICAgICAgICAgICAgICA8L3Vs
PgorICAgICAgICAgICAgPC9saT4KKyAgICAgICAgPC9vbD4KKworICAgICAgICA8ZGl2IGNsYXNz
PSJ2aXN1YWxFbGVtZW50IiBpZD0iZ3JhbmRwYXJlbnQiPgorICAgICAgICAgICAgPHNwYW4gaWQ9
InNwYW4xIj5CZWZvcmU8L3NwYW4+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aXN1YWxFbGVt
ZW50IiBpZD0icGFyZW50Ij4KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aXN1YWxFbGVt
ZW50IiBpZD0iY2hpbGQiPjwvZGl2PgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8
c3BhbiBpZD0ic3BhbjIiPkFmdGVyPC9zcGFuPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRp
diBjbGFzcz0idmlzdWFsRWxlbWVudCIgaWQ9InBhcmVudDIiPgorICAgICAgICAgICAgPHNwYW4g
aWQ9InNwYW4zIj5Bd2F5PC9zcGFuPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFz
cz0idmlzdWFsRWxlbWVudCIgaWQ9InJlZ2lvbiI+PC9kaXY+CisKKyAgICAgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3QgaG92
ZXIgb24gY2hpbGQgd2hlbiBmbG93ZWQgaW50byByZWdpb24uIikKKworICAgICAgICAgICAgaWYg
KHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgICAgIHZhciBjaGlsZCAgPSBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCIjY2hpbGQiKTsKKyAgICAgICAgICAgICAgICB2YXIgcGFyZW50
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BhcmVudCIpOworICAgICAgICAgICAgICAgIHZh
ciBncmFuZHBhcmVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNncmFuZHBhcmVudCIpOwor
CisgICAgICAgICAgICAgICAgLy8gbW92ZSBtb3VzZSBvbiB0aGUgcGFyZW50IG9iamVjdAorICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3Zl
VG8ocGFyZW50Lm9mZnNldExlZnQgKyAxNDUsIHBhcmVudC5vZmZzZXRUb3AgKyA1MCk7CisgICAg
ICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigwKTsKKyAgICAgICAgICAgICAg
ICAgICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoNTAwKTsKKyAgICAgICAgICAgICAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VVcCgwKTsKKworICAgICAgICAgICAgICAgICAgICB2YXIgY2hpbGRD
b2xvciA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGNoaWxkKS5nZXRQcm9wZXJ0eVZhbHVlKCJi
YWNrZ3JvdW5kLWNvbG9yIik7CisgICAgICAgICAgICAgICAgICAgIHZhciBncmFuZHBhcmVudENv
bG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JhbmRwYXJlbnQpLmdldFByb3BlcnR5VmFs
dWUoImJhY2tncm91bmQtY29sb3IiKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGRD
b2xvciA9PSAicmdiKDI1NSwgMCwgMCkiKQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBh
c3NlZCgiQ2hpbGQgaG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLiIpOworICAgICAgICAgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDaGlsZCBob3Zl
ciBldmVudCBGQUlMRUQgdG8gcHJvY2VzcywgIiArIGNoaWxkQ29sb3IpOworCisgICAgICAgICAg
ICAgICAgICAgIGlmIChncmFuZHBhcmVudENvbG9yID09ICJyZ2IoMCwgMTI4LCAwKSIpCisgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJHcmFuZHBhcmVudCBob3ZlciBldmVudCBw
cm9jZXNzZWQgT0suIik7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoIkdyYW5kcGFyZW50IGhvdmVyIGV2ZW50IEZBSUxFRCB0byBw
cm9jZXNzLiIpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8vIG1vdmUg
bW91c2Ugb24gdGhlIGNoaWxkIG9iamVjdAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oY2hpbGQub2Zmc2V0TGVmdCArIDEwLCBj
aGlsZC5vZmZzZXRUb3AgKyA1MCk7CisgICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlRG93bigwKTsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQo
NTAwKTsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgwKTsKKworICAg
ICAgICAgICAgICAgICAgICB2YXIgY2hpbGRDb2xvciA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGNoaWxkKS5nZXRQcm9wZXJ0eVZhbHVlKCJiYWNrZ3JvdW5kLWNvbG9yIik7CisgICAgICAgICAg
ICAgICAgICAgIHZhciBncmFuZHBhcmVudENvbG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUo
Z3JhbmRwYXJlbnQpLmdldFByb3BlcnR5VmFsdWUoImJhY2tncm91bmQtY29sb3IiKTsKKworICAg
ICAgICAgICAgICAgICAgICBpZiAoY2hpbGRDb2xvciA9PSAicmdiKDAsIDEyOCwgMCkiKQorICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ2hpbGQgaG92ZXIgZXZlbnQgcHJvY2Vz
c2VkIE9LLiIpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJDaGlsZCBob3ZlciBldmVudCBGQUlMRUQgdG8gcHJvY2Vzcy4iKTsK
KworICAgICAgICAgICAgICAgICAgICBpZiAoZ3JhbmRwYXJlbnRDb2xvciA9PSAicmdiKDAsIDEy
OCwgMCkiKQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiR3JhbmRwYXJlbnQg
aG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLiIpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJHcmFuZHBhcmVudCBob3ZlciBldmVu
dCBGQUlMRUQgdG8gcHJvY2Vzcy4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgICAg
IHZhciBlbGVtZW50c1RvSGlkZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi52aXN1YWxF
bGVtZW50Iik7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaT0wOyBpPGVsZW1lbnRzVG9IaWRl
Lmxlbmd0aDsgaSsrKQorICAgICAgICAgICAgICAgICAgICBlbGVtZW50c1RvSGlkZVtpXS5zdHls
ZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgICAgIHZhciBlbGVtZW50c1RvSGlkZSA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoIiNjb25zb2xlLCAjZGVzY3JpcHRpb24iKTsKKyAgICAgICAgICAgICAgICBm
b3IgKHZhciBpPTA7IGk8ZWxlbWVudHNUb0hpZGUubGVuZ3RoOyBpKyspCisgICAgICAgICAgICAg
ICAgICAgIGVsZW1lbnRzVG9IaWRlW2ldLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisKKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9ob3Zlci1vbi1jaGls
ZC1pbi1yZWdpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2hvdmVy
LW9uLWNoaWxkLWluLXJlZ2lvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZmNkZGNlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9ob3Zlci1vbi1jaGlsZC1pbi1yZWdpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
OSBAQAorVGVzdCBob3ZlciBvbiBjaGlsZCB3aGVuIGZsb3dlZCBpbnRvIHJlZ2lvbi4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEhvdmVyIGV2ZW50IHByb2Nlc3NlZCBPSy4K
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92ZXItb24tY2hpbGQtaW4tcmVnaW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92ZXItb24tY2hpbGQtaW4tcmVnaW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJjMTIyNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9ob3Zlci1vbi1jaGlsZC1pbi1y
ZWdpb24uaHRtbApAQCAtMCwwICsxLDgzIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sIGxhbmc9
ImVuIj4KKzxoZWFkPgorCTxzdHlsZT4KKwkJLyogTWFrZSBzdXJlIHRoZSBjb25zb2xlIGFuZCB0
aGUgZGVzY3JpcHRpb24gZG9uJ3QgaW50ZXJmZXJlIHdpdGggdGhlIHJlc3Qgb2YgdGhlIGxheW91
dC4gKi8KKwkJI2Rlc2NyaXB0aW9uIHsKKwkJCXBvc2l0aW9uOiBhYnNvbHV0ZTsKKwkJCXRvcDog
MHB4OworCQl9CisKKwkJI2NvbnNvbGUgeworCQkJcG9zaXRpb246IGFic29sdXRlOworCQkJdG9w
OiAxMDBweDsKKwkJfQorCisJCS5ib3ggeworCQkJd2lkdGg6IDEwMHB4OworCQkJaGVpZ2h0OiAx
MDBweDsKKwkJfQorCQkjcGFyZW50IHsKKwkJCWJhY2tncm91bmQtY29sb3I6IGdyZWVuOworCQl9
CisJCSNwYXJlbnQ6aG92ZXIgeworCQkJY29sb3I6IHJlZDsKKwkJfQorCQkjY2hpbGQgeworCQkJ
YmFja2dyb3VuZC1jb2xvcjogb3JhbmdlOworCQkJLXdlYmtpdC1mbG93LWludG86IGY7CisJCX0K
KwkJI3JlZ2lvbiB7CisJCQktd2Via2l0LWZsb3ctZnJvbTogZjsKKwkJfQorCTwvc3R5bGU+CisK
Kwk8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorCTxvbD4KKwkJPGxpPk1vdmUgdGhlIG1vdXNlIG92ZXIgdGhlIG9y
YW5nZSBzcXVhcmU8L2xpPgorCQk8bGk+VGhlIHRleHQgc2hvdWxkIHR1cm4gcmVkPC9saT4KKwk8
L29sPgorCTxkaXYgY2xhc3M9ImJveCIgaWQ9InBhcmVudCI+CisJCTxkaXYgY2xhc3M9ImJveCIg
aWQ9ImNoaWxkIj5SZWQgPSBob3ZlcjwvZGl2PgorCTwvZGl2PgorCTxkaXYgY2xhc3M9ImJveCIg
aWQ9InJlZ2lvbiI+PC9kaXY+CisKKwk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisJ
CWRlc2NyaXB0aW9uKCJUZXN0IGhvdmVyIG9uIGNoaWxkIHdoZW4gZmxvd2VkIGludG8gcmVnaW9u
LiIpCisKKwkJaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworCQkJdmFyIGNoaWxkICA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoIiNjaGlsZCIpOworCQkJdmFyIHBhcmVudCA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoIiNwYXJlbnQiKTsKKworCQkJLy8gbW92ZSBtb3VzZSBvbiB0aGUgY2hpbGQg
b2JqZWN0CisJCQlldmVudFNlbmRlci5tb3VzZU1vdmVUbyhjaGlsZC5vZmZzZXRMZWZ0ICsgMTAs
IGNoaWxkLm9mZnNldFRvcCArIDUwKTsKKwkJCWV2ZW50U2VuZGVyLm1vdXNlRG93bigwKTsKKwkJ
CWV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDUwMCk7CisJCQlldmVudFNlbmRlci5tb3VzZVVwKDAp
OworCisJCQl2YXIgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHBhcmVu
dCk7CisJCQl2YXIgY2xyID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCJjb2xvciIp
OworCQkJaWYgKGNsciA9PSAicmdiKDI1NSwgMCwgMCkiKQorCQkJCXRlc3RQYXNzZWQoIkhvdmVy
IGV2ZW50IHByb2Nlc3NlZCBPSy4iKTsKKwkJCWVsc2UKKwkJCQl0ZXN0RmFpbGVkKCJIb3ZlciBl
dmVudCBGQUlMRUQgdG8gcHJvY2Vzcy4iKTsKKwkJfQorCisJCWlmICh3aW5kb3cudGVzdFJ1bm5l
cikgeworCQkJdmFyIGVsZW1lbnRzVG9IaWRlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
b2wsIC5ib3giKTsKKwkJCWZvciAodmFyIGk9MDsgaTxlbGVtZW50c1RvSGlkZS5sZW5ndGg7IGkr
KykKKwkJCQllbGVtZW50c1RvSGlkZVtpXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CisJ
CX0KKworCQllbHNlIHsKKwkJCXZhciBlbGVtZW50c1RvSGlkZSA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoIiNjb25zb2xlLCAjZGVzY3JpcHRpb24iKTsKKwkJCWZvciAodmFyIGk9MDsgaTxl
bGVtZW50c1RvSGlkZS5sZW5ndGg7IGkrKykKKwkJCQllbGVtZW50c1RvSGlkZVtpXS5zdHlsZS52
aXNpYmlsaXR5ID0gImhpZGRlbiI7CisJCX0KKwk8L3NjcmlwdD4KKworCTxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDlmNDUxMC4uZmI5
YjJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTA1LTIzICBSYWR1IFN0YXZp
bGEgIDxzdGF2aWxhQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFJlZ2lvbnNdIE1vdXNlIG92
ZXIgYW4gZWxlbWVudCBkb2VzIG5vdCB0cmlnZ2VyIDpob3ZlciBzdGF0ZSBmb3IgcGFyZW50IHdo
ZW4gdGhlIGVsZW1lbnQgaXMgZmxvd2VkIGluIGEgcmVnaW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE3NDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHNlYXJjaGluZyBmb3IgdGhlIGhvdmVy
IGFuY2VzdG9yIGFuZCBlbmNvdW50ZXJpbmcgYSBuYW1lZCBmbG93IHRocmVhZCwKKyAgICAgICAg
dGhlIHNlYXJjaCB3aWxsIGNvbnRpbnVlIHdpdGggdGhlIERPTSBhbmNlc3RvciBvZiB0aGUgdG9w
LW1vc3QgZWxlbWVudAorICAgICAgICBpbiB0aGUgbmFtZWQgZmxvdyB0aHJlYWQuCisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvcmVnaW9ucy9ob3Zlci1pbi1yZWdpb24tZ3JhbmRwYXJlbnQuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC9yZWdpb25zL2hvdmVyLWluLXJlZ2lvbi1wYXJlbnQtc2tpcC5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L3JlZ2lvbnMvaG92ZXItb24tY2hpbGQtaW4tcmVnaW9u
Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmhvdmVyQW5jZXN0b3Ip
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFJlbmRlck9i
amVjdCk6CisKIDIwMTMtMDUtMjMgIE1pY2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3Vs
YUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBCYWNrLCBGb3J3YXJkIGFuZCBTdG9wIHNo
b3VsZCBiZSBoaWRkZW4gaW4gY29udGV4dCBtZW51CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwCmluZGV4IGRjNTdmNGIuLjVkOWVlZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0zMDQyLDYgKzMwNDIsMjcgQEAgdm9pZCBS
ZW5kZXJPYmplY3Q6OmltYWdlQ2hhbmdlZChDYWNoZWRJbWFnZSogaW1hZ2UsIGNvbnN0IEludFJl
Y3QqIHJlY3QpCiB7CiAgICAgaW1hZ2VDaGFuZ2VkKHN0YXRpY19jYXN0PFdyYXBwZWRJbWFnZVB0
cj4oaW1hZ2UpLCByZWN0KTsKIH0KKyAgICAKK1JlbmRlck9iamVjdCogUmVuZGVyT2JqZWN0Ojpo
b3ZlckFuY2VzdG9yKCkgY29uc3QKK3sKKyAgICAvLyBXaGVuIHNlYXJjaGluZyBmb3IgdGhlIGhv
dmVyIGFuY2VzdG9yIGFuZCBlbmNvdW50ZXJpbmcgYSBuYW1lZCBmbG93IHRocmVhZCwKKyAgICAv
LyB0aGUgc2VhcmNoIHdpbGwgY29udGludWUgd2l0aCB0aGUgRE9NIGFuY2VzdG9yIG9mIHRoZSB0
b3AtbW9zdCBlbGVtZW50CisgICAgLy8gaW4gdGhlIG5hbWVkIGZsb3cgdGhyZWFkLgorICAgIC8v
IFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNzQ5CisgICAg
UmVuZGVyT2JqZWN0KiBob3ZlckFuY2VzdG9yID0gcGFyZW50KCk7CisgICAgaWYgKGhvdmVyQW5j
ZXN0b3IgJiYgaG92ZXJBbmNlc3Rvci0+aXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKSkgeworICAg
ICAgICBob3ZlckFuY2VzdG9yID0gMDsKKyAgICAgICAgCisgICAgICAgIE5vZGUqIG5vZGUgPSB0
aGlzLT5ub2RlKCk7CisgICAgICAgIGlmIChub2RlKSB7CisgICAgICAgICAgICBOb2RlKiBkb21B
bmNlc3Rvck5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCk7CisgICAgICAgICAgICBpZiAoZG9tQW5j
ZXN0b3JOb2RlKQorICAgICAgICAgICAgICAgIGhvdmVyQW5jZXN0b3IgPSBkb21BbmNlc3Rvck5v
ZGUtPnJlbmRlcmVyKCk7CisgICAgICAgIH0KKyAgICB9CisgICAgCisgICAgcmV0dXJuIGhvdmVy
QW5jZXN0b3I7Cit9CiAKIFJlbmRlckJveE1vZGVsT2JqZWN0KiBSZW5kZXJPYmplY3Q6Om9mZnNl
dFBhcmVudCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgK
aW5kZXggODE4ODUzMS4uNDNjYjUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaApAQCAtNjU4LDcgKzY1OCw3IEBAIHB1YmxpYzoKICAgICAvLyBpcyB0cnVlIGlmIHRo
ZSByZW5kZXJlciByZXR1cm5lZCBpcyBhbiBhbmNlc3RvciBvZiByZXBhaW50Q29udGFpbmVyLgog
ICAgIFJlbmRlck9iamVjdCogY29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3Qq
IHJlcGFpbnRDb250YWluZXIgPSAwLCBib29sKiByZXBhaW50Q29udGFpbmVyU2tpcHBlZCA9IDAp
IGNvbnN0OwogCi0gICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGhvdmVyQW5jZXN0b3IoKSBjb25z
dCB7IHJldHVybiBwYXJlbnQoKTsgfQorICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBob3ZlckFu
Y2VzdG9yKCkgY29uc3Q7CiAKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogb2Zmc2V0UGFyZW50
KCkgY29uc3Q7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202707</attachid>
            <date>2013-05-23 07:08:22 -0700</date>
            <delta_ts>2013-05-29 00:17:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>111749.patch</filename>
            <type>text/plain</type>
            <size>34687</size>
            <attacher name="Radu Stavila">stavila</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkYzNmMzZlLi41NmZkNzU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTMtMDUt
MjMgIFJhZHUgU3RhdmlsYSAgPHN0YXZpbGFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVn
aW9uc10gTW91c2Ugb3ZlciBhbiBlbGVtZW50IGRvZXMgbm90IHRyaWdnZXIgOmhvdmVyIHN0YXRl
IGZvciBwYXJlbnQgd2hlbiB0aGUgZWxlbWVudCBpcyBmbG93ZWQgaW4gYSByZWdpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTc0OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9yZWdpb25z
L2hvdmVyLWluLXJlZ2lvbi1ncmFuZHBhcmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvcmVnaW9ucy9ob3Zlci1pbi1yZWdpb24tZ3JhbmRwYXJlbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9yZWdpb25zL2hvdmVyLWluLXJlZ2lvbi1wYXJlbnQtc2tpcC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9ob3Zlci1pbi1yZWdpb24t
cGFyZW50LXNraXAuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL2hvdmVyLWlu
LXJlZ2lvbi1wYXJlbnQtc2tpcC1pbmxpbmVzLWFub255bW91cy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9ob3Zlci1pbi1yZWdpb24tcGFyZW50LXNraXAtaW5s
aW5lcy1hbm9ueW1vdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL2hvdmVy
LW9uLWNoaWxkLWluLXJlZ2lvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
cmVnaW9ucy9ob3Zlci1vbi1jaGlsZC1pbi1yZWdpb24uaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9yZWdpb25zL2hvdmVyLW9uLWNoaWxkLWluLXJlZ2lvbi1pbi1yZWdpb24tZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvaG92ZXItb24tY2hpbGQtaW4tcmVn
aW9uLWluLXJlZ2lvbi5odG1sOiBBZGRlZC4KKwogMjAxMy0wNS0yMyAgWm9sdGFuIEFydmFpICA8
emFydmFpQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVu
aW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2hvdmVyLWluLXJlZ2lv
bi1ncmFuZHBhcmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92
ZXItaW4tcmVnaW9uLWdyYW5kcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4wZjc5ZjdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL2hvdmVyLWluLXJlZ2lvbi1ncmFuZHBhcmVudC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNCBAQAorVGVzdCBob3ZlciBvbiBjaGlsZHJlbiB3aGVuIGZsb3dlZCBpbnRvIHJl
Z2lvbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIENoaWxkIGhvdmVyIGV2
ZW50IHByb2Nlc3NlZCBPSy4KK1BBU1MgUGFyZW50IGhvdmVyIGV2ZW50IHByb2Nlc3NlZCBPSy4K
K1BBU1MgR3JhbmRwYXJlbnQgaG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLgorUEFTUyBDaGlsZCBo
b3ZlciBldmVudCBwcm9jZXNzZWQgT0suCitQQVNTIFBhcmVudCBob3ZlciBldmVudCBwcm9jZXNz
ZWQgT0suCitQQVNTIEdyYW5kcGFyZW50IGhvdmVyIGV2ZW50IHByb2Nlc3NlZCBPSy4KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92ZXItaW4tcmVnaW9uLWdyYW5kcGFyZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92ZXItaW4tcmVnaW9uLWdyYW5kcGFyZW50
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE4NzU4NgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9ob3Zlci1pbi1yZWdpb24tZ3Jh
bmRwYXJlbnQuaHRtbApAQCAtMCwwICsxLDE3MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLyogTWFrZSBzdXJlIHRo
ZSBjb25zb2xlIGFuZCB0aGUgZGVzY3JpcHRpb24gZG9uJ3QgaW50ZXJmZXJlIHdpdGggdGhlIHJl
c3Qgb2YgdGhlIGxheW91dC4gKi8KKyAgICAgICAgICAgICNkZXNjcmlwdGlvbiB7CisgICAgICAg
ICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAgICAgIHRvcDogMHB4Owor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAjY29uc29sZSB7CisgICAgICAgICAgICAgICAg
cG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAgICAgIHRvcDogMTAwcHg7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgICNncmFuZHBhcmVudCB7IAorICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDBweDsgCisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsgCisgICAgICAgICAg
ICAgICAgYm9yZGVyOiA1cHggc29saWQgYmx1ZTsgCisgICAgICAgICAgICAgICAgYmFja2dyb3Vu
ZC1jb2xvcjogbGlnaHRibHVlOyAKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgI3BhcmVu
dCB7IAorICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsgCisgICAgICAgICAgICAgICAgaGVp
Z2h0OiAxMDBweDsgCisgICAgICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgcmVkOyAKKyAg
ICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrcmVkOyAKKyAgICAgICAgICAgICAg
ICAtd2Via2l0LWZsb3ctaW50bzogZmxvdzE7IAorICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAjY2hpbGQgeyAKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7IAorICAgICAgICAgICAg
ICAgIGhlaWdodDogMTAwcHg7IAorICAgICAgICAgICAgICAgIC13ZWJraXQtZmxvdy1pbnRvOiBm
bG93MjsgCisgICAgICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgZ3JlZW47IAorICAgICAg
ICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgI3JlZ2lvbjEgeyAKKyAgICAgICAgICAgICAgICB3aWR0aDogMTUwcHg7IAorICAg
ICAgICAgICAgICAgIGhlaWdodDogMTUwcHg7IAorICAgICAgICAgICAgICAgIC13ZWJraXQtZmxv
dy1mcm9tOiBmbG93MTsgCisgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbGltZTsK
KyAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OworICAgICAgICAgICAgICAgIG1hcmdp
bi1ib3R0b206IDEwcHg7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICNyZWdpb24yIHsg
CisgICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4OyAKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDE1MHB4OyAKKyAgICAgICAgICAgICAgICAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzI7IAorICAg
ICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpbWU7IAorICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAjY2hpbGQ6aG92ZXIgeyAKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsgCisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICNwYXJlbnQ6aG92ZXIg
eyAKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgCisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICNncmFuZHBhcmVudDpob3ZlciB7IAorICAgICAgICAgICAgICAg
IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyAKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHls
ZT4KKworICAgICAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxvbD4KKyAgICAg
ICAgICAgIDxsaT5Nb3ZlIHRoZSBtb3VzZSBvdmVyIHRoZSBvcmFuZ2Ugc3F1YXJlCisgICAgICAg
ICAgICAgICAgPHVsPgorICAgICAgICAgICAgICAgICAgICA8bGk+QWxsIHRocmVlIHNxdWFyZXMg
c2hvdWxkIHR1cm4gZ3JlZW48L2xpPgorICAgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAg
ICA8L2xpPgorICAgICAgICAgICAgPGxpPk1vdmUgdGhlIG1vdXNlIG92ZXIgdGhlIHJlZCBzcXVh
cmUKKyAgICAgICAgICAgICAgICA8dWw+CisgICAgICAgICAgICAgICAgICAgIDxsaT5UaGUgZmly
c3QgdHdvIHNxdWFyZXMgc2hvdWxkIHR1cm4gZ3JlZW48L2xpPgorICAgICAgICAgICAgICAgIDwv
dWw+CisgICAgICAgICAgICA8L2xpPgorICAgICAgICA8L29sPgorCisgICAgICAgIDxkaXYgY2xh
c3M9ImJveCIgaWQ9ImdyYW5kcGFyZW50Ij4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCIg
aWQ9InBhcmVudCI+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBpZD0iY2hpbGQi
PjwvZGl2PgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJib3giIGlkPSJyZWdpb24xIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94
IiBpZD0icmVnaW9uMiI+PC9kaXY+CisKKyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgorICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3QgaG92ZXIgb24gY2hpbGRyZW4g
d2hlbiBmbG93ZWQgaW50byByZWdpb24uIikKKworICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVu
dFNlbmRlcikgeworICAgICAgICAgICAgICAgIHZhciBjaGlsZCAgPSBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCIjY2hpbGQiKTsKKyAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcigiI3BhcmVudCIpOworICAgICAgICAgICAgICAgIHZhciBncmFuZHBhcmVu
dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNncmFuZHBhcmVudCIpOworCisgICAgICAgICAg
ICAgICAgLy8gbW92ZSBtb3VzZSBvbiB0aGUgY2hpbGQgb2JqZWN0CisgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhjaGlsZC5vZmZz
ZXRMZWZ0ICsgMTAsIGNoaWxkLm9mZnNldFRvcCArIDUwKTsKKyAgICAgICAgICAgICAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VEb3duKDApOworICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRl
ci5sZWFwRm9yd2FyZCg1MDApOworICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZVVwKDApOworCisgICAgICAgICAgICAgICAgICAgIHZhciBjaGlsZENvbG9yID0gd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoY2hpbGQpLmdldFByb3BlcnR5VmFsdWUoImJhY2tncm91bmQtY29sb3Ii
KTsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHBhcmVudENvbG9yID0gd2luZG93LmdldENvbXB1
dGVkU3R5bGUocGFyZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCJiYWNrZ3JvdW5kLWNvbG9yIik7Cisg
ICAgICAgICAgICAgICAgICAgIHZhciBncmFuZHBhcmVudENvbG9yID0gd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZ3JhbmRwYXJlbnQpLmdldFByb3BlcnR5VmFsdWUoImJhY2tncm91bmQtY29sb3Ii
KTsKKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZENv
bG9yID09ICJyZ2IoMCwgMTI4LCAwKSIpCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKCJDaGlsZCBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suIik7CisgICAgICAgICAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNoaWxkIGhvdmVy
IGV2ZW50IEZBSUxFRCB0byBwcm9jZXNzLiIpOworCisgICAgICAgICAgICAgICAgICAgIGlmIChw
YXJlbnRDb2xvciA9PSAicmdiKDAsIDEyOCwgMCkiKQorICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZCgiUGFyZW50IGhvdmVyIGV2ZW50IHByb2Nlc3NlZCBPSy4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiUGFy
ZW50IGhvdmVyIGV2ZW50IEZBSUxFRCB0byBwcm9jZXNzLiIpOworCisgICAgICAgICAgICAgICAg
ICAgIGlmIChncmFuZHBhcmVudENvbG9yID09ICJyZ2IoMCwgMTI4LCAwKSIpCisgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJHcmFuZHBhcmVudCBob3ZlciBldmVudCBwcm9jZXNz
ZWQgT0suIik7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoIkdyYW5kcGFyZW50IGhvdmVyIGV2ZW50IEZBSUxFRCB0byBwcm9jZXNz
LiIpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8vIG1vdmUgbW91c2Ug
b24gdGhlIHBhcmVudCBvYmplY3QKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHBhcmVudC5vZmZzZXRMZWZ0ICsgMTAsIHBhcmVu
dC5vZmZzZXRUb3AgKyA1MCk7CisgICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNl
RG93bigwKTsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoNTAw
KTsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgwKTsKKworICAgICAg
ICAgICAgICAgICAgICB2YXIgY2hpbGRDb2xvciA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGNo
aWxkKS5nZXRQcm9wZXJ0eVZhbHVlKCJiYWNrZ3JvdW5kLWNvbG9yIik7CisgICAgICAgICAgICAg
ICAgICAgIHZhciBwYXJlbnRDb2xvciA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHBhcmVudCku
Z2V0UHJvcGVydHlWYWx1ZSgiYmFja2dyb3VuZC1jb2xvciIpOworICAgICAgICAgICAgICAgICAg
ICB2YXIgZ3JhbmRwYXJlbnRDb2xvciA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyYW5kcGFy
ZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCJiYWNrZ3JvdW5kLWNvbG9yIik7CisgICAgICAgICAgICAg
ICAgICAgIAorICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGRDb2xvciAhPSAicmdiKDAsIDEy
OCwgMCkiKQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ2hpbGQgaG92ZXIg
ZXZlbnQgcHJvY2Vzc2VkIE9LLiIpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDaGlsZCBob3ZlciBldmVudCBGQUlMRUQgdG8g
cHJvY2Vzcy4iKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAocGFyZW50Q29sb3IgPT0gInJn
YigwLCAxMjgsIDApIikKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIlBhcmVu
dCBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suIik7CisgICAgICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlBhcmVudCBob3ZlciBldmVudCBG
QUlMRUQgdG8gcHJvY2Vzcy4iKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoZ3JhbmRwYXJl
bnRDb2xvciA9PSAicmdiKDAsIDEyOCwgMCkiKQorICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dFBhc3NlZCgiR3JhbmRwYXJlbnQgaG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLiIpOworICAgICAg
ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJH
cmFuZHBhcmVudCBob3ZlciBldmVudCBGQUlMRUQgdG8gcHJvY2Vzcy4iKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgeworICAgICAgICAgICAgICAgIHZhciBlbGVtZW50c1RvSGlkZSA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoIm9sLCAuYm94Iik7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaT0wOyBp
PGVsZW1lbnRzVG9IaWRlLmxlbmd0aDsgaSsrKQorICAgICAgICAgICAgICAgICAgICBlbGVtZW50
c1RvSGlkZVtpXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIHZhciBlbGVtZW50c1RvSGlkZSA9
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIiNjb25zb2xlLCAjZGVzY3JpcHRpb24iKTsKKyAg
ICAgICAgICAgICAgICBmb3IgKHZhciBpPTA7IGk8ZWxlbWVudHNUb0hpZGUubGVuZ3RoOyBpKysp
CisgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzVG9IaWRlW2ldLnN0eWxlLnZpc2liaWxpdHkg
PSAiaGlkZGVuIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisKKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy9ob3Zlci1pbi1yZWdpb24tcGFyZW50LXNraXAtaW5saW5lcy1hbm9ueW1vdXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2hvdmVyLWluLXJlZ2lvbi1wYXJlbnQtc2tp
cC1pbmxpbmVzLWFub255bW91cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uYTJiYzY2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9ob3Zlci1pbi1yZWdpb24tcGFyZW50LXNraXAtaW5saW5lcy1hbm9ueW1vdXMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK1Rlc3QgaG92ZXIgb24gY2hpbGQgd2hlbiBmbG93
ZWQgaW50byByZWdpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBDaGls
ZCBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suCitQQVNTIEdyYW5kcGFyZW50IGhvdmVyIGV2ZW50
IHByb2Nlc3NlZCBPSy4KK1BBU1MgQ2hpbGQgaG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLgorUEFT
UyBHcmFuZHBhcmVudCBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suCitQQVNTIFNwYW4gaG92ZXIg
ZXZlbnQgcHJvY2Vzc2VkIE9LLgorUEFTUyBHcmFuZHBhcmVudCBob3ZlciBldmVudCBwcm9jZXNz
ZWQgT0suCitQQVNTIFNwYW4gaG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLgorUEFTUyBHcmFuZHBh
cmVudCBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suCitQQVNTIFNwYW4gaG92ZXIgZXZlbnQgcHJv
Y2Vzc2VkIE9LLgorUEFTUyBQYXJlbnQyIGhvdmVyIGV2ZW50IHByb2Nlc3NlZCBPSy4KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92ZXItaW4tcmVnaW9uLXBhcmVudC1za2lwLWlu
bGluZXMtYW5vbnltb3VzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92ZXItaW4t
cmVnaW9uLXBhcmVudC1za2lwLWlubGluZXMtYW5vbnltb3VzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMWU5NjRjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy9ob3Zlci1pbi1yZWdpb24tcGFyZW50LXNraXAtaW5saW5lcy1hbm9u
eW1vdXMuaHRtbApAQCAtMCwwICsxLDIzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLyogTWFrZSBzdXJlIHRoZSBj
b25zb2xlIGFuZCB0aGUgZGVzY3JpcHRpb24gZG9uJ3QgaW50ZXJmZXJlIHdpdGggdGhlIHJlc3Qg
b2YgdGhlIGxheW91dC4gKi8KKyAgICAgICAgICAgICNkZXNjcmlwdGlvbiB7CisgICAgICAgICAg
ICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgICAgICAgIHRvcDogMHB4OworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAjY29uc29sZSB7CisgICAgICAgICAgICAgICAgcG9z
aXRpb246IGFic29sdXRlOworICAgICAgICAgICAgICAgIHRvcDogMTAwcHg7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICNncmFuZHBhcmVudCwgI3BhcmVudDIgeyAKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMjAwcHg7IAorICAgICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7IAorICAg
ICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Ymx1ZTsgCisgICAgICAgICAgICAg
ICAgYm9yZGVyOiAycHggc29saWQgYmx1ZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
I3BhcmVudDIgeworICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgI3BhcmVudCB7IAorICAgICAgICAgICAgICAgIHdp
ZHRoOiAxNTBweDsgaGVpZ2h0OiAxNTBweDsgCisgICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93
LWludG86IGZsb3c7IAorICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsg
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICNjaGlsZCB7IAorICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDBweDsgCisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsgCisgICAgICAg
ICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOyAKKyAgICAgICAgICAgICAgICBib3JkZXI6
IDJweCBzb2xpZCBibHVlOyAKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgI3JlZ2lvbiB7
IAorICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDsgCisgICAgICAgICAgICAgICAgaGVpZ2h0
OiAyMDBweDsgCisgICAgICAgICAgICAgICAgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IAorICAg
ICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGxpbWU7CisgICAgICAgICAgICAgICAgcG9z
aXRpb246IHJlbGF0aXZlOworICAgICAgICAgICAgICAgIGxlZnQ6IDI1MHB4OworICAgICAgICAg
ICAgICAgIHRvcDogLTMwMHB4OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAjc3BhbkJl
Zm9yZSwgI3NwYW5BZnRlciwgI3NwYW5Bd2F5IHsgCisgICAgICAgICAgICAgICAgLXdlYmtpdC1m
bG93LWludG86IGZsb3c7IAorICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNhbG1v
bjsgCisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICNjaGlsZDpob3ZlciB7CisgICAgICAg
ICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IAorICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAjZ3JhbmRwYXJlbnQ6aG92ZXIsICNwYXJlbnQyOmhvdmVyIHsgCisgICAgICAgICAg
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IAorICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICAjc3BhbkJlZm9yZTpob3ZlciwgI3NwYW5BZnRlcjpob3ZlciwgI3NwYW5Bd2F5OmhvdmVy
IHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisKKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5Pgor
ICAgICAgICA8b2wgY2xhc3M9InZpc3VhbEVsZW1lbnQiPgorICAgICAgICAgICAgPGxpPk1vdmUg
dGhlIG1vdXNlIG92ZXIgdGhlIG9yYW5nZSBzcXVhcmUKKyAgICAgICAgICAgICAgICA8dWw+Cisg
ICAgICAgICAgICAgICAgICAgIDxsaT5UaGUgbGlnaHRibHVlIHNxdWFyZSBzaG91bGQgdHVybiBn
cmVlbjwvbGk+CisgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgIDwvbGk+CisgICAg
ICAgICAgICA8bGk+TW92ZSB0aGUgbW91c2Ugb3ZlciB0aGUgcmVkIHNxdWFyZQorICAgICAgICAg
ICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgICAgPGxpPlRoZSByZWQgYW5kIGxpZ2h0Ymx1
ZSBzcXVhcmVzIHNob3VsZCB0dXJuIGdyZWVuPC9saT4KKyAgICAgICAgICAgICAgICA8L3VsPgor
ICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAgIDxsaT5Nb3ZlIHRoZSBtb3VzZSBvdmVyIHRo
ZSAiQmVmb3JlIiBvciAiQWZ0ZXIiIHRleHRzCisgICAgICAgICAgICAgICAgPHVsPgorICAgICAg
ICAgICAgICAgICAgICA8bGk+VGhlIHRleHQncyBiYWNrZ3JvdW5kIHNob3VsZCB0dXJuIHllbGxv
dyBhbmQgdGhlIGxpZ2h0Ymx1ZSBzcXVhcmUgc2hvdWxkIHR1cm4gZ3JlZW48L2xpPgorICAgICAg
ICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICA8L2xpPgorICAgICAgICAgICAgPGxpPk1vdmUg
dGhlIG1vdXNlIG92ZXIgdGhlICJBd2F5IiB0ZXh0CisgICAgICAgICAgICAgICAgPHVsPgorICAg
ICAgICAgICAgICAgICAgICA8bGk+VGhlIHRleHQncyBiYWNrZ3JvdW5kIHNob3VsZCB0dXJuIHll
bGxvdyBhbmQgdGhlIHllbGxvdyBzcXVhcmUgc2hvdWxkIHR1cm4gZ3JlZW48L2xpPgorICAgICAg
ICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICA8L2xpPgorICAgICAgICA8L29sPgorCisgICAg
ICAgIDxkaXYgY2xhc3M9InZpc3VhbEVsZW1lbnQiIGlkPSJncmFuZHBhcmVudCI+CisgICAgICAg
ICAgICA8c3BhbiBpZD0ic3BhbkJlZm9yZSI+QmVmb3JlPC9zcGFuPgorICAgICAgICAgICAgPGRp
diBjbGFzcz0idmlzdWFsRWxlbWVudCIgaWQ9InBhcmVudCI+CisgICAgICAgICAgICAgICAgPGRp
diBjbGFzcz0idmlzdWFsRWxlbWVudCIgaWQ9ImNoaWxkIj48L2Rpdj4KKyAgICAgICAgICAgIDwv
ZGl2PgorICAgICAgICAgICAgPHNwYW4gaWQ9InNwYW5BZnRlciI+QWZ0ZXI8L3NwYW4+CisgICAg
ICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJ2aXN1YWxFbGVtZW50IiBpZD0icGFyZW50
MiI+CisgICAgICAgICAgICA8c3BhbiBpZD0ic3BhbkF3YXkiPkF3YXk8L3NwYW4+CisgICAgICAg
IDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJ2aXN1YWxFbGVtZW50IiBpZD0icmVnaW9uIj48
L2Rpdj4KKworICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGVzdCBob3ZlciBvbiBjaGlsZCB3aGVuIGZsb3dlZCBpbnRvIHJl
Z2lvbi4iKQorCisgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAg
ICAgICAgICAgdmFyIGNoaWxkICA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNjaGlsZCIpOwor
ICAgICAgICAgICAgICAgIHZhciBwYXJlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGFy
ZW50Iik7CisgICAgICAgICAgICAgICAgdmFyIHBhcmVudDIgPSBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCIjcGFyZW50MiIpOworICAgICAgICAgICAgICAgIHZhciBncmFuZHBhcmVudCA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoIiNncmFuZHBhcmVudCIpOworICAgICAgICAgICAgICAgIHZhciB0
ZXh0QmVmb3JlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3NwYW5CZWZvcmUiKTsKKyAgICAg
ICAgICAgICAgICB2YXIgdGV4dEFmdGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3NwYW5B
ZnRlciIpOworICAgICAgICAgICAgICAgIHZhciB0ZXh0QXdheSA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoIiNzcGFuQXdheSIpOworCisgICAgICAgICAgICAgICAgLy8gbW92ZSBtb3VzZSBvbiB0
aGUgcGFyZW50IG9iamVjdAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8ocGFyZW50Lm9mZnNldExlZnQgKyAxNDUsIHBhcmVudC5v
ZmZzZXRUb3AgKyA1MCk7CisgICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93
bigwKTsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoNTAwKTsK
KyAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgwKTsKKworICAgICAgICAg
ICAgICAgICAgICB2YXIgY2hpbGRDb2xvciA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGNoaWxk
KS5nZXRQcm9wZXJ0eVZhbHVlKCJiYWNrZ3JvdW5kLWNvbG9yIik7CisgICAgICAgICAgICAgICAg
ICAgIHZhciBncmFuZHBhcmVudENvbG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JhbmRw
YXJlbnQpLmdldFByb3BlcnR5VmFsdWUoImJhY2tncm91bmQtY29sb3IiKTsKKworICAgICAgICAg
ICAgICAgICAgICBpZiAoY2hpbGRDb2xvciA9PSAicmdiKDI1NSwgMCwgMCkiKQorICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ2hpbGQgaG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9L
LiIpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJDaGlsZCBob3ZlciBldmVudCBGQUlMRUQgdG8gcHJvY2VzcywgIiArIGNoaWxk
Q29sb3IpOworCisgICAgICAgICAgICAgICAgICAgIGlmIChncmFuZHBhcmVudENvbG9yID09ICJy
Z2IoMCwgMTI4LCAwKSIpCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJHcmFu
ZHBhcmVudCBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suIik7CisgICAgICAgICAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkdyYW5kcGFyZW50IGhv
dmVyIGV2ZW50IEZBSUxFRCB0byBwcm9jZXNzLiIpOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIC8vIG1vdmUgbW91c2Ugb24gdGhlIGNoaWxkIG9iamVjdAorICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oY2hp
bGQub2Zmc2V0TGVmdCArIDEwLCBjaGlsZC5vZmZzZXRUb3AgKyA1MCk7CisgICAgICAgICAgICAg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigwKTsKKyAgICAgICAgICAgICAgICAgICAgZXZl
bnRTZW5kZXIubGVhcEZvcndhcmQoNTAwKTsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VVcCgwKTsKKworICAgICAgICAgICAgICAgICAgICB2YXIgY2hpbGRDb2xvciA9IHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGNoaWxkKS5nZXRQcm9wZXJ0eVZhbHVlKCJiYWNrZ3JvdW5k
LWNvbG9yIik7CisgICAgICAgICAgICAgICAgICAgIHZhciBncmFuZHBhcmVudENvbG9yID0gd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZ3JhbmRwYXJlbnQpLmdldFByb3BlcnR5VmFsdWUoImJhY2tn
cm91bmQtY29sb3IiKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGRDb2xvciA9PSAi
cmdiKDAsIDEyOCwgMCkiKQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiQ2hp
bGQgaG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLiIpOworICAgICAgICAgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDaGlsZCBob3ZlciBldmVudCBG
QUlMRUQgdG8gcHJvY2Vzcy4iKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoZ3JhbmRwYXJl
bnRDb2xvciA9PSAicmdiKDAsIDEyOCwgMCkiKQorICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dFBhc3NlZCgiR3JhbmRwYXJlbnQgaG92ZXIgZXZlbnQgcHJvY2Vzc2VkIE9LLiIpOworICAgICAg
ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJH
cmFuZHBhcmVudCBob3ZlciBldmVudCBGQUlMRUQgdG8gcHJvY2Vzcy4iKTsKKyAgICAgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBtb3ZlIG1vdXNlIG9uIHRoZSAiQmVmb3JlIiB0
ZXh0CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5t
b3VzZU1vdmVUbyhzcGFuQmVmb3JlLm9mZnNldExlZnQgKyA1LCBzcGFuQmVmb3JlLm9mZnNldFRv
cCArIDUpOworICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oMCk7Cisg
ICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDUwMCk7CisgICAgICAg
ICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoMCk7CisKKyAgICAgICAgICAgICAgICAg
ICAgdmFyIGdyYW5kcGFyZW50Q29sb3IgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmFuZHBh
cmVudCkuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dyb3VuZC1jb2xvciIpOworICAgICAgICAgICAg
ICAgICAgICB2YXIgdGV4dENvbG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoc3BhbkJlZm9y
ZSkuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dyb3VuZC1jb2xvciIpOworCisgICAgICAgICAgICAg
ICAgICAgIGlmICh0ZXh0Q29sb3IgPT0gInJnYigyNTUsIDI1NSwgMCkiKQorICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdFBhc3NlZCgiU3BhbiBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suIik7
CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIlNwYW4gaG92ZXIgZXZlbnQgRkFJTEVEIHRvIHByb2Nlc3MuIik7CisKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKGdyYW5kcGFyZW50Q29sb3IgPT0gInJnYigwLCAxMjgsIDApIikKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkdyYW5kcGFyZW50IGhvdmVyIGV2ZW50
IHByb2Nlc3NlZCBPSy4iKTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgiR3JhbmRwYXJlbnQgaG92ZXIgZXZlbnQgRkFJTEVEIHRv
IHByb2Nlc3MuIik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgLy8gbW92
ZSBtb3VzZSBvbiB0aGUgIkFmdGVyIiB0ZXh0CisgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzcGFuQWZ0ZXIub2Zmc2V0TGVmdCAr
IDUsIHNwYW5BZnRlci5vZmZzZXRUb3AgKyA1KTsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VEb3duKDApOworICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5sZWFw
Rm9yd2FyZCg1MDApOworICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKDAp
OworCisgICAgICAgICAgICAgICAgICAgIHZhciBncmFuZHBhcmVudENvbG9yID0gd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoZ3JhbmRwYXJlbnQpLmdldFByb3BlcnR5VmFsdWUoImJhY2tncm91bmQt
Y29sb3IiKTsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHRleHRDb2xvciA9IHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKHNwYW5BZnRlcikuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dyb3VuZC1jb2xv
ciIpOworCisgICAgICAgICAgICAgICAgICAgIGlmICh0ZXh0Q29sb3IgPT0gInJnYigyNTUsIDI1
NSwgMCkiKQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiU3BhbiBob3ZlciBl
dmVudCBwcm9jZXNzZWQgT0suIik7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNwYW4gaG92ZXIgZXZlbnQgRkFJTEVEIHRvIHBy
b2Nlc3MuIik7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKGdyYW5kcGFyZW50Q29sb3IgPT0g
InJnYigwLCAxMjgsIDApIikKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkdy
YW5kcGFyZW50IGhvdmVyIGV2ZW50IHByb2Nlc3NlZCBPSy4iKTsKKyAgICAgICAgICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiR3JhbmRwYXJlbnQg
aG92ZXIgZXZlbnQgRkFJTEVEIHRvIHByb2Nlc3MuIik7CisgICAgICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAgICAgLy8gbW92ZSBtb3VzZSBvbiB0aGUgIkF3YXkiIHRleHQKKyAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHNw
YW5Bd2F5Lm9mZnNldExlZnQgKyA1LCBzcGFuQXdheS5vZmZzZXRUb3AgKyA1KTsKKyAgICAgICAg
ICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKDApOworICAgICAgICAgICAgICAgICAg
ICBldmVudFNlbmRlci5sZWFwRm9yd2FyZCg1MDApOworICAgICAgICAgICAgICAgICAgICBldmVu
dFNlbmRlci5tb3VzZVVwKDApOworCisgICAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnQyQ29s
b3IgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQyKS5nZXRQcm9wZXJ0eVZhbHVlKCJi
YWNrZ3JvdW5kLWNvbG9yIik7CisgICAgICAgICAgICAgICAgICAgIHZhciB0ZXh0Q29sb3IgPSB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzcGFuQXdheSkuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dy
b3VuZC1jb2xvciIpOworCisgICAgICAgICAgICAgICAgICAgIGlmICh0ZXh0Q29sb3IgPT0gInJn
YigyNTUsIDI1NSwgMCkiKQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgiU3Bh
biBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suIik7CisgICAgICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNwYW4gaG92ZXIgZXZlbnQgRkFJ
TEVEIHRvIHByb2Nlc3MuIik7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmVudDJDb2xv
ciA9PSAicmdiKDAsIDEyOCwgMCkiKQorICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgiUGFyZW50MiBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suIik7CisgICAgICAgICAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlBhcmVudDIgaG92
ZXIgZXZlbnQgRkFJTEVEIHRvIHByb2Nlc3MuIik7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAg
ICAgICAgICB2YXIgZWxlbWVudHNUb0hpZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIu
dmlzdWFsRWxlbWVudCIpOworICAgICAgICAgICAgICAgIGZvciAodmFyIGk9MDsgaTxlbGVtZW50
c1RvSGlkZS5sZW5ndGg7IGkrKykKKyAgICAgICAgICAgICAgICAgICAgZWxlbWVudHNUb0hpZGVb
aV0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICB2YXIgZWxlbWVudHNUb0hpZGUgPSBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCIjY29uc29sZSwgI2Rlc2NyaXB0aW9uIik7CisgICAgICAgICAg
ICAgICAgZm9yICh2YXIgaT0wOyBpPGVsZW1lbnRzVG9IaWRlLmxlbmd0aDsgaSsrKQorICAgICAg
ICAgICAgICAgICAgICBlbGVtZW50c1RvSGlkZVtpXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRl
biI7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorCisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92ZXIt
b24tY2hpbGQtaW4tcmVnaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy9ob3Zlci1vbi1jaGlsZC1pbi1yZWdpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmZjZGRjZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlZ2lvbnMvaG92ZXItb24tY2hpbGQtaW4tcmVnaW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDkgQEAKK1Rlc3QgaG92ZXIgb24gY2hpbGQgd2hlbiBmbG93ZWQgaW50byByZWdpb24u
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBIb3ZlciBldmVudCBwcm9jZXNz
ZWQgT0suCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2hvdmVyLW9uLWNoaWxkLWlu
LXJlZ2lvbi1pbi1yZWdpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L2hvdmVyLW9uLWNoaWxkLWluLXJlZ2lvbi1pbi1yZWdpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyNWI1MzEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92ZXItb24tY2hpbGQtaW4tcmVnaW9uLWluLXJlZ2lv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGhpcyB0ZXN0IGNvdmVycyB0aGUgY2Fz
ZSB3aGVuIHRoZSBjaGlsZCBpcyBpdHNlbGYgYSByZWdpb24gYW5kIHRoZSBwYXJlbnQgaXMgZmxv
d2VkIGludG8gYW5vdGhlciByZWdpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyBDaGlsZCBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suCitQQVNTIFBhcmVudCBob3ZlciBl
dmVudCBwcm9jZXNzZWQgT0suCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92
ZXItb24tY2hpbGQtaW4tcmVnaW9uLWluLXJlZ2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL2hvdmVyLW9uLWNoaWxkLWluLXJlZ2lvbi1pbi1yZWdpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDZhMjA5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9yZWdpb25zL2hvdmVyLW9uLWNoaWxkLWluLXJlZ2lvbi1pbi1yZWdpb24u
aHRtbApAQCAtMCwwICsxLDEyNCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+
Cis8aGVhZD4KKwk8c3R5bGU+CisJCS8qIE1ha2Ugc3VyZSB0aGUgY29uc29sZSBhbmQgdGhlIGRl
c2NyaXB0aW9uIGRvbid0IGludGVyZmVyZSB3aXRoIHRoZSByZXN0IG9mIHRoZSBsYXlvdXQuICov
CisJCSNkZXNjcmlwdGlvbiB7CisJCQlwb3NpdGlvbjogYWJzb2x1dGU7CisJCQl0b3A6IDBweDsK
KwkJfQorCisJCSNjb25zb2xlIHsKKwkJCXBvc2l0aW9uOiBhYnNvbHV0ZTsKKwkJCXRvcDogMTAw
cHg7CisJCX0KKworCQkuaHVnZUJveCB7CisJCQl3aWR0aDogMzAwcHg7CisJCQloZWlnaHQ6IDMw
MHB4OworCQl9CisJCS5iaWdCb3ggeworCQkJd2lkdGg6IDIwMHB4OworCQkJaGVpZ2h0OiAyMDBw
eDsKKwkJfQorCQkuc21hbGxCb3ggeworCQkJd2lkdGg6IDEwMHB4OworCQkJaGVpZ2h0OiAxMDBw
eDsKKwkJfQorCQkudGlueUJveCB7CisJCQl3aWR0aDogNTBweDsKKwkJCWhlaWdodDogNTBweDsK
KwkJfQorCQkjZmxvd2VkSW50b0NoaWxkIHsKKwkJCWJvcmRlcjogMXB4IHNvbGlkIGJsdWU7CisJ
CQljb2xvcjogYmx1ZTsKKwkJCWZvbnQtc2l6ZTogMTJweDsKKwkJCW1hcmdpbjogNXB4OworCQkJ
LXdlYmtpdC1mbG93LWludG86IGZsb3dJbnRvQ2hpbGQ7CisJCX0KKwkJI3BhcmVudCB7CisJCQli
b3JkZXI6IDJweCBzb2xpZCByZWQ7CisJCQltYXJnaW46IDIwcHg7CisJCQlwYWRkaW5nOiAxMHB4
OworCQkJYmFja2dyb3VuZC1jb2xvcjogZGFya3JlZDsKKwkJCS13ZWJraXQtZmxvdy1pbnRvOiBm
bG93UGFyZW50OworCQl9CisKKwkJI3BhcmVudDpob3ZlciB7CisJCQliYWNrZ3JvdW5kLWNvbG9y
OiBncmVlbjsKKwkJfQorCQorCQkjY2hpbGQgeworCQkJYm9yZGVyOiA1cHggc29saWQgb3Jhbmdl
OworCQkJYmFja2dyb3VuZC1jb2xvcjogb3JhbmdlOworCQkJLXdlYmtpdC1mbG93LWZyb206IGZs
b3dJbnRvQ2hpbGQ7CisJCX0KKworCQkjY2hpbGQ6aG92ZXIgeworCQkJYmFja2dyb3VuZC1jb2xv
cjogeWVsbG93OworCQl9CisKKwkJI3JlZ2lvbiB7CisJCQlib3JkZXI6IDVweCBzb2xpZCBncmVl
bjsKKwkJCW1hcmdpbjogNTBweDsKKwkJCS13ZWJraXQtZmxvdy1mcm9tOiBmbG93UGFyZW50Owor
CQl9CisJPC9zdHlsZT4KKworCTxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisJPHAgY2xhc3M9InZpc2libGVFbGVt
ZW50Ij5UaGlzIHRlc3QgY292ZXJzIHRoZSBjYXNlIHdoZW4gdGhlIDxzcGFuIHN0eWxlPSJjb2xv
cjogb3JhbmdlOyI+PGI+Y2hpbGQ8L2I+PC9zcGFuPiBpcyBpdHNlbGYgYSByZWdpb24gYW5kIHRo
ZSA8c3BhbiBzdHlsZT0iY29sb3I6IGRhcmtyZWQ7Ij48Yj5wYXJlbnQ8L2I+PC9zcGFuPiBpcyBm
bG93ZWQgaW50byBhbm90aGVyIDxzcGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij48Yj5yZWdpb248
L2I+PC9zcGFuPi48L3A+CisJPG9sIGNsYXNzPSJ2aXNpYmxlRWxlbWVudCI+CisJCTxsaT5Nb3Zl
IHRoZSBtb3VzZSBpbnNpZGUgdGhlIG9yYW5nZSBzcXVhcmU8L2xpPgorCQk8bGk+VGhlIG9yYW5n
ZSBzcXVhcmUgc2hvdWxkIHR1cm4geWVsbG93IGFuZCB0aGUgYmlnIGRhcmtyZWQgc3F1YXJlIHNo
b3VsZCB0dXJuIGdyZWVuPC9saT4KKwk8L29sPgorCTxkaXYgY2xhc3M9ImJpZ0JveCIgaWQ9InBh
cmVudCI+CisJCTxkaXYgY2xhc3M9InNtYWxsQm94IiBpZD0iY2hpbGQiPjwvZGl2PgorCTwvZGl2
PgorCTxkaXYgY2xhc3M9InRpbnlCb3giIGlkPSJmbG93ZWRJbnRvQ2hpbGQiPmZsb3dlZCBpbnRv
IGNoaWxkPC9kaXY+CisJPGRpdiBjbGFzcz0iaHVnZUJveCIgaWQ9InJlZ2lvbiI+PC9kaXY+CisK
Kwk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisJCWRlc2NyaXB0aW9uKCJUaGlzIHRl
c3QgY292ZXJzIHRoZSBjYXNlIHdoZW4gdGhlIGNoaWxkIGlzIGl0c2VsZiBhIHJlZ2lvbiBhbmQg
dGhlIHBhcmVudCBpcyBmbG93ZWQgaW50byBhbm90aGVyIHJlZ2lvbi4iKQorCisJCWlmICh3aW5k
b3cuZXZlbnRTZW5kZXIpIHsKKwkJCXZhciBjaGlsZCAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCIjY2hpbGQiKTsKKwkJCXZhciBwYXJlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGFy
ZW50Iik7CisKKwkJCS8vIG1vdmUgbW91c2Ugb24gdGhlIGNoaWxkIG9iamVjdAorCQkJZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8oY2hpbGQub2Zmc2V0TGVmdCArIDkwLCBjaGlsZC5vZmZzZXRUb3Ag
KyA1MCk7CisJCQlldmVudFNlbmRlci5tb3VzZURvd24oMCk7CisJCQlldmVudFNlbmRlci5sZWFw
Rm9yd2FyZCg1MDApOworCQkJZXZlbnRTZW5kZXIubW91c2VVcCgwKTsKKworCQkJdmFyIGNoaWxk
Q29sb3IgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjaGlsZCkuZ2V0UHJvcGVydHlWYWx1ZSgi
YmFja2dyb3VuZC1jb2xvciIpOworICAgICAgICAgICAgdmFyIHBhcmVudENvbG9yID0gd2luZG93
LmdldENvbXB1dGVkU3R5bGUocGFyZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCJiYWNrZ3JvdW5kLWNv
bG9yIik7CisKKwkJCWlmIChjaGlsZENvbG9yID09ICJyZ2IoMjU1LCAyNTUsIDApIikKKwkJCQl0
ZXN0UGFzc2VkKCJDaGlsZCBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suIik7CisJCQllbHNlCisJ
CQkJdGVzdEZhaWxlZCgiQ2hpbGQgaG92ZXIgZXZlbnQgRkFJTEVEIHRvIHByb2Nlc3MuIik7CisK
KwkJCWlmIChwYXJlbnRDb2xvciA9PSAicmdiKDAsIDEyOCwgMCkiKQorCQkJCXRlc3RQYXNzZWQo
IlBhcmVudCBob3ZlciBldmVudCBwcm9jZXNzZWQgT0suIik7CisJCQllbHNlCisJCQkJdGVzdEZh
aWxlZCgiUGFyZW50IGhvdmVyIGV2ZW50IEZBSUxFRCB0byBwcm9jZXNzLiIpOworCQl9CisKKwkJ
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisJCQl2YXIgZWxlbWVudHNUb0hpZGUgPSBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCIudmlzaWJsZUVsZW1lbnQsIC50aW55Qm94LCAuc21hbGxCb3gs
IC5iaWdCb3gsIC5odWdlQm94Iik7CisJCQlmb3IgKHZhciBpPTA7IGk8ZWxlbWVudHNUb0hpZGUu
bGVuZ3RoOyBpKyspCisJCQkJZWxlbWVudHNUb0hpZGVbaV0uc3R5bGUudmlzaWJpbGl0eSA9ICJo
aWRkZW4iOworCQl9CisKKwkJZWxzZSB7CisJCQl2YXIgZWxlbWVudHNUb0hpZGUgPSBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCIjY29uc29sZSwgI2Rlc2NyaXB0aW9uIik7CisJCQlmb3IgKHZh
ciBpPTA7IGk8ZWxlbWVudHNUb0hpZGUubGVuZ3RoOyBpKyspCisJCQkJZWxlbWVudHNUb0hpZGVb
aV0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOworCQl9CisJPC9zY3JpcHQ+CisKKwk8c2Ny
aXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9yZWdpb25zL2hvdmVyLW9uLWNoaWxkLWluLXJlZ2lvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9yZWdpb25zL2hvdmVyLW9uLWNoaWxkLWluLXJlZ2lvbi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiYzEyMjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92ZXItb24tY2hpbGQtaW4tcmVnaW9uLmh0bWwK
QEAgLTAsMCArMSw4MyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVh
ZD4KKwk8c3R5bGU+CisJCS8qIE1ha2Ugc3VyZSB0aGUgY29uc29sZSBhbmQgdGhlIGRlc2NyaXB0
aW9uIGRvbid0IGludGVyZmVyZSB3aXRoIHRoZSByZXN0IG9mIHRoZSBsYXlvdXQuICovCisJCSNk
ZXNjcmlwdGlvbiB7CisJCQlwb3NpdGlvbjogYWJzb2x1dGU7CisJCQl0b3A6IDBweDsKKwkJfQor
CisJCSNjb25zb2xlIHsKKwkJCXBvc2l0aW9uOiBhYnNvbHV0ZTsKKwkJCXRvcDogMTAwcHg7CisJ
CX0KKworCQkuYm94IHsKKwkJCXdpZHRoOiAxMDBweDsKKwkJCWhlaWdodDogMTAwcHg7CisJCX0K
KwkJI3BhcmVudCB7CisJCQliYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKwkJfQorCQkjcGFyZW50
OmhvdmVyIHsKKwkJCWNvbG9yOiByZWQ7CisJCX0KKwkJI2NoaWxkIHsKKwkJCWJhY2tncm91bmQt
Y29sb3I6IG9yYW5nZTsKKwkJCS13ZWJraXQtZmxvdy1pbnRvOiBmOworCQl9CisJCSNyZWdpb24g
eworCQkJLXdlYmtpdC1mbG93LWZyb206IGY7CisJCX0KKwk8L3N0eWxlPgorCisJPHNjcmlwdCBz
cmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKwk8b2w+CisJCTxsaT5Nb3ZlIHRoZSBtb3VzZSBvdmVyIHRoZSBvcmFuZ2Ugc3F1YXJl
PC9saT4KKwkJPGxpPlRoZSB0ZXh0IHNob3VsZCB0dXJuIHJlZDwvbGk+CisJPC9vbD4KKwk8ZGl2
IGNsYXNzPSJib3giIGlkPSJwYXJlbnQiPgorCQk8ZGl2IGNsYXNzPSJib3giIGlkPSJjaGlsZCI+
UmVkID0gaG92ZXI8L2Rpdj4KKwk8L2Rpdj4KKwk8ZGl2IGNsYXNzPSJib3giIGlkPSJyZWdpb24i
PjwvZGl2PgorCisJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCQlkZXNjcmlwdGlv
bigiVGVzdCBob3ZlciBvbiBjaGlsZCB3aGVuIGZsb3dlZCBpbnRvIHJlZ2lvbi4iKQorCisJCWlm
ICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKwkJCXZhciBjaGlsZCAgPSBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCIjY2hpbGQiKTsKKwkJCXZhciBwYXJlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCIjcGFyZW50Iik7CisKKwkJCS8vIG1vdmUgbW91c2Ugb24gdGhlIGNoaWxkIG9iamVjdAorCQkJ
ZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oY2hpbGQub2Zmc2V0TGVmdCArIDEwLCBjaGlsZC5vZmZz
ZXRUb3AgKyA1MCk7CisJCQlldmVudFNlbmRlci5tb3VzZURvd24oMCk7CisJCQlldmVudFNlbmRl
ci5sZWFwRm9yd2FyZCg1MDApOworCQkJZXZlbnRTZW5kZXIubW91c2VVcCgwKTsKKworCQkJdmFy
IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpOworCQkJdmFy
IGNsciA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgiY29sb3IiKTsKKwkJCWlmIChj
bHIgPT0gInJnYigyNTUsIDAsIDApIikKKwkJCQl0ZXN0UGFzc2VkKCJIb3ZlciBldmVudCBwcm9j
ZXNzZWQgT0suIik7CisJCQllbHNlCisJCQkJdGVzdEZhaWxlZCgiSG92ZXIgZXZlbnQgRkFJTEVE
IHRvIHByb2Nlc3MuIik7CisJCX0KKworCQlpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKwkJCXZh
ciBlbGVtZW50c1RvSGlkZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIm9sLCAuYm94Iik7
CisJCQlmb3IgKHZhciBpPTA7IGk8ZWxlbWVudHNUb0hpZGUubGVuZ3RoOyBpKyspCisJCQkJZWxl
bWVudHNUb0hpZGVbaV0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOworCQl9CisKKwkJZWxz
ZSB7CisJCQl2YXIgZWxlbWVudHNUb0hpZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIj
Y29uc29sZSwgI2Rlc2NyaXB0aW9uIik7CisJCQlmb3IgKHZhciBpPTA7IGk8ZWxlbWVudHNUb0hp
ZGUubGVuZ3RoOyBpKyspCisJCQkJZWxlbWVudHNUb0hpZGVbaV0uc3R5bGUudmlzaWJpbGl0eSA9
ICJoaWRkZW4iOworCQl9CisJPC9zY3JpcHQ+CisKKwk8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L2hvdmVyLW9uLWNoaWxkLXBhcmVudC1kaWZmZXJlbnQtcmVnaW9ucy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92ZXItb24tY2hpbGQtcGFyZW50LWRpZmZlcmVudC1y
ZWdpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45
N2YxYzA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2hvdmVy
LW9uLWNoaWxkLXBhcmVudC1kaWZmZXJlbnQtcmVnaW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorVGhpcyB0ZXN0IGNvdmVycyB0aGUgY2FzZSB3aGVuIHRoZSBjaGlsZCBpcyBmbG93
ZWQgaW50byBhIHJlZ2lvbiBhbmQgdGhlIHBhcmVudCBpcyBmbG93ZWQgaW50byBhIGRpZmZlcmVu
dCByZWdpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBDaGlsZCBob3Zl
ciBldmVudCBwcm9jZXNzZWQgT0suCitQQVNTIFBhcmVudCBob3ZlciBldmVudCBwcm9jZXNzZWQg
T0suCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92ZXItb24tY2hpbGQtcGFy
ZW50LWRpZmZlcmVudC1yZWdpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvaG92
ZXItb24tY2hpbGQtcGFyZW50LWRpZmZlcmVudC1yZWdpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uYzkxMzE4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy9ob3Zlci1vbi1jaGlsZC1wYXJlbnQtZGlmZmVyZW50LXJlZ2lvbnMu
aHRtbApAQCAtMCwwICsxLDEyNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+
Cis8aGVhZD4KKwk8c3R5bGU+CisJCS8qIE1ha2Ugc3VyZSB0aGUgY29uc29sZSBhbmQgdGhlIGRl
c2NyaXB0aW9uIGRvbid0IGludGVyZmVyZSB3aXRoIHRoZSByZXN0IG9mIHRoZSBsYXlvdXQuICov
CisJCSNkZXNjcmlwdGlvbiB7CisJCQlwb3NpdGlvbjogYWJzb2x1dGU7CisJCQl0b3A6IDBweDsK
KwkJfQorCisJCSNjb25zb2xlIHsKKwkJCXBvc2l0aW9uOiBhYnNvbHV0ZTsKKwkJCXRvcDogMTAw
cHg7CisJCX0KKworCQkuaHVnZUJveCB7CisJCQl3aWR0aDogMzAwcHg7CisJCQloZWlnaHQ6IDMw
MHB4OworCQl9CisJCS5iaWdCb3ggeworCQkJd2lkdGg6IDIwMHB4OworCQkJaGVpZ2h0OiAyMDBw
eDsKKwkJfQorCQkuc21hbGxCb3ggeworCQkJd2lkdGg6IDEwMHB4OworCQkJaGVpZ2h0OiAxMDBw
eDsKKwkJfQorCQkKKwkJI3BhcmVudCB7CisJCQlib3JkZXI6IDJweCBzb2xpZCByZWQ7CisJCQlt
YXJnaW46IDIwcHg7CisJCQlwYWRkaW5nOiAxMHB4OworCQkJYmFja2dyb3VuZC1jb2xvcjogZGFy
a3JlZDsKKwkJCS13ZWJraXQtZmxvdy1pbnRvOiBmbG93UGFyZW50OworCQl9CisKKwkJI3BhcmVu
dDpob3ZlciB7CisJCQliYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKwkJfQorCQorCQkjY2hpbGQg
eworCQkJYm9yZGVyOiA1cHggc29saWQgb3JhbmdlOworCQkJYmFja2dyb3VuZC1jb2xvcjogb3Jh
bmdlOworCQkJLXdlYmtpdC1mbG93LWludG86IGZsb3dDaGlsZDsKKwkJfQorCisJCSNjaGlsZDpo
b3ZlciB7CisJCQliYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CisJCX0KKworCQkjcmVnaW9uUGFy
ZW50IHsKKwkJCWJvcmRlcjogNXB4IHNvbGlkIGdyZWVuOworCQkJbWFyZ2luOiA1MHB4OworCQkJ
LXdlYmtpdC1mbG93LWZyb206IGZsb3dQYXJlbnQ7CisJCX0KKworCQkjcmVnaW9uQ2hpbGQgewor
CQkJYm9yZGVyOiA1cHggc29saWQgYmx1ZTsKKwkJCW1hcmdpbjogNTBweDsKKwkJCXBvc2l0aW9u
OiByZWxhdGl2ZTsKKwkJCWxlZnQ6IDQwMHB4OworCQkJdG9wOiAtMzAwcHg7CisJCQlwYWRkaW5n
OiAyMHB4OworCQkJLXdlYmtpdC1mbG93LWZyb206IGZsb3dDaGlsZDsKKwkJfQorCTwvc3R5bGU+
CisKKwk8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorCTxwIGNsYXNzPSJ2aXNpYmxlRWxlbWVudCI+VGhpcyB0ZXN0
IGNvdmVycyB0aGUgY2FzZSB3aGVuIHRoZSA8c3BhbiBzdHlsZT0iY29sb3I6IG9yYW5nZTsiPjxi
PmNoaWxkPC9iPjwvc3Bhbj4gaXMgZmxvd2VkIGludG8gYSA8c3BhbiBzdHlsZT0iY29sb3I6IGJs
dWU7Ij48Yj5yZWdpb248L2I+PC9zcGFuPiBhbmQgdGhlIDxzcGFuIHN0eWxlPSJjb2xvcjogZGFy
a3JlZDsiPjxiPnBhcmVudDwvYj48L3NwYW4+IGlzIGZsb3dlZCBpbnRvIGEgZGlmZmVyZW50IDxz
cGFuIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij48Yj5yZWdpb248L2I+PC9zcGFuPi48L3A+CisJPG9s
IGNsYXNzPSJ2aXNpYmxlRWxlbWVudCI+CisJCTxsaT5Nb3ZlIHRoZSBtb3VzZSBpbnNpZGUgdGhl
IG9yYW5nZSBzcXVhcmU8L2xpPgorCQk8bGk+VGhlIG9yYW5nZSBzcXVhcmUgc2hvdWxkIHR1cm4g
eWVsbG93IGFuZCB0aGUgYmlnIGRhcmtyZWQgc3F1YXJlIHNob3VsZCB0dXJuIGdyZWVuPC9saT4K
Kwk8L29sPgorCTxkaXYgY2xhc3M9ImJpZ0JveCIgaWQ9InBhcmVudCI+CisJCTxkaXYgY2xhc3M9
InNtYWxsQm94IiBpZD0iY2hpbGQiPjwvZGl2PgorCTwvZGl2PgorCQorCTxkaXYgY2xhc3M9Imh1
Z2VCb3giIGlkPSJyZWdpb25QYXJlbnQiPjwvZGl2PgorCTxkaXYgY2xhc3M9ImJpZ0JveCIgaWQ9
InJlZ2lvbkNoaWxkIj48L2Rpdj4KKwkKKwk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CisJCWRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY292ZXJzIHRoZSBjYXNlIHdoZW4gdGhlIGNoaWxk
IGlzIGZsb3dlZCBpbnRvIGEgcmVnaW9uIGFuZCB0aGUgcGFyZW50IGlzIGZsb3dlZCBpbnRvIGEg
ZGlmZmVyZW50IHJlZ2lvbi4iKQorCisJCWlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKwkJCXZh
ciBjaGlsZCAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjY2hpbGQiKTsKKwkJCXZhciBwYXJl
bnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGFyZW50Iik7CisKKwkJCS8vIG1vdmUgbW91
c2Ugb24gdGhlIGNoaWxkIG9iamVjdAorCQkJZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oY2hpbGQu
b2Zmc2V0TGVmdCArIDUwLCBjaGlsZC5vZmZzZXRUb3AgKyA1MCk7CisJCQlldmVudFNlbmRlci5t
b3VzZURvd24oMCk7CisJCQlldmVudFNlbmRlci5sZWFwRm9yd2FyZCg1MDApOworCQkJZXZlbnRT
ZW5kZXIubW91c2VVcCgwKTsKKworCQkJdmFyIGNoaWxkQ29sb3IgPSB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShjaGlsZCkuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dyb3VuZC1jb2xvciIpOworICAg
ICAgICAgICAgdmFyIHBhcmVudENvbG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUocGFyZW50
KS5nZXRQcm9wZXJ0eVZhbHVlKCJiYWNrZ3JvdW5kLWNvbG9yIik7CisKKwkJCWlmIChjaGlsZENv
bG9yID09ICJyZ2IoMjU1LCAyNTUsIDApIikKKwkJCQl0ZXN0UGFzc2VkKCJDaGlsZCBob3ZlciBl
dmVudCBwcm9jZXNzZWQgT0suIik7CisJCQllbHNlCisJCQkJdGVzdEZhaWxlZCgiQ2hpbGQgaG92
ZXIgZXZlbnQgRkFJTEVEIHRvIHByb2Nlc3MuIik7CisKKwkJCWlmIChwYXJlbnRDb2xvciA9PSAi
cmdiKDAsIDEyOCwgMCkiKQorCQkJCXRlc3RQYXNzZWQoIlBhcmVudCBob3ZlciBldmVudCBwcm9j
ZXNzZWQgT0suIik7CisJCQllbHNlCisJCQkJdGVzdEZhaWxlZCgiUGFyZW50IGhvdmVyIGV2ZW50
IEZBSUxFRCB0byBwcm9jZXNzLiIpOworCQl9CisKKwkJaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CisJCQl2YXIgZWxlbWVudHNUb0hpZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIudmlz
aWJsZUVsZW1lbnQsIC50aW55Qm94LCAuc21hbGxCb3gsIC5iaWdCb3gsIC5odWdlQm94Iik7CisJ
CQlmb3IgKHZhciBpPTA7IGk8ZWxlbWVudHNUb0hpZGUubGVuZ3RoOyBpKyspCisJCQkJZWxlbWVu
dHNUb0hpZGVbaV0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOworCQl9CisKKwkJZWxzZSB7
CisJCQl2YXIgZWxlbWVudHNUb0hpZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjY29u
c29sZSwgI2Rlc2NyaXB0aW9uIik7CisJCQlmb3IgKHZhciBpPTA7IGk8ZWxlbWVudHNUb0hpZGUu
bGVuZ3RoOyBpKyspCisJCQkJZWxlbWVudHNUb0hpZGVbaV0uc3R5bGUudmlzaWJpbGl0eSA9ICJo
aWRkZW4iOworCQl9CisJPC9zY3JpcHQ+CisKKwk8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDA5ZjQ1MTAuLjA1ZjkyYTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMy0wNS0yMyAgUmFkdSBTdGF2aWxhICA8c3RhdmlsYUBh
ZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBSZWdpb25zXSBNb3VzZSBvdmVyIGFuIGVsZW1lbnQg
ZG9lcyBub3QgdHJpZ2dlciA6aG92ZXIgc3RhdGUgZm9yIHBhcmVudCB3aGVuIHRoZSBlbGVtZW50
IGlzIGZsb3dlZCBpbiBhIHJlZ2lvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTExNzQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2hlbiBzZWFyY2hpbmcgZm9yIHRoZSBob3ZlciBhbmNlc3RvciBhbmQg
ZW5jb3VudGVyaW5nIGEgbmFtZWQgZmxvdyB0aHJlYWQsCisgICAgICAgIHRoZSBzZWFyY2ggd2ls
bCBjb250aW51ZSB3aXRoIHRoZSBET00gYW5jZXN0b3Igb2YgdGhlIHRvcC1tb3N0IGVsZW1lbnQK
KyAgICAgICAgaW4gdGhlIG5hbWVkIGZsb3cgdGhyZWFkLgorCisgICAgICAgIFRlc3RzOiBmYXN0
L3JlZ2lvbnMvaG92ZXItaW4tcmVnaW9uLWdyYW5kcGFyZW50Lmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvcmVnaW9ucy9ob3Zlci1pbi1yZWdpb24tcGFyZW50LXNraXAuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9yZWdpb25zL2hvdmVyLWluLXJlZ2lvbi1wYXJlbnQtc2tpcC1pbmxpbmVzLWFu
b255bW91cy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3JlZ2lvbnMvaG92ZXItb24tY2hpbGQt
aW4tcmVnaW9uLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVnaW9ucy9ob3Zlci1vbi1jaGls
ZC1pbi1yZWdpb24taW4tcmVnaW9uLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpob3ZlckFuY2VzdG9y
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisKIDIwMTMtMDUtMjMgIE1p
Y2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3VsYUBzYW1zdW5nLmNvbT4KIAogICAgICAg
ICBbRUZMXSBCYWNrLCBGb3J3YXJkIGFuZCBTdG9wIHNob3VsZCBiZSBoaWRkZW4gaW4gY29udGV4
dCBtZW51CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IGRj
NTdmNGIuLmI3ZjNkMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwCkBAIC0zMDQyLDYgKzMwNDIsMzQgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OmltYWdlQ2hhbmdl
ZChDYWNoZWRJbWFnZSogaW1hZ2UsIGNvbnN0IEludFJlY3QqIHJlY3QpCiB7CiAgICAgaW1hZ2VD
aGFuZ2VkKHN0YXRpY19jYXN0PFdyYXBwZWRJbWFnZVB0cj4oaW1hZ2UpLCByZWN0KTsKIH0KKyAg
ICAKK1JlbmRlck9iamVjdCogUmVuZGVyT2JqZWN0Ojpob3ZlckFuY2VzdG9yKCkgY29uc3QKK3sK
KyAgICAvLyBXaGVuIHNlYXJjaGluZyBmb3IgdGhlIGhvdmVyIGFuY2VzdG9yIGFuZCBlbmNvdW50
ZXJpbmcgYSBuYW1lZCBmbG93IHRocmVhZCwKKyAgICAvLyB0aGUgc2VhcmNoIHdpbGwgY29udGlu
dWUgd2l0aCB0aGUgRE9NIGFuY2VzdG9yIG9mIHRoZSB0b3AtbW9zdCBlbGVtZW50CisgICAgLy8g
aW4gdGhlIG5hbWVkIGZsb3cgdGhyZWFkLgorICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNzQ5CisgICAgUmVuZGVyT2JqZWN0KiBob3ZlckFuY2Vz
dG9yID0gcGFyZW50KCk7CisgICAgCisgICAgLy8gU2tpcCBhbm9ueW1vdXMgYmxvY2tzLiBUaGVy
ZSdzIG5vIHBvaW50IGluIHRyZWF0aW5nIHRoZW0gYXMgaG92ZXIgYW5jZXN0b3JzCisgICAgLy8g
YW5kIGl0IHdvdWxkIGFsc28gcHJldmVudCB1cyBmcm9tIGNvbnRpbnVpbmcgdGhlIHNlYXJjaCBv
biB0aGUgRE9NIHRyZWUKKyAgICAvLyB3aGVuIHJlYWNoaW5nIHRoZSBuYW1lZCBmbG93IHRocmVh
ZC4KKyAgICBpZiAoaG92ZXJBbmNlc3RvciAmJiBob3ZlckFuY2VzdG9yLT5pc0Fub255bW91c0Js
b2NrKCkpCisgICAgICAgIGhvdmVyQW5jZXN0b3IgPSBob3ZlckFuY2VzdG9yLT5wYXJlbnQoKTsK
KworICAgIGlmIChob3ZlckFuY2VzdG9yICYmIGhvdmVyQW5jZXN0b3ItPmlzUmVuZGVyTmFtZWRG
bG93VGhyZWFkKCkpIHsKKyAgICAgICAgaG92ZXJBbmNlc3RvciA9IDA7CisgICAgICAgIAorICAg
ICAgICBOb2RlKiBub2RlID0gdGhpcy0+bm9kZSgpOworICAgICAgICBpZiAobm9kZSkgeworICAg
ICAgICAgICAgTm9kZSogZG9tQW5jZXN0b3JOb2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOworICAg
ICAgICAgICAgaWYgKGRvbUFuY2VzdG9yTm9kZSkKKyAgICAgICAgICAgICAgICBob3ZlckFuY2Vz
dG9yID0gZG9tQW5jZXN0b3JOb2RlLT5yZW5kZXJlcigpOworICAgICAgICB9CisgICAgfQorICAg
IAorICAgIHJldHVybiBob3ZlckFuY2VzdG9yOworfQogCiBSZW5kZXJCb3hNb2RlbE9iamVjdCog
UmVuZGVyT2JqZWN0OjpvZmZzZXRQYXJlbnQoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDgxODg1MzEuLjQzY2I1MTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTY1OCw3ICs2NTgsNyBAQCBwdWJsaWM6CiAg
ICAgLy8gaXMgdHJ1ZSBpZiB0aGUgcmVuZGVyZXIgcmV0dXJuZWQgaXMgYW4gYW5jZXN0b3Igb2Yg
cmVwYWludENvbnRhaW5lci4KICAgICBSZW5kZXJPYmplY3QqIGNvbnRhaW5lcihjb25zdCBSZW5k
ZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyID0gMCwgYm9vbCogcmVwYWludENv
bnRhaW5lclNraXBwZWQgPSAwKSBjb25zdDsKIAotICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBo
b3ZlckFuY2VzdG9yKCkgY29uc3QgeyByZXR1cm4gcGFyZW50KCk7IH0KKyAgICB2aXJ0dWFsIFJl
bmRlck9iamVjdCogaG92ZXJBbmNlc3RvcigpIGNvbnN0OwogCiAgICAgUmVuZGVyQm94TW9kZWxP
YmplY3QqIG9mZnNldFBhcmVudCgpIGNvbnN0OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>