<?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>103530</bug_id>
          
          <creation_ts>2012-11-28 09:09:55 -0800</creation_ts>
          <short_desc>Web Inspector: Introduce new &quot;Input&quot; domain for emitting keyboard / mouse events.</short_desc>
          <delta_ts>2012-12-04 10:05:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Ken Kania">kkania</assigned_to>
          <cc>apavlov</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>keishi</cc>
    
    <cc>kkania</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rakuco</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>777965</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-28 09:09:55 -0800</bug_when>
    <thetext>We&apos;d like to be able to emit events via remote debugging protocol. Lets add new (hidden for now) domain and put initial implementation there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778425</commentid>
    <comment_count>1</comment_count>
      <attachid>176591</attachid>
    <who name="Ken Kania">kkania</who>
    <bug_when>2012-11-28 15:43:00 -0800</bug_when>
    <thetext>Created attachment 176591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778436</commentid>
    <comment_count>2</comment_count>
      <attachid>176591</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-28 15:52:00 -0800</bug_when>
    <thetext>Comment on attachment 176591
Patch

Attachment 176591 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15013645</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778437</commentid>
    <comment_count>3</comment_count>
      <attachid>176591</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-28 15:52:54 -0800</bug_when>
    <thetext>Comment on attachment 176591
Patch

Attachment 176591 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15010692</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778442</commentid>
    <comment_count>4</comment_count>
      <attachid>176591</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-28 15:55:58 -0800</bug_when>
    <thetext>Comment on attachment 176591
Patch

Attachment 176591 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15018629</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778447</commentid>
    <comment_count>5</comment_count>
      <attachid>176591</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-28 16:01:51 -0800</bug_when>
    <thetext>Comment on attachment 176591
Patch

Attachment 176591 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15015646</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778481</commentid>
    <comment_count>6</comment_count>
      <attachid>176591</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-11-28 16:36:33 -0800</bug_when>
    <thetext>Comment on attachment 176591
Patch

Attachment 176591 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15029554</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779071</commentid>
    <comment_count>7</comment_count>
      <attachid>176745</attachid>
    <who name="Ken Kania">kkania</who>
    <bug_when>2012-11-29 09:16:35 -0800</bug_when>
    <thetext>Created attachment 176745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779149</commentid>
    <comment_count>8</comment_count>
      <attachid>176745</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-11-29 10:24:27 -0800</bug_when>
    <thetext>Comment on attachment 176745
Patch

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

&gt; Source/WebCore/inspector/Inspector.json:1942
&gt; +                    { &quot;name&quot;: &quot;nodeId&quot;, &quot;$ref&quot;: &quot;DOM.NodeId&quot; }

Please provide description for the parameter.

&gt; Source/WebCore/inspector/Inspector.json:3261
&gt; +                    { &quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;enum&quot;: [&quot;keyDown&quot;, &quot;keyUp&quot;, &quot;rawKeyDown&quot;, &quot;char&quot;] },

Description is missing for this ans a few other parameters.

&gt; Source/WebCore/inspector/InspectorInputAgent.h:17
&gt; + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY

This is a wrong copyright header. Google contributors use a bit different one. See InspectorMemoryAgent.cpp for example.

&gt; Source/WebCore/inspector/InspectorInputAgent.h:40
&gt; +class InstrumentingAgents;

No need to declare it here as it is already provided by InspectorBaseAgent.

&gt; LayoutTests/inspector-protocol/dom-focus.html:1
&gt; +&lt;html&gt;

Let&apos;s move &quot;Input&quot; domain tests under LayoutTests/inspector-protocol/input. We should eventually do the same for other tests under LayoutTests/inspector-protocol/.

&gt; LayoutTests/inspector-protocol/dom-focus.html:7
&gt; +    document.querySelector(&quot;#second&quot;).addEventListener(&quot;focus&quot;, function() {

We usually use named functions even if they are used as callbacks. Same thing with other anonymous functions in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779163</commentid>
    <comment_count>9</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-11-29 10:27:07 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Let&apos;s move &quot;Input&quot; domain tests under LayoutTests/inspector-protocol/input. We should eventually do the same for other tests under LayoutTests/inspector-protocol/.
&gt; 

Ok, this particular one seems to be from DOM domain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779438</commentid>
    <comment_count>10</comment_count>
      <attachid>176745</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-29 14:24:47 -0800</bug_when>
    <thetext>Comment on attachment 176745
Patch

Attachment 176745 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15044447</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780271</commentid>
    <comment_count>11</comment_count>
      <attachid>177003</attachid>
    <who name="Ken Kania">kkania</who>
    <bug_when>2012-11-30 11:52:05 -0800</bug_when>
    <thetext>Created attachment 177003
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780327</commentid>
    <comment_count>12</comment_count>
      <attachid>177003</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-30 12:48:40 -0800</bug_when>
    <thetext>Comment on attachment 177003
Patch

Attachment 177003 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15083080</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780380</commentid>
    <comment_count>13</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-11-30 13:42:18 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 177003 [details])
&gt; Attachment 177003 [details] did not pass mac-ews (mac):
&gt; Output: http://queues.webkit.org/results/15083080

/Volumes/Data/EWS/WebKit/Source/WebCore/inspector/InspectorInputAgent.cpp:58:57: error: unused parameter &apos;error&apos; [-Werror,-Wunused-parameter]

Just omit the name of the parameter if it is unused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780531</commentid>
    <comment_count>14</comment_count>
      <attachid>177048</attachid>
    <who name="Ken Kania">kkania</who>
    <bug_when>2012-11-30 16:30:52 -0800</bug_when>
    <thetext>Created attachment 177048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780551</commentid>
    <comment_count>15</comment_count>
      <attachid>177048</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-30 16:57:27 -0800</bug_when>
    <thetext>Comment on attachment 177048
Patch

Attachment 177048 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15061550

New failing tests:
inspector-protocol/input/dispatchKeyEvent.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780554</commentid>
    <comment_count>16</comment_count>
      <attachid>177056</attachid>
    <who name="Ken Kania">kkania</who>
    <bug_when>2012-11-30 16:59:18 -0800</bug_when>
    <thetext>Created attachment 177056
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780628</commentid>
    <comment_count>17</comment_count>
      <attachid>177056</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-30 20:44:26 -0800</bug_when>
    <thetext>Comment on attachment 177056
Patch

Attachment 177056 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15086085

New failing tests:
inspector-protocol/input/dispatchKeyEvent.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781987</commentid>
    <comment_count>18</comment_count>
      <attachid>177360</attachid>
    <who name="Ken Kania">kkania</who>
    <bug_when>2012-12-03 15:56:38 -0800</bug_when>
    <thetext>Created attachment 177360
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782075</commentid>
    <comment_count>19</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-12-03 17:48:39 -0800</bug_when>
    <thetext>I&apos;m wondering why it crashed on Mac and passed on other platforms?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782085</commentid>
    <comment_count>20</comment_count>
      <attachid>177360</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-12-03 18:03:33 -0800</bug_when>
    <thetext>Comment on attachment 177360
Patch

Should this be formulated such that it can  asynchronou? E.g. what&apos;s the execution order of

page.dispatchKeyEvent(&apos;x&apos;)
runtime.Evaluate(&apos;window.didGetX&apos;);

for some page that sets didGetX in a keyHandler on the main page...

If I push them onto the websocket right away?

I think this is less important for keys, but for mouse events, its definitely important that we think through the ordering of things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782220</commentid>
    <comment_count>21</comment_count>
      <attachid>177360</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-03 22:08:43 -0800</bug_when>
    <thetext>Comment on attachment 177360
Patch

Attachment 177360 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15121591

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782609</commentid>
    <comment_count>22</comment_count>
    <who name="Ken Kania">kkania</who>
    <bug_when>2012-12-04 09:37:11 -0800</bug_when>
    <thetext>Nat,

The dispatchKeyEvent command processes the key event synchronously, although some effects may be asynchronous (such as if the key stroke submitted a form which later causes a navigation). For your example, as long as the commands are sent in order, things will behave as you expect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782625</commentid>
    <comment_count>23</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-12-04 09:43:28 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 177360 [details])
&gt; Attachment 177360 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/15121591
&gt; 
&gt; New failing tests:
&gt; inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html

Looks like a flakiness unrelated to the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782652</commentid>
    <comment_count>24</comment_count>
      <attachid>177360</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-04 10:05:17 -0800</bug_when>
    <thetext>Comment on attachment 177360
Patch

Clearing flags on attachment: 177360

Committed r136521: &lt;http://trac.webkit.org/changeset/136521&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782653</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-04 10:05:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176591</attachid>
            <date>2012-11-28 15:43:00 -0800</date>
            <delta_ts>2012-11-29 09:16:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103530-20121128154034.patch</filename>
            <type>text/plain</type>
            <size>21987</size>
            <attacher name="Ken Kania">kkania</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM4MDNlNDVkZTJkZWJj
OWRmNjY3ZWU5MTkyZDYxMDlkYWJlMzdiZS4uZGE2MDM4MGI1OWFlMGQyN2QyOGZmMDBhOTAzMThm
MDViMjJjNGU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTExLTI4ICBLZW4g
S2FuaWEgIDxra2FuaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluc3BlY3RvcjogSW50cm9k
dWNlIElucHV0LmRpc3BhdGNoS2V5RXZlbnQgYW5kIERPTS5mb2N1cyBmb3IgdHlwaW5nIHNpbXVs
YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDM1MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bnB1dC5kaXNwYXRjaEtleUV2ZW50IHNpbXBseSBjYWxscyBFdmVudEhhbmRsZXI6OmtleUV2ZW50
IHdpdGggdGhlIGtleSBldmVudCBkYXRhCisgICAgICAgIGZyb20gdGhlIGNvbW1hbmQgcGFyYW1l
dGVycy4gVGhlIGNsaWVudCB3aWxsIGJlIHJlc3BvbnNpYmxlIGZvciBwcm92aWRpbmcgcHJvcGVy
CisgICAgICAgIGV2ZW50cyB0byBzaW11bGF0ZSBkZXNpcmVkIHR5cGluZyBiZWhhdmlvci4KKyAg
ICAgICAgRE9NLmZvY3VzIGNhbGxzIGZvY3VzIG9uIGEgZG9tIGVsZW1lbnQuCisKKyAgICAgICAg
VGVzdHM6IGluc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMuaHRtbAorICAgICAgICAgICAgICAg
aW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZlbnQuaHRtbAorCisKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JET01BZ2VudDo6Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6cmVzb2x2ZU5vZGUpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yRE9NQWdlbnQpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcklucHV0QWdlbnQ6Oklu
c3BlY3RvcklucHV0QWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5wdXRBZ2Vu
dDo6fkluc3BlY3RvcklucHV0QWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5w
dXRBZ2VudDo6ZGlzcGF0Y2hLZXlFdmVudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
cklucHV0QWdlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3Bl
Y3RvcklucHV0QWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5wdXRBZ2VudDo6
Y3JlYXRlKToKKwogMjAxMi0xMS0yOCAgWmVubyBBbGJpc3NlciAgPHplbm9Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBbUXRdW1dpbl0gRW5hYmxlIHVzYWdlIG9mIFFUV0VCS0lUX1BMVUdJTl9QQVRI
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCmluZGV4IDA2ZjkxMjAyMWQ0ZmMzYmVjYjg0NWEzYTIyNjJmZjI1M2Ux
MGEzZDIuLmQ3OTBjOWQzOWIxMTRmYjBjNjVhMTY5OGJiMWVlNWMxZGJlZmEyZjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKQEAgLTI4NzgsNiArMjg3OCw4IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3Rvckhpc3RvcnkuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckluZGV4
ZWREQkFnZW50LmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWRE
QkFnZW50LmgnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNw
cCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuaCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAnLAogICAgICAg
ICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCcsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggNjM1ZmE5NDE1MDViMTgzYmVkY2NlYzg2Nzg1OTQ0
MTJjNmVhYjJjMy4uNzYzZjU0Nzc1NmYzNWVkYjg5YzhmMzg2ZTIxODdlZDcwMzgyZDAwMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMTkzNSw2ICsxOTM1LDE0
IEBACiAgICAgICAgICAgICAgICAgIm5hbWUiOiAibWFya1VuZG9hYmxlU3RhdGUiLAogICAgICAg
ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXJrcyBsYXN0IHVuZG9hYmxlIHN0YXRlLiIsCiAg
ICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZm9jdXMiLAorICAgICAgICAgICAgICAgICJw
YXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICIk
cmVmIjogIkRPTS5Ob2RlSWQiIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJGb2N1c2VzIHRoZSBnaXZlbiBlbGVtZW50LiIsCisgICAgICAgICAg
ICAgICAgImhpZGRlbiI6IHRydWUKICAgICAgICAgICAgIH0KICAgICAgICAgXSwKICAgICAgICAg
ImV2ZW50cyI6IFsKQEAgLTMyNDEsNSArMzI0OSwzMSBAQAogICAgICAgICAgICAgfQogICAgICAg
ICBdLAogICAgICAgICAiZXZlbnRzIjogW10KKyAgICB9LAorICAgIHsKKyAgICAgICAgImRvbWFp
biI6ICJJbnB1dCIsCisgICAgICAgICJoaWRkZW4iOiB0cnVlLAorICAgICAgICAidHlwZXMiOiBb
XSwKKyAgICAgICAgImNvbW1hbmRzIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICJuYW1lIjogImRpc3BhdGNoS2V5RXZlbnQiLAorICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJz
IjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInR5cGUiLCAidHlwZSI6ICJzdHJp
bmciLCAiZW51bSI6IFsia2V5RG93biIsICJrZXlVcCIsICJyYXdLZXlEb3duIiwgImNoYXIiXSB9
LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm1vZGlmaWVycyIsICJ0eXBlIjogImlu
dGVnZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQml0IGZpZWxkIHJlcHJl
c2VudGluZyBwcmVzc2VkIG1vZGlmaWVyIGtleXMuIEFsdD0xLCBDdHJsPTIsIE1ldGEvQ29tbWFu
ZD00LCBTaGlmdD04LiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0aW1lc3Rh
bXAiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAi
VGltZSBhdCB3aGljaCB0aGUgZXZlbnQgb2NjdXJyZWQgKFVUQyB0aW1lIGluIHNlY29uZHMgc2lu
Y2UgSmFudWFyeSAxLCAxOTcwKS4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
dGV4dCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6
ICJUZXh0IGFzIGdlbmVyYXRlZCBieSBwcm9jZXNzaW5nIGEgdmlydHVhbCBrZXkgY29kZSB3aXRo
IGEga2V5Ym9hcmQgbGF5b3V0LiBOb3QgbmVlZGVkIGZvciBmb3IgPGNvZGU+a2V5VXA8L2NvZGU+
IGFuZCA8Y29kZT5yYXdLZXlEb3duPC9jb2RlPiBldmVudHMuIiB9LAorICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInVubW9kaWZpZWRUZXh0IiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRleHQgdGhhdCB3b3VsZCBoYXZlIGJlZW4gZ2Vu
ZXJhdGVkIGJ5IHRoZSBrZXlib2FyZCBpZiBubyBtb2RpZmllcnMgd2VyZSBwcmVzc2VkIChleGNl
cHQgZm9yIHNoaWZ0KS4gVXNlZnVsIGZvciBzaG9ydGN1dCAoYWNjZWxlcmF0b3IpIGtleSBoYW5k
bGluZy4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAia2V5SWRlbnRpZmllciIs
ICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJVbmlx
dWUga2V5IGlkZW50aWZpZXIgKGUuZy4sICdVKzAwNDEnKS4iIH0sCisgICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAid2luZG93c1ZpcnR1YWxLZXlDb2RlIiwgInR5cGUiOiAiaW50ZWdlciIs
ICJvcHRpb25hbCI6IHRydWUgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJuYXRp
dmVWaXJ0dWFsS2V5Q29kZSIsICJ0eXBlIjogImludGVnZXIiLCAib3B0aW9uYWwiOiB0cnVlIH0s
CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibWFjQ2hhckNvZGUiLCAidHlwZSI6ICJp
bnRlZ2VyIiwgIm9wdGlvbmFsIjogdHJ1ZSB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImF1dG9SZXBlYXQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSB9LAor
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlzS2V5cGFkIiwgInR5cGUiOiAiYm9vbGVh
biIsICJvcHRpb25hbCI6IHRydWUgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJp
c1N5c3RlbUtleSIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlIH0KKyAgICAg
ICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNwYXRjaGVz
IGEga2V5IGV2ZW50IHRvIHRoZSBwYWdlLiIKKyAgICAgICAgICAgIH0KKyAgICAgICAgXSwKKyAg
ICAgICAgImV2ZW50cyI6IFtdCiAgICAgfV0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBjYTkyYzRhZTIzNmQwNWFlM2JmODQz
ZGY4ZGFlNzg4YTM2YTA0NzVlLi5iYTVjZTM1MzkzYTA2Y2ExZGZkZjY3YmU4M2MzZjA1NjljMGZm
ZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuY3BwCkBAIC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckluZGV4ZWREQkFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5wdXRBZ2VudC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3Rvck1l
bW9yeUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgpAQCAtMTUxLDYgKzE1
Miw4IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFn
ZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAKICAgICBtX2FnZW50cy5hcHBlbmQoSW5z
cGVjdG9yQ2FudmFzQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1f
c3RhdGUuZ2V0KCksIHBhZ2UsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKSk7CiAKKyAg
ICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9ySW5wdXRBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVu
dGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwgcGFnZSkpOworCiAgICAgQVNTRVJUX0FS
RyhpbnNwZWN0b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmplY3RlZFNjcmlw
dE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9yQWdlbnQKICAg
ICAgICAgLCBjb25zb2xlQWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwCmluZGV4IDFiMDg5MzQ3MjFhMmZlZDM5YzMyYmEyNDAwZTMwODA3ODY0
ZDEzM2MuLmNmMjgwYmIyYWIwY2QzMTg1ZWI1ZGU3ODZlOWVhN2Y2OWFiOGFjZjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtNTIsNiAr
NTIsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVu
dC5oIgogI2luY2x1ZGUgIkRvY3VtZW50VHlwZS5oIgorI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNp
bmNsdWRlICJFbGVtZW50U2hhZG93LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJF
dmVudENvbnRleHQuaCIKQEAgLTExNDksMTcgKzExNTAsMjkgQEAgdm9pZCBJbnNwZWN0b3JET01B
Z2VudDo6bWFya1VuZG9hYmxlU3RhdGUoRXJyb3JTdHJpbmcqKQogICAgIG1faGlzdG9yeS0+bWFy
a1VuZG9hYmxlU3RhdGUoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVzb2x2ZU5v
ZGUoRXJyb3JTdHJpbmcqIGVycm9yLCBpbnQgbm9kZUlkLCBjb25zdCBTdHJpbmcqIGNvbnN0IG9i
amVjdEdyb3VwLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJl
c3VsdCkKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmZvY3VzKEVycm9yU3RyaW5nKiBlcnJvclN0
cmluZywgaW50IG5vZGVJZCkKK3sKKyAgICBFbGVtZW50KiBlbGVtZW50ID0gYXNzZXJ0RWxlbWVu
dChlcnJvclN0cmluZywgbm9kZUlkKTsKKyAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgIHJldHVy
bjsKKyAgICBpZiAoIWVsZW1lbnQtPmlzRm9jdXNhYmxlKCkpIHsKKyAgICAgICAgKmVycm9yU3Ry
aW5nID0gIkVsZW1lbnQgaXMgbm90IGZvY3VzYWJsZSI7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisgICAgZWxlbWVudC0+Zm9jdXMoKTsKK30KKwordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVz
b2x2ZU5vZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBjb25zdCBTdHJp
bmcqIGNvbnN0IG9iamVjdEdyb3VwLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90
ZU9iamVjdD4mIHJlc3VsdCkKIHsKICAgICBTdHJpbmcgb2JqZWN0R3JvdXBOYW1lID0gb2JqZWN0
R3JvdXAgPyAqb2JqZWN0R3JvdXAgOiAiIjsKICAgICBOb2RlKiBub2RlID0gbm9kZUZvcklkKG5v
ZGVJZCk7CiAgICAgaWYgKCFub2RlKSB7Ci0gICAgICAgICplcnJvciA9ICJObyBub2RlIHdpdGgg
Z2l2ZW4gaWQgZm91bmQiOworICAgICAgICAqZXJyb3JTdHJpbmcgPSAiTm8gbm9kZSB3aXRoIGdp
dmVuIGlkIGZvdW5kIjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBSZWZQdHI8VHlwZUJ1
aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4gb2JqZWN0ID0gcmVzb2x2ZU5vZGUobm9kZSwg
b2JqZWN0R3JvdXBOYW1lKTsKICAgICBpZiAoIW9iamVjdCkgewotICAgICAgICAqZXJyb3IgPSAi
Tm9kZSB3aXRoIGdpdmVuIGlkIGRvZXMgbm90IGJlbG9uZyB0byB0aGUgZG9jdW1lbnQiOworICAg
ICAgICAqZXJyb3JTdHJpbmcgPSAiTm9kZSB3aXRoIGdpdmVuIGlkIGRvZXMgbm90IGJlbG9uZyB0
byB0aGUgZG9jdW1lbnQiOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIHJlc3VsdCA9IG9i
amVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01B
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5k
ZXggM2I3MjY1MjgzMWIxMWNiMWM0M2ZlMWI4MWRmMjY5MGRjYWJiMzQyZC4uYzA4M2RiOWU4Y2M1
OWYwNjNmNDgwOTZiNDRhNjkxNjI4NjZjZjIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRPTUFnZW50LmgKQEAgLTE0Nyw2ICsxNDcsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIHVuZG8oRXJyb3JTdHJpbmcqKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVkbyhF
cnJvclN0cmluZyopOwogICAgIHZpcnR1YWwgdm9pZCBtYXJrVW5kb2FibGVTdGF0ZShFcnJvclN0
cmluZyopOworICAgIHZpcnR1YWwgdm9pZCBmb2N1cyhFcnJvclN0cmluZyosIGludCBub2RlSWQp
OwogCiAgICAgdm9pZCBnZXRFdmVudExpc3RlbmVycyhOb2RlKiwgVmVjdG9yPEV2ZW50TGlzdGVu
ZXJJbmZvPiYgbGlzdGVuZXJzQXJyYXksIGJvb2wgaW5jbHVkZUFuY2VzdG9ycyk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wNDEyNTY0MzBjMTk2OWMyYjI0MmZjY2UyODY3YjUwMTg5MDE5ODg4Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3Bw
CkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9m
CisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgor
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoSU5T
UEVDVE9SKQorCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5wdXRBZ2VudC5oIgorCisjaW5jbHVkZSAi
RXZlbnRIYW5kbGVyLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisj
aW5jbHVkZSAiUGxhdGZvcm1FdmVudC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtS2V5Ym9hcmRFdmVu
dC5oIgorCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSW5zcGVjdG9ySW5wdXRBZ2Vu
dDo6SW5zcGVjdG9ySW5wdXRBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogaW5zcGVjdG9yU3RhdGUsIFBhZ2UqIHBhZ2UpCisgICAg
OiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9ySW5wdXRBZ2VudD4oIklucHV0IiwgaW5zdHJ1
bWVudGluZ0FnZW50cywgaW5zcGVjdG9yU3RhdGUpCisgICAgLCBtX3BhZ2UocGFnZSkKK3sKK30K
KworSW5zcGVjdG9ySW5wdXRBZ2VudDo6fkluc3BlY3RvcklucHV0QWdlbnQoKQoreworfQorCit2
b2lkIEluc3BlY3RvcklucHV0QWdlbnQ6OmRpc3BhdGNoS2V5RXZlbnQoRXJyb3JTdHJpbmcqIGVy
cm9yLCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IGludCogbW9kaWZpZXJzLCBjb25zdCBkb3Vi
bGUqIHRpbWVzdGFtcCwgY29uc3QgU3RyaW5nKiB0ZXh0LCBjb25zdCBTdHJpbmcqIHVubW9kaWZp
ZWRUZXh0LCBjb25zdCBTdHJpbmcqIGtleUlkZW50aWZpZXIsIGNvbnN0IGludCogd2luZG93c1Zp
cnR1YWxLZXlDb2RlLCBjb25zdCBpbnQqIG5hdGl2ZVZpcnR1YWxLZXlDb2RlLCBjb25zdCBpbnQq
IG1hY0NoYXJDb2RlLCBjb25zdCBib29sKiBhdXRvUmVwZWF0LCBjb25zdCBib29sKiBpc0tleXBh
ZCwgY29uc3QgYm9vbCogaXNTeXN0ZW1LZXkpCit7CisgICAgUGxhdGZvcm1FdmVudDo6VHlwZSBj
b252ZXJ0ZWRUeXBlOworICAgIGlmICh0eXBlID09ICJrZXlEb3duIikKKyAgICAgICAgY29udmVy
dGVkVHlwZSA9IFBsYXRmb3JtRXZlbnQ6OktleURvd247CisgICAgZWxzZSBpZiAodHlwZSA9PSAi
a2V5VXAiKQorICAgICAgICBjb252ZXJ0ZWRUeXBlID0gUGxhdGZvcm1FdmVudDo6S2V5VXA7Cisg
ICAgZWxzZSBpZiAodHlwZSA9PSAiY2hhciIpCisgICAgICAgIGNvbnZlcnRlZFR5cGUgPSBQbGF0
Zm9ybUV2ZW50OjpDaGFyOworICAgIGVsc2UKKyAgICAgICAgY29udmVydGVkVHlwZSA9IFBsYXRm
b3JtRXZlbnQ6OlJhd0tleURvd247CisKKyAgICBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgZXZlbnQo
CisgICAgICAgIGNvbnZlcnRlZFR5cGUsCisgICAgICAgIHRleHQgPyAqdGV4dCA6ICIiLAorICAg
ICAgICB1bm1vZGlmaWVkVGV4dCA/ICp1bm1vZGlmaWVkVGV4dCA6ICIiLAorICAgICAgICBrZXlJ
ZGVudGlmaWVyID8gKmtleUlkZW50aWZpZXIgOiAiIiwKKyAgICAgICAgd2luZG93c1ZpcnR1YWxL
ZXlDb2RlID8gKndpbmRvd3NWaXJ0dWFsS2V5Q29kZSA6IDAsCisgICAgICAgIG5hdGl2ZVZpcnR1
YWxLZXlDb2RlID8gKm5hdGl2ZVZpcnR1YWxLZXlDb2RlIDogMCwKKyAgICAgICAgbWFjQ2hhckNv
ZGUgPyAqbWFjQ2hhckNvZGUgOiAwLAorICAgICAgICBhdXRvUmVwZWF0ID8gKmF1dG9SZXBlYXQg
OiBmYWxzZSwKKyAgICAgICAgaXNLZXlwYWQgPyAqaXNLZXlwYWQgOiBmYWxzZSwKKyAgICAgICAg
aXNTeXN0ZW1LZXkgPyAqaXNTeXN0ZW1LZXkgOiBmYWxzZSwKKyAgICAgICAgc3RhdGljX2Nhc3Q8
UGxhdGZvcm1FdmVudDo6TW9kaWZpZXJzPihtb2RpZmllcnMgPyAqbW9kaWZpZXJzIDogMCksCisg
ICAgICAgIHRpbWVzdGFtcCA/ICp0aW1lc3RhbXAgOiBjdXJyZW50VGltZSgpKTsKKyAgICBtX3Bh
Z2UtPm1haW5GcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+a2V5RXZlbnQoZXZlbnQpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzU3OGE3NDdlNjcwNjhiZjFjNzViNTIxODA5MTM1NGZiZjljNzU4OQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmgKQEAg
LTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5h
bWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAq
ICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisg
KiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9ySW5wdXRBZ2VudF9oCisjZGVmaW5lIElu
c3BlY3RvcklucHV0QWdlbnRfaAorCisjaW5jbHVkZSAiSW5zcGVjdG9yQmFzZUFnZW50LmgiCisK
KyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CitjbGFzcyBJbnNwZWN0b3JTdGF0ZTsKK2NsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CitjbGFz
cyBQYWdlOworCit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKworI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCisKK2NsYXNzIEluc3BlY3RvcklucHV0QWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQmFz
ZUFnZW50PEluc3BlY3RvcklucHV0QWdlbnQ+LCBwdWJsaWMgSW5zcGVjdG9yQmFja2VuZERpc3Bh
dGNoZXI6OklucHV0Q29tbWFuZEhhbmRsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElu
c3BlY3RvcklucHV0QWdlbnQpOworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3Bl
Y3RvcklucHV0QWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogaW5zcGVjdG9yU3RhdGUsIFBhZ2UqIHBhZ2UpCisgICAg
eworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3BlY3RvcklucHV0QWdlbnQoaW5zdHJ1
bWVudGluZ0FnZW50cywgaW5zcGVjdG9yU3RhdGUsIHBhZ2UpKTsKKyAgICB9CisKKyAgICB+SW5z
cGVjdG9ySW5wdXRBZ2VudCgpOworCisgICAgLy8gTWV0aG9kcyBjYWxsZWQgZnJvbSB0aGUgZnJv
bnRlbmQgZm9yIHNpbXVsYXRpbmcgaW5wdXQuCisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoS2V5
RXZlbnQoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IGludCogbW9kaWZp
ZXJzLCBjb25zdCBkb3VibGUqIHRpbWVzdGFtcCwgY29uc3QgU3RyaW5nKiB0ZXh0LCBjb25zdCBT
dHJpbmcqIHVubW9kaWZpZWRUZXh0LCBjb25zdCBTdHJpbmcqIGtleUlkZW50aWZpZXIsIGNvbnN0
IGludCogd2luZG93c1ZpcnR1YWxLZXlDb2RlLCBjb25zdCBpbnQqIG5hdGl2ZVZpcnR1YWxLZXlD
b2RlLCBjb25zdCBpbnQqIG1hY0NoYXJDb2RlLCBjb25zdCBib29sKiBhdXRvUmVwZWF0LCBjb25z
dCBib29sKiBpc0tleXBhZCwgY29uc3QgYm9vbCogaXNTeXN0ZW1LZXkpOworCitwcml2YXRlOgor
ICAgIEluc3BlY3RvcklucHV0QWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0
YXRlKiwgUGFnZSopOworCisgICAgUGFnZSogbV9wYWdlOworfTsKKworI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vICFkZWZp
bmVkKEluc3BlY3RvcklucHV0QWdlbnRfaCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2MTFiNmExNDdmMmQ5MTY1MjVkMDEw
NDk2YzQxOThmYWM1NGU2NGU5Li41YWEzZmQ1NjMwOTUyMWNjMjExNzA0YTNiYzYzNGQyZjgwNGEz
YWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMTEtMjggIEtlbiBLYW5pYSAgPGtrYW5p
YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5zcGVjdG9yOiBJbnRyb2R1Y2UgSW5wdXQuZGlz
cGF0Y2hLZXlFdmVudCBhbmQgRE9NLmZvY3VzIGZvciB0eXBpbmcgc2ltdWxhdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzUzMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElucHV0LmRpc3BhdGNo
S2V5RXZlbnQgc2ltcGx5IGNhbGxzIEV2ZW50SGFuZGxlcjo6a2V5RXZlbnQgd2l0aCB0aGUga2V5
IGV2ZW50IGRhdGEKKyAgICAgICAgZnJvbSB0aGUgY29tbWFuZCBwYXJhbWV0ZXJzLiBUaGUgY2xp
ZW50IHdpbGwgYmUgcmVzcG9uc2libGUgZm9yIHByb3ZpZGluZyBwcm9wZXIKKyAgICAgICAgZXZl
bnRzIHRvIHNpbXVsYXRlIGRlc2lyZWQgdHlwaW5nIGJlaGF2aW9yLgorICAgICAgICBET00uZm9j
dXMgY2FsbHMgZm9jdXMgb24gYSBkb20gZWxlbWVudC4KKworICAgICAgICAqIGluc3BlY3Rvci1w
cm90b2NvbC9kb20tZm9jdXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3ItcHJvdG9jb2wvZG9tLWZvY3VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1w
cm90b2NvbC9pbnB1dC1kaXNwYXRjaEtleUV2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZlbnQuaHRtbDogQWRk
ZWQuCisKIDIwMTItMTEtMjggIFN0ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBMYXlvdXQgVGVzdCBzdmcvYW5pbWF0aW9ucy9tcGF0aC1yZW1vdmUtZnJv
bS1kZXBlbmRlbnRzLW9uLWRlbGV0ZS1jcmFzaC5odG1sIGlzIGZsYWt5CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3VzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIwN2I1YzI5OTFkZTI3M2YzNzg1ZWEyMDJjMWZiNTUyZjg3NTYwZmMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3VzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKyAKK2ZvY3VzZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS1mb2N1cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLXByb3RvY29sL2RvbS1mb2N1cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1NDVkOWRhNDNiNGFi
ZWZmYTQ3ZjZkMzkwOTVlMzY5MThmNjE0YjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3VzLmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3Jlc291cmNlcy9wcm90b2NvbC10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rp
b24oKSB7CisgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3NlY29uZCIpLmFkZEV2ZW50TGlz
dGVuZXIoImZvY3VzIiwgZnVuY3Rpb24oKSB7CisgICAgICAgIGxvZygiZm9jdXNlZCIpOworICAg
IH0pOworfSk7CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3Quc2VuZENv
bW1hbmQoIkRPTS5nZXREb2N1bWVudCIsIHt9LCBmdW5jdGlvbihtc2cpIHsKKyAgICAgICAgaWYg
KG1zZy5lcnJvcikgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2cobXNnLmVycm9yLm1l
c3NhZ2UpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB2YXIgbm9kZSA9IG1zZy5yZXN1bHQu
cm9vdDsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLnF1ZXJ5U2VsZWN0
b3IiLCB7ICJub2RlSWQiOiBub2RlLm5vZGVJZCwgInNlbGVjdG9yIjogIiNzZWNvbmQiIH0sIGZ1
bmN0aW9uKG1zZykgeworICAgICAgICAgICAgaWYgKG1zZy5lcnJvcikgeworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QubG9nKG1zZy5lcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhciBub2RlID0gbXNnLnJlc3VsdDsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5mb2N1cyIsIHsgIm5vZGVJZCI6
IG5vZGUubm9kZUlkIH0sIGZ1bmN0aW9uKG1zZykgeworICAgICAgICAgICAgICAgIGlmIChtc2cu
ZXJyb3IpCisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKG1zZy5lcnJvcik7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8aW5wdXQ+PC9pbnB1dD4KKzxpbnB1dCBpZD0ic2Vj
b25kIj48L2lucHV0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZlbnQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZlbnQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4M2E3YTZhYmQ2YjcyOTJiMWM5OGY3MzY5Y2I1YjY0OGFm
YTE0YzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wv
aW5wdXQtZGlzcGF0Y2hLZXlFdmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorLS0t
LS1FdmVudC0tLS0tCit0eXBlOiBrZXlkb3duCitrZXlDb2RlOiA2NQora2V5SWRlbnRpZmllcjog
VSswMDQxCisKKy0tLS0tRXZlbnQtLS0tLQordHlwZToga2V5cHJlc3MKK3NoaWZ0S2V5CitrZXlD
b2RlOiA2NQorY2hhckNvZGU6IDY1CisKKy0tLS0tRXZlbnQtLS0tLQordHlwZToga2V5dXAKK2tl
eUNvZGU6IDY1CitrZXlJZGVudGlmaWVyOiBVKzAwNDEKKworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvaW5wdXQtZGlzcGF0Y2hLZXlFdmVudC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZlbnQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45OWVkNWRiODllYzczNjlhZTJlNjdiZWNhZWQ4MTk5Y2ZjMjNjODQwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3Bh
dGNoS2V5RXZlbnQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3ItcHJv
dG9jb2wvcmVzb3VyY2VzL3Byb3RvY29sLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKwor
ZnVuY3Rpb24gbG9nRXZlbnQoZXZlbnQpIHsKKyAgICBsb2coIi0tLS0tRXZlbnQtLS0tLSIpOwor
ICAgIGxvZygidHlwZTogIiArIGV2ZW50LnR5cGUpOworICAgIGlmIChldmVudC5hbHRLZXkpCisg
ICAgICAgIGxvZygiYWx0S2V5Iik7CisgICAgaWYgKGV2ZW50LmN0cmxLZXkpCisgICAgICAgIGxv
ZygiY3RybEtleSIpOworICAgIGlmIChldmVudC5tZXRhS2V5KQorICAgICAgICBsb2coIm1ldGFL
ZXkiKTsKKyAgICBpZiAoZXZlbnQuc2hpZnRLZXkpCisgICAgICAgIGxvZygic2hpZnRLZXkiKTsK
KyAgICBpZiAoZXZlbnQua2V5Q29kZSkKKyAgICAgICAgbG9nKCJrZXlDb2RlOiAiICsgZXZlbnQu
a2V5Q29kZSk7CisgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIpCisgICAgICAgIGxvZygia2V5
SWRlbnRpZmllcjogIiArIGV2ZW50LmtleUlkZW50aWZpZXIpOworICAgIGlmIChldmVudC5jaGFy
Q29kZSkKKyAgICAgICAgbG9nKCJjaGFyQ29kZTogIiArIGV2ZW50LmNoYXJDb2RlKTsKKyAgICBp
ZiAoZXZlbnQudGV4dCkKKyAgICAgICAgbG9nKCJ0ZXh0OiAiICsgZXZlbnQudGV4dCk7CisgICAg
bG9nKCIiKTsKK30KKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCBsb2dFdmVu
dCk7Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5cHJlc3MiLCBsb2dFdmVudCk7Cit3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLCBsb2dFdmVudCk7CisKK2Z1bmN0aW9uIHRlc3Qo
KQoreworICAgIHZhciBldmVudHMgPSBbCisgICAgICAgIHsKKyAgICAgICAgICAgICJ0eXBlIjog
ImtleURvd24iLAorICAgICAgICAgICAgIndpbmRvd3NWaXJ0dWFsS2V5Q29kZSI6IDY1LCAvLyBW
S19BCisgICAgICAgICAgICAia2V5SWRlbnRpZmllciI6ICJVKzAwNDEiLAorICAgICAgICB9LAor
ICAgICAgICB7CisgICAgICAgICAgICAidHlwZSI6ICJjaGFyIiwKKyAgICAgICAgICAgICJtb2Rp
ZmllcnMiOiA4LCAvLyBzaGlmdAorICAgICAgICAgICAgInRleHQiOiAiQSIsCisgICAgICAgICAg
ICAidW5tb2RpZmllZFRleHQiOiAiYSIsCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAg
ICAgICJ0eXBlIjogImtleVVwIiwKKyAgICAgICAgICAgICJ3aW5kb3dzVmlydHVhbEtleUNvZGUi
OiA2NSwKKyAgICAgICAgICAgICJrZXlJZGVudGlmaWVyIjogIlUrMDA0MSIKKyAgICAgICAgfQor
ICAgIF07CisKKyAgICBmdW5jdGlvbiBjb250aW51ZVRlc3QobXNnKSB7CisgICAgICAgIGlmICht
c2cuZXJyb3IpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJFcnJvcjogIiArIG1z
Zy5lcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAoZXZlbnRz
Lmxlbmd0aCkKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIklucHV0LmRp
c3BhdGNoS2V5RXZlbnQiLCBldmVudHMuc2hpZnQoKSwgY29udGludWVUZXN0KTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cisg
ICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiSW5wdXQuZGlzcGF0Y2hLZXlFdmVudCIsIGV2
ZW50cy5zaGlmdCgpLCBjb250aW51ZVRlc3QpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176745</attachid>
            <date>2012-11-29 09:16:35 -0800</date>
            <delta_ts>2012-11-30 11:52:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103530-20121129091408.patch</filename>
            <type>text/plain</type>
            <size>24558</size>
            <attacher name="Ken Kania">kkania</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM4MDNlNDVkZTJkZWJj
OWRmNjY3ZWU5MTkyZDYxMDlkYWJlMzdiZS4uNTFmZDQ0NWYxZWU3OGYzMDg3Y2NlNmRmZTI2MjA5
N2Q5M2Y5ZmFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTExLTI5ICBLZW4g
S2FuaWEgIDxra2FuaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluc3BlY3RvcjogSW50cm9k
dWNlIElucHV0LmRpc3BhdGNoS2V5RXZlbnQgYW5kIERPTS5mb2N1cyBmb3IgdHlwaW5nIHNpbXVs
YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDM1MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bnB1dC5kaXNwYXRjaEtleUV2ZW50IHNpbXBseSBjYWxscyBFdmVudEhhbmRsZXI6OmtleUV2ZW50
IHdpdGggdGhlIGtleSBldmVudCBkYXRhCisgICAgICAgIGZyb20gdGhlIGNvbW1hbmQgcGFyYW1l
dGVycy4gVGhlIGNsaWVudCB3aWxsIGJlIHJlc3BvbnNpYmxlIGZvciBwcm92aWRpbmcgcHJvcGVy
CisgICAgICAgIGV2ZW50cyB0byBzaW11bGF0ZSBkZXNpcmVkIHR5cGluZyBiZWhhdmlvci4KKyAg
ICAgICAgRE9NLmZvY3VzIGNhbGxzIGZvY3VzIG9uIGEgZG9tIGVsZW1lbnQuCisKKyAgICAgICAg
VGVzdHM6IGluc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMuaHRtbAorICAgICAgICAgICAgICAg
aW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZlbnQuaHRtbAorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFsbElu
T25lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVy
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmZvY3VzKToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnJlc29sdmVOb2RlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaDoKKyAgICAgICAgKEluc3BlY3RvckRP
TUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5wdXRBZ2VudC5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnB1
dEFnZW50OjpJbnNwZWN0b3JJbnB1dEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
cklucHV0QWdlbnQ6On5JbnNwZWN0b3JJbnB1dEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvcklucHV0QWdlbnQ6OmRpc3BhdGNoS2V5RXZlbnQpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JJbnB1dEFnZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChJbnNwZWN0b3JJbnB1dEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcklu
cHV0QWdlbnQ6OmNyZWF0ZSk6CisKIDIwMTItMTEtMjggIFplbm8gQWxiaXNzZXIgIDx6ZW5vQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVtXaW5dIEVuYWJsZSB1c2FnZSBvZiBRVFdFQktJVF9Q
TFVHSU5fUEFUSC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggM2E1ZDIxNzM1ODQ1ZjBiZDhhNTQ3
M2JhNmZiMGQwOWQwZmY1MTJiMi4uY2ZiOThiZTU4NTIwZTU3NmM4M2JkYzY5YWIyM2FlYjk5NmQ4
NjliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE1OTQsNiArMTU5NCw3IEBAIFNFVChXZWJD
b3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JIaXN0b3J5LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JJ
bmRleGVkREJBZ2VudC5jcHAKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9ySW5wdXRBZ2VudC5jcHAK
ICAgICBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yT3Zlcmxh
eS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGRjY2JmN2JlZDJiY2VkMTky
MDIwNzhlYTQ2MTIxNDc5ODI0ZWQ3YWIuLjVjMzQ0Y2VlMDRiODRhMTU5N2FmMGNjNGQ4MTFmZmY3
NDFiYTViMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
KysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMzczMSw2ICszNzMx
LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySGlzdG9yeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5k
ZXhlZERCQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4
ZWREQkFnZW50LmNwcCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0
QWdlbnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5wdXRBZ2Vu
dC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3Bw
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCmluZGV4IGM1N2Q1OGIyMGNjNWY1ZTcyZWM4OTUxYWI2MTYyYjMxNzBhZmZh
NWUuLmZjYmUzNTAyZTRkOWNlM2E0NWI1ZjcyNmFhOGNjM2MxYzVhYzBmYTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQpAQCAtNzY5LDYgKzc2OSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5jcHAgXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JIaXN0b3J5LmNwcCBcCisgICAg
aW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFn
ZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQppbmRleCAwNmY5MTIwMjFkNGZjM2JlY2I4NDVhM2EyMjYyZmYyNTNlMTBhM2QyLi5kNzkw
YzlkMzliMTE0ZmIwYzY1YTE2OThiYjFlZTVjMWRiZWZhMmY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBA
IC0yODc4LDYgKzI4NzgsOCBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JIaXN0
b3J5LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5j
cHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5oJywK
KyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9ySW5wdXRBZ2VudC5jcHAnLAorICAgICAg
ICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmgnLAogICAgICAgICAgICAgJ2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uCmluZGV4IDYzNWZhOTQxNTA1YjE4M2JlZGNjZWM4Njc4NTk0NDEyYzZlYWIyYzMu
Ljc2M2Y1NDc3NTZmMzVlZGI4OWM4ZjM4NmUyMTg3ZWQ3MDM4MmQwMDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTE5MzUsNiArMTkzNSwxNCBAQAogICAgICAg
ICAgICAgICAgICJuYW1lIjogIm1hcmtVbmRvYWJsZVN0YXRlIiwKICAgICAgICAgICAgICAgICAi
ZGVzY3JpcHRpb24iOiAiTWFya3MgbGFzdCB1bmRvYWJsZSBzdGF0ZS4iLAogICAgICAgICAgICAg
ICAgICJoaWRkZW4iOiB0cnVlCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICJuYW1lIjogImZvY3VzIiwKKyAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6
IFsKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAiJHJlZiI6ICJET00u
Tm9kZUlkIiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRp
b24iOiAiRm9jdXNlcyB0aGUgZ2l2ZW4gZWxlbWVudC4iLAorICAgICAgICAgICAgICAgICJoaWRk
ZW4iOiB0cnVlCiAgICAgICAgICAgICB9CiAgICAgICAgIF0sCiAgICAgICAgICJldmVudHMiOiBb
CkBAIC0zMjQxLDUgKzMyNDksMzEgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgXSwKICAgICAg
ICAgImV2ZW50cyI6IFtdCisgICAgfSwKKyAgICB7CisgICAgICAgICJkb21haW4iOiAiSW5wdXQi
LAorICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKKyAgICAgICAgInR5cGVzIjogW10sCisgICAgICAg
ICJjb21tYW5kcyI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJk
aXNwYXRjaEtleUV2ZW50IiwKKyAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0eXBlIiwgInR5cGUiOiAic3RyaW5nIiwgImVudW0i
OiBbImtleURvd24iLCAia2V5VXAiLCAicmF3S2V5RG93biIsICJjaGFyIl0gfSwKKyAgICAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJtb2RpZmllcnMiLCAidHlwZSI6ICJpbnRlZ2VyIiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkJpdCBmaWVsZCByZXByZXNlbnRpbmcgcHJl
c3NlZCBtb2RpZmllciBrZXlzLiBBbHQ9MSwgQ3RybD0yLCBNZXRhL0NvbW1hbmQ9NCwgU2hpZnQ9
OC4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGltZXN0YW1wIiwgInR5cGUi
OiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRpbWUgYXQgd2hp
Y2ggdGhlIGV2ZW50IG9jY3VycmVkIChVVEMgdGltZSBpbiBzZWNvbmRzIHNpbmNlIEphbnVhcnkg
MSwgMTk3MCkuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRleHQiLCAidHlw
ZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGV4dCBhcyBn
ZW5lcmF0ZWQgYnkgcHJvY2Vzc2luZyBhIHZpcnR1YWwga2V5IGNvZGUgd2l0aCBhIGtleWJvYXJk
IGxheW91dC4gTm90IG5lZWRlZCBmb3IgZm9yIDxjb2RlPmtleVVwPC9jb2RlPiBhbmQgPGNvZGU+
cmF3S2V5RG93bjwvY29kZT4gZXZlbnRzLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJ1bm1vZGlmaWVkVGV4dCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUs
ICJkZXNjcmlwdGlvbiI6ICJUZXh0IHRoYXQgd291bGQgaGF2ZSBiZWVuIGdlbmVyYXRlZCBieSB0
aGUga2V5Ym9hcmQgaWYgbm8gbW9kaWZpZXJzIHdlcmUgcHJlc3NlZCAoZXhjZXB0IGZvciBzaGlm
dCkuIFVzZWZ1bCBmb3Igc2hvcnRjdXQgKGFjY2VsZXJhdG9yKSBrZXkgaGFuZGxpbmcuIiB9LAor
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImtleUlkZW50aWZpZXIiLCAidHlwZSI6ICJz
dHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVW5pcXVlIGtleSBpZGVu
dGlmaWVyIChlLmcuLCAnVSswMDQxJykuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogIndpbmRvd3NWaXJ0dWFsS2V5Q29kZSIsICJ0eXBlIjogImludGVnZXIiLCAib3B0aW9uYWwi
OiB0cnVlIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmF0aXZlVmlydHVhbEtl
eUNvZGUiLCAidHlwZSI6ICJpbnRlZ2VyIiwgIm9wdGlvbmFsIjogdHJ1ZSB9LAorICAgICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogIm1hY0NoYXJDb2RlIiwgInR5cGUiOiAiaW50ZWdlciIsICJv
cHRpb25hbCI6IHRydWUgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJhdXRvUmVw
ZWF0IiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJpc0tleXBhZCIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9u
YWwiOiB0cnVlIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaXNTeXN0ZW1LZXki
LCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSB9CisgICAgICAgICAgICAgICAg
XSwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlzcGF0Y2hlcyBhIGtleSBldmVu
dCB0byB0aGUgcGFnZS4iCisgICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVu
dHMiOiBbXQogICAgIH1dCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckFsbEluT25lLmNwcAppbmRleCBkMTlhZDJlMGEwMjNiOTlhODY0NDU2N2EzMTRmNzRhMWRmZjcw
NzFmLi5jOWE4MGFkZjI2YTk2YjFlYzA1Y2I0YjNjYTc3Y2I5ZTVjZTFlYmQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTU3LDYgKzU3
LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIgogI2luY2x1ZGUgIklu
c3BlY3Rvckhpc3RvcnkuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvckluZGV4ZWREQkFnZW50LmNw
cCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnB1dEFnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uY3BwIgogI2luY2x1ZGUgIkluc3BlY3Rvck1lbW9yeUFnZW50LmNw
cCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBjYTkyYzRhZTIzNmQwNWFl
M2JmODQzZGY4ZGFlNzg4YTM2YTA0NzVlLi5iYTVjZTM1MzkzYTA2Y2ExZGZkZjY3YmU4M2MzZjA1
NjljMGZmZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCkBAIC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRl
bmQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckluZGV4ZWREQkFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5wdXRBZ2VudC5o
IgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3Bl
Y3Rvck1lbW9yeUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgpAQCAtMTUx
LDYgKzE1Miw4IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFn
ZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAKICAgICBtX2FnZW50cy5hcHBl
bmQoSW5zcGVjdG9yQ2FudmFzQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0
KCksIG1fc3RhdGUuZ2V0KCksIHBhZ2UsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKSk7
CiAKKyAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9ySW5wdXRBZ2VudDo6Y3JlYXRlKG1faW5z
dHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwgcGFnZSkpOworCiAgICAgQVNT
RVJUX0FSRyhpbnNwZWN0b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmplY3Rl
ZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9yQWdl
bnQKICAgICAgICAgLCBjb25zb2xlQWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IDFiMDg5MzQ3MjFhMmZlZDM5YzMyYmEyNDAwZTMw
ODA3ODY0ZDEzM2MuLmNmMjgwYmIyYWIwY2QzMTg1ZWI1ZGU3ODZlOWVhN2Y2OWFiOGFjZjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAt
NTIsNiArNTIsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRG
cmFnbWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50VHlwZS5oIgorI2luY2x1ZGUgIkVsZW1lbnQu
aCIKICNpbmNsdWRlICJFbGVtZW50U2hhZG93LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNs
dWRlICJFdmVudENvbnRleHQuaCIKQEAgLTExNDksMTcgKzExNTAsMjkgQEAgdm9pZCBJbnNwZWN0
b3JET01BZ2VudDo6bWFya1VuZG9hYmxlU3RhdGUoRXJyb3JTdHJpbmcqKQogICAgIG1faGlzdG9y
eS0+bWFya1VuZG9hYmxlU3RhdGUoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVz
b2x2ZU5vZGUoRXJyb3JTdHJpbmcqIGVycm9yLCBpbnQgbm9kZUlkLCBjb25zdCBTdHJpbmcqIGNv
bnN0IG9iamVjdEdyb3VwLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVj
dD4mIHJlc3VsdCkKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmZvY3VzKEVycm9yU3RyaW5nKiBl
cnJvclN0cmluZywgaW50IG5vZGVJZCkKK3sKKyAgICBFbGVtZW50KiBlbGVtZW50ID0gYXNzZXJ0
RWxlbWVudChlcnJvclN0cmluZywgbm9kZUlkKTsKKyAgICBpZiAoIWVsZW1lbnQpCisgICAgICAg
IHJldHVybjsKKyAgICBpZiAoIWVsZW1lbnQtPmlzRm9jdXNhYmxlKCkpIHsKKyAgICAgICAgKmVy
cm9yU3RyaW5nID0gIkVsZW1lbnQgaXMgbm90IGZvY3VzYWJsZSI7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisgICAgZWxlbWVudC0+Zm9jdXMoKTsKK30KKwordm9pZCBJbnNwZWN0b3JET01BZ2Vu
dDo6cmVzb2x2ZU5vZGUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBjb25z
dCBTdHJpbmcqIGNvbnN0IG9iamVjdEdyb3VwLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6
OlJlbW90ZU9iamVjdD4mIHJlc3VsdCkKIHsKICAgICBTdHJpbmcgb2JqZWN0R3JvdXBOYW1lID0g
b2JqZWN0R3JvdXAgPyAqb2JqZWN0R3JvdXAgOiAiIjsKICAgICBOb2RlKiBub2RlID0gbm9kZUZv
cklkKG5vZGVJZCk7CiAgICAgaWYgKCFub2RlKSB7Ci0gICAgICAgICplcnJvciA9ICJObyBub2Rl
IHdpdGggZ2l2ZW4gaWQgZm91bmQiOworICAgICAgICAqZXJyb3JTdHJpbmcgPSAiTm8gbm9kZSB3
aXRoIGdpdmVuIGlkIGZvdW5kIjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBSZWZQdHI8
VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4gb2JqZWN0ID0gcmVzb2x2ZU5vZGUo
bm9kZSwgb2JqZWN0R3JvdXBOYW1lKTsKICAgICBpZiAoIW9iamVjdCkgewotICAgICAgICAqZXJy
b3IgPSAiTm9kZSB3aXRoIGdpdmVuIGlkIGRvZXMgbm90IGJlbG9uZyB0byB0aGUgZG9jdW1lbnQi
OworICAgICAgICAqZXJyb3JTdHJpbmcgPSAiTm9kZSB3aXRoIGdpdmVuIGlkIGRvZXMgbm90IGJl
bG9uZyB0byB0aGUgZG9jdW1lbnQiOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIHJlc3Vs
dCA9IG9iamVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50
LmgKaW5kZXggM2I3MjY1MjgzMWIxMWNiMWM0M2ZlMWI4MWRmMjY5MGRjYWJiMzQyZC4uYzA4M2Ri
OWU4Y2M1OWYwNjNmNDgwOTZiNDRhNjkxNjI4NjZjZjIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKQEAgLTE0Nyw2ICsxNDcsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHVuZG8oRXJyb3JTdHJpbmcqKTsKICAgICB2aXJ0dWFsIHZvaWQg
cmVkbyhFcnJvclN0cmluZyopOwogICAgIHZpcnR1YWwgdm9pZCBtYXJrVW5kb2FibGVTdGF0ZShF
cnJvclN0cmluZyopOworICAgIHZpcnR1YWwgdm9pZCBmb2N1cyhFcnJvclN0cmluZyosIGludCBu
b2RlSWQpOwogCiAgICAgdm9pZCBnZXRFdmVudExpc3RlbmVycyhOb2RlKiwgVmVjdG9yPEV2ZW50
TGlzdGVuZXJJbmZvPiYgbGlzdGVuZXJzQXJyYXksIGJvb2wgaW5jbHVkZUFuY2VzdG9ycyk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wNDEyNTY0MzBjMTk2OWMyYjI0MmZjY2UyODY3YjUwMTg5MDE5ODg4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdl
bnQuY3BwCkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0
aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5h
bWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFC
TEUoSU5TUEVDVE9SKQorCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5wdXRBZ2VudC5oIgorCisjaW5j
bHVkZSAiRXZlbnRIYW5kbGVyLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdl
LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1FdmVudC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtS2V5Ym9h
cmRFdmVudC5oIgorCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSW5zcGVjdG9ySW5w
dXRBZ2VudDo6SW5zcGVjdG9ySW5wdXRBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogaW5zcGVjdG9yU3RhdGUsIFBhZ2UqIHBhZ2Up
CisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9ySW5wdXRBZ2VudD4oIklucHV0Iiwg
aW5zdHJ1bWVudGluZ0FnZW50cywgaW5zcGVjdG9yU3RhdGUpCisgICAgLCBtX3BhZ2UocGFnZSkK
K3sKK30KKworSW5zcGVjdG9ySW5wdXRBZ2VudDo6fkluc3BlY3RvcklucHV0QWdlbnQoKQorewor
fQorCit2b2lkIEluc3BlY3RvcklucHV0QWdlbnQ6OmRpc3BhdGNoS2V5RXZlbnQoRXJyb3JTdHJp
bmcqIGVycm9yLCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IGludCogbW9kaWZpZXJzLCBjb25z
dCBkb3VibGUqIHRpbWVzdGFtcCwgY29uc3QgU3RyaW5nKiB0ZXh0LCBjb25zdCBTdHJpbmcqIHVu
bW9kaWZpZWRUZXh0LCBjb25zdCBTdHJpbmcqIGtleUlkZW50aWZpZXIsIGNvbnN0IGludCogd2lu
ZG93c1ZpcnR1YWxLZXlDb2RlLCBjb25zdCBpbnQqIG5hdGl2ZVZpcnR1YWxLZXlDb2RlLCBjb25z
dCBpbnQqIG1hY0NoYXJDb2RlLCBjb25zdCBib29sKiBhdXRvUmVwZWF0LCBjb25zdCBib29sKiBp
c0tleXBhZCwgY29uc3QgYm9vbCogaXNTeXN0ZW1LZXkpCit7CisgICAgUGxhdGZvcm1FdmVudDo6
VHlwZSBjb252ZXJ0ZWRUeXBlOworICAgIGlmICh0eXBlID09ICJrZXlEb3duIikKKyAgICAgICAg
Y29udmVydGVkVHlwZSA9IFBsYXRmb3JtRXZlbnQ6OktleURvd247CisgICAgZWxzZSBpZiAodHlw
ZSA9PSAia2V5VXAiKQorICAgICAgICBjb252ZXJ0ZWRUeXBlID0gUGxhdGZvcm1FdmVudDo6S2V5
VXA7CisgICAgZWxzZSBpZiAodHlwZSA9PSAiY2hhciIpCisgICAgICAgIGNvbnZlcnRlZFR5cGUg
PSBQbGF0Zm9ybUV2ZW50OjpDaGFyOworICAgIGVsc2UKKyAgICAgICAgY29udmVydGVkVHlwZSA9
IFBsYXRmb3JtRXZlbnQ6OlJhd0tleURvd247CisKKyAgICBQbGF0Zm9ybUtleWJvYXJkRXZlbnQg
ZXZlbnQoCisgICAgICAgIGNvbnZlcnRlZFR5cGUsCisgICAgICAgIHRleHQgPyAqdGV4dCA6ICIi
LAorICAgICAgICB1bm1vZGlmaWVkVGV4dCA/ICp1bm1vZGlmaWVkVGV4dCA6ICIiLAorICAgICAg
ICBrZXlJZGVudGlmaWVyID8gKmtleUlkZW50aWZpZXIgOiAiIiwKKyAgICAgICAgd2luZG93c1Zp
cnR1YWxLZXlDb2RlID8gKndpbmRvd3NWaXJ0dWFsS2V5Q29kZSA6IDAsCisgICAgICAgIG5hdGl2
ZVZpcnR1YWxLZXlDb2RlID8gKm5hdGl2ZVZpcnR1YWxLZXlDb2RlIDogMCwKKyAgICAgICAgbWFj
Q2hhckNvZGUgPyAqbWFjQ2hhckNvZGUgOiAwLAorICAgICAgICBhdXRvUmVwZWF0ID8gKmF1dG9S
ZXBlYXQgOiBmYWxzZSwKKyAgICAgICAgaXNLZXlwYWQgPyAqaXNLZXlwYWQgOiBmYWxzZSwKKyAg
ICAgICAgaXNTeXN0ZW1LZXkgPyAqaXNTeXN0ZW1LZXkgOiBmYWxzZSwKKyAgICAgICAgc3RhdGlj
X2Nhc3Q8UGxhdGZvcm1FdmVudDo6TW9kaWZpZXJzPihtb2RpZmllcnMgPyAqbW9kaWZpZXJzIDog
MCksCisgICAgICAgIHRpbWVzdGFtcCA/ICp0aW1lc3RhbXAgOiBjdXJyZW50VGltZSgpKTsKKyAg
ICBtX3BhZ2UtPm1haW5GcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+a2V5RXZlbnQoZXZlbnQpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9S
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdl
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzU3OGE3NDdlNjcwNjhiZjFjNzViNTIxODA5MTM1NGZiZjljNzU4OQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50
LmgKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIg
dGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMg
b2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9ySW5wdXRBZ2VudF9oCisjZGVm
aW5lIEluc3BlY3RvcklucHV0QWdlbnRfaAorCisjaW5jbHVkZSAiSW5zcGVjdG9yQmFzZUFnZW50
LmgiCisKKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CitjbGFzcyBJbnNwZWN0b3JTdGF0ZTsKK2NsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7
CitjbGFzcyBQYWdlOworCit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKworI2lmIEVOQUJM
RShJTlNQRUNUT1IpCisKK2NsYXNzIEluc3BlY3RvcklucHV0QWdlbnQgOiBwdWJsaWMgSW5zcGVj
dG9yQmFzZUFnZW50PEluc3BlY3RvcklucHV0QWdlbnQ+LCBwdWJsaWMgSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXI6OklucHV0Q29tbWFuZEhhbmRsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvcklucHV0QWdlbnQpOworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRy
PEluc3BlY3RvcklucHV0QWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogaW5zcGVjdG9yU3RhdGUsIFBhZ2UqIHBhZ2Up
CisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3BlY3RvcklucHV0QWdlbnQo
aW5zdHJ1bWVudGluZ0FnZW50cywgaW5zcGVjdG9yU3RhdGUsIHBhZ2UpKTsKKyAgICB9CisKKyAg
ICB+SW5zcGVjdG9ySW5wdXRBZ2VudCgpOworCisgICAgLy8gTWV0aG9kcyBjYWxsZWQgZnJvbSB0
aGUgZnJvbnRlbmQgZm9yIHNpbXVsYXRpbmcgaW5wdXQuCisgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoS2V5RXZlbnQoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IGludCog
bW9kaWZpZXJzLCBjb25zdCBkb3VibGUqIHRpbWVzdGFtcCwgY29uc3QgU3RyaW5nKiB0ZXh0LCBj
b25zdCBTdHJpbmcqIHVubW9kaWZpZWRUZXh0LCBjb25zdCBTdHJpbmcqIGtleUlkZW50aWZpZXIs
IGNvbnN0IGludCogd2luZG93c1ZpcnR1YWxLZXlDb2RlLCBjb25zdCBpbnQqIG5hdGl2ZVZpcnR1
YWxLZXlDb2RlLCBjb25zdCBpbnQqIG1hY0NoYXJDb2RlLCBjb25zdCBib29sKiBhdXRvUmVwZWF0
LCBjb25zdCBib29sKiBpc0tleXBhZCwgY29uc3QgYm9vbCogaXNTeXN0ZW1LZXkpOworCitwcml2
YXRlOgorICAgIEluc3BlY3RvcklucHV0QWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3Bl
Y3RvclN0YXRlKiwgUGFnZSopOworCisgICAgUGFnZSogbV9wYWdlOworfTsKKworI2VuZGlmIC8v
IEVOQUJMRShJTlNQRUNUT1IpCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
ICFkZWZpbmVkKEluc3BlY3RvcklucHV0QWdlbnRfaCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2MTFiNmExNDdmMmQ5MTY1
MjVkMDEwNDk2YzQxOThmYWM1NGU2NGU5Li5jZTZhNjliYmUwNzUyMmE5NGQxODNhNzczNjQ5NjJj
MjQ2Y2ZiMDQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMTEtMjkgIEtlbiBLYW5pYSAg
PGtrYW5pYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5zcGVjdG9yOiBJbnRyb2R1Y2UgSW5w
dXQuZGlzcGF0Y2hLZXlFdmVudCBhbmQgRE9NLmZvY3VzIGZvciB0eXBpbmcgc2ltdWxhdGlvbi4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzUzMAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElucHV0LmRp
c3BhdGNoS2V5RXZlbnQgc2ltcGx5IGNhbGxzIEV2ZW50SGFuZGxlcjo6a2V5RXZlbnQgd2l0aCB0
aGUga2V5IGV2ZW50IGRhdGEKKyAgICAgICAgZnJvbSB0aGUgY29tbWFuZCBwYXJhbWV0ZXJzLiBU
aGUgY2xpZW50IHdpbGwgYmUgcmVzcG9uc2libGUgZm9yIHByb3ZpZGluZyBwcm9wZXIKKyAgICAg
ICAgZXZlbnRzIHRvIHNpbXVsYXRlIGRlc2lyZWQgdHlwaW5nIGJlaGF2aW9yLgorICAgICAgICBE
T00uZm9jdXMgY2FsbHMgZm9jdXMgb24gYSBkb20gZWxlbWVudC4KKworICAgICAgICAqIGluc3Bl
Y3Rvci1wcm90b2NvbC9kb20tZm9jdXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci1wcm90b2NvbC9pbnB1dC1kaXNwYXRjaEtleUV2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZlbnQuaHRt
bDogQWRkZWQuCisKIDIwMTItMTEtMjggIFN0ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBMYXlvdXQgVGVzdCBzdmcvYW5pbWF0aW9ucy9tcGF0aC1yZW1v
dmUtZnJvbS1kZXBlbmRlbnRzLW9uLWRlbGV0ZS1jcmFzaC5odG1sIGlzIGZsYWt5CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3VzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIwN2I1YzI5OTFkZTI3M2YzNzg1ZWEyMDJjMWZiNTUyZjg3NTYwZmMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3Vz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKyAKK2ZvY3VzZWQKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS1mb2N1cy5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS1mb2N1cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1NDVkOWRh
NDNiNGFiZWZmYTQ3ZjZkMzkwOTVlMzY5MThmNjE0YjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3VzLmh0bWwKQEAgLTAsMCArMSw0MyBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3Jlc291cmNlcy9wcm90b2NvbC10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
ZnVuY3Rpb24oKSB7CisgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3NlY29uZCIpLmFkZEV2
ZW50TGlzdGVuZXIoImZvY3VzIiwgZnVuY3Rpb24oKSB7CisgICAgICAgIGxvZygiZm9jdXNlZCIp
OworICAgIH0pOworfSk7CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3Qu
c2VuZENvbW1hbmQoIkRPTS5nZXREb2N1bWVudCIsIHt9LCBmdW5jdGlvbihtc2cpIHsKKyAgICAg
ICAgaWYgKG1zZy5lcnJvcikgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2cobXNnLmVy
cm9yLm1lc3NhZ2UpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB2YXIgbm9kZSA9IG1zZy5y
ZXN1bHQucm9vdDsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLnF1ZXJ5
U2VsZWN0b3IiLCB7ICJub2RlSWQiOiBub2RlLm5vZGVJZCwgInNlbGVjdG9yIjogIiNzZWNvbmQi
IH0sIGZ1bmN0aW9uKG1zZykgeworICAgICAgICAgICAgaWYgKG1zZy5lcnJvcikgeworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKG1zZy5lcnJvci5tZXNzYWdlKTsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhciBub2RlID0gbXNnLnJlc3VsdDsK
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5mb2N1cyIsIHsgIm5v
ZGVJZCI6IG5vZGUubm9kZUlkIH0sIGZ1bmN0aW9uKG1zZykgeworICAgICAgICAgICAgICAgIGlm
IChtc2cuZXJyb3IpCisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKG1zZy5l
cnJvcik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8aW5wdXQ+PC9pbnB1dD4KKzxpbnB1dCBp
ZD0ic2Vjb25kIj48L2lucHV0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZlbnQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZl
bnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4M2E3YTZhYmQ2YjcyOTJiMWM5OGY3MzY5Y2I1
YjY0OGFmYTE0YzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJv
dG9jb2wvaW5wdXQtZGlzcGF0Y2hLZXlFdmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBA
QAorLS0tLS1FdmVudC0tLS0tCit0eXBlOiBrZXlkb3duCitrZXlDb2RlOiA2NQora2V5SWRlbnRp
ZmllcjogVSswMDQxCisKKy0tLS0tRXZlbnQtLS0tLQordHlwZToga2V5cHJlc3MKK3NoaWZ0S2V5
CitrZXlDb2RlOiA2NQorY2hhckNvZGU6IDY1CisKKy0tLS0tRXZlbnQtLS0tLQordHlwZToga2V5
dXAKK2tleUNvZGU6IDY1CitrZXlJZGVudGlmaWVyOiBVKzAwNDEKKworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvaW5wdXQtZGlzcGF0Y2hLZXlFdmVudC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZlbnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45OWVkNWRiODllYzczNjlhZTJlNjdiZWNhZWQ4MTk5Y2ZjMjNjODQw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2lucHV0
LWRpc3BhdGNoS2V5RXZlbnQuaHRtbApAQCAtMCwwICsxLDcyIEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3ItcHJvdG9jb2wvcmVzb3VyY2VzL3Byb3RvY29sLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KKworZnVuY3Rpb24gbG9nRXZlbnQoZXZlbnQpIHsKKyAgICBsb2coIi0tLS0tRXZlbnQtLS0t
LSIpOworICAgIGxvZygidHlwZTogIiArIGV2ZW50LnR5cGUpOworICAgIGlmIChldmVudC5hbHRL
ZXkpCisgICAgICAgIGxvZygiYWx0S2V5Iik7CisgICAgaWYgKGV2ZW50LmN0cmxLZXkpCisgICAg
ICAgIGxvZygiY3RybEtleSIpOworICAgIGlmIChldmVudC5tZXRhS2V5KQorICAgICAgICBsb2co
Im1ldGFLZXkiKTsKKyAgICBpZiAoZXZlbnQuc2hpZnRLZXkpCisgICAgICAgIGxvZygic2hpZnRL
ZXkiKTsKKyAgICBpZiAoZXZlbnQua2V5Q29kZSkKKyAgICAgICAgbG9nKCJrZXlDb2RlOiAiICsg
ZXZlbnQua2V5Q29kZSk7CisgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIpCisgICAgICAgIGxv
Zygia2V5SWRlbnRpZmllcjogIiArIGV2ZW50LmtleUlkZW50aWZpZXIpOworICAgIGlmIChldmVu
dC5jaGFyQ29kZSkKKyAgICAgICAgbG9nKCJjaGFyQ29kZTogIiArIGV2ZW50LmNoYXJDb2RlKTsK
KyAgICBpZiAoZXZlbnQudGV4dCkKKyAgICAgICAgbG9nKCJ0ZXh0OiAiICsgZXZlbnQudGV4dCk7
CisgICAgbG9nKCIiKTsKK30KKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCBs
b2dFdmVudCk7Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5cHJlc3MiLCBsb2dFdmVudCk7
Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLCBsb2dFdmVudCk7CisKK2Z1bmN0aW9u
IHRlc3QoKQoreworICAgIHZhciBldmVudHMgPSBbCisgICAgICAgIHsKKyAgICAgICAgICAgICJ0
eXBlIjogImtleURvd24iLAorICAgICAgICAgICAgIndpbmRvd3NWaXJ0dWFsS2V5Q29kZSI6IDY1
LCAvLyBWS19BCisgICAgICAgICAgICAia2V5SWRlbnRpZmllciI6ICJVKzAwNDEiLAorICAgICAg
ICB9LAorICAgICAgICB7CisgICAgICAgICAgICAidHlwZSI6ICJjaGFyIiwKKyAgICAgICAgICAg
ICJtb2RpZmllcnMiOiA4LCAvLyBzaGlmdAorICAgICAgICAgICAgInRleHQiOiAiQSIsCisgICAg
ICAgICAgICAidW5tb2RpZmllZFRleHQiOiAiYSIsCisgICAgICAgIH0sCisgICAgICAgIHsKKyAg
ICAgICAgICAgICJ0eXBlIjogImtleVVwIiwKKyAgICAgICAgICAgICJ3aW5kb3dzVmlydHVhbEtl
eUNvZGUiOiA2NSwKKyAgICAgICAgICAgICJrZXlJZGVudGlmaWVyIjogIlUrMDA0MSIKKyAgICAg
ICAgfQorICAgIF07CisKKyAgICBmdW5jdGlvbiBjb250aW51ZVRlc3QobXNnKSB7CisgICAgICAg
IGlmIChtc2cuZXJyb3IpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJFcnJvcjog
IiArIG1zZy5lcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxl
dGVUZXN0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAo
ZXZlbnRzLmxlbmd0aCkKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIklu
cHV0LmRpc3BhdGNoS2V5RXZlbnQiLCBldmVudHMuc2hpZnQoKSwgY29udGludWVUZXN0KTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAg
ICB9CisgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiSW5wdXQuZGlzcGF0Y2hLZXlFdmVu
dCIsIGV2ZW50cy5zaGlmdCgpLCBjb250aW51ZVRlc3QpOworfQorCis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177003</attachid>
            <date>2012-11-30 11:52:05 -0800</date>
            <delta_ts>2012-11-30 16:30:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103530-20121130114936.patch</filename>
            <type>text/plain</type>
            <size>30033</size>
            <attacher name="Ken Kania">kkania</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM4MDNlNDVkZTJkZWJj
OWRmNjY3ZWU5MTkyZDYxMDlkYWJlMzdiZS4uMzJjNDIzYjc0YmE0NTBjNjdlNzA2ZmE1ZGU5ODBi
ODY3ZTczOWRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTExLTMwICBLZW4g
S2FuaWEgIDxra2FuaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluc3BlY3RvcjogSW50cm9k
dWNlIElucHV0LmRpc3BhdGNoS2V5RXZlbnQgYW5kIERPTS5mb2N1cyBmb3IgdHlwaW5nIHNpbXVs
YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDM1MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bnB1dC5kaXNwYXRjaEtleUV2ZW50IHNpbXBseSBjYWxscyBFdmVudEhhbmRsZXI6OmtleUV2ZW50
IHdpdGggdGhlIGtleSBldmVudCBkYXRhCisgICAgICAgIGZyb20gdGhlIGNvbW1hbmQgcGFyYW1l
dGVycy4gVGhlIGNsaWVudCB3aWxsIGJlIHJlc3BvbnNpYmxlIGZvciBwcm92aWRpbmcgcHJvcGVy
CisgICAgICAgIGV2ZW50cyB0byBzaW11bGF0ZSBkZXNpcmVkIHR5cGluZyBiZWhhdmlvci4KKyAg
ICAgICAgRE9NLmZvY3VzIGNhbGxzIGZvY3VzIG9uIGEgZG9tIGVsZW1lbnQuCisKKyAgICAgICAg
VGVzdHM6IGluc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMuaHRtbAorICAgICAgICAgICAgICAg
aW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZlbnQuaHRtbAorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHA6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRPTUFnZW50Ojpmb2N1cyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpyZXNvbHZlTm9kZSk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckRPTUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JET01BZ2VudCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5wdXRBZ2VudDo6SW5z
cGVjdG9ySW5wdXRBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnB1dEFnZW50
Ojp+SW5zcGVjdG9ySW5wdXRBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnB1
dEFnZW50OjpkaXNwYXRjaEtleUV2ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
SW5wdXRBZ2VudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVj
dG9ySW5wdXRBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnB1dEFnZW50Ojpj
cmVhdGUpOgorCiAyMDEyLTExLTI4ICBaZW5vIEFsYmlzc2VyICA8emVub0B3ZWJraXQub3JnPgog
CiAgICAgICAgIFtRdF1bV2luXSBFbmFibGUgdXNhZ2Ugb2YgUVRXRUJLSVRfUExVR0lOX1BBVEgu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDNhNWQyMTczNTg0NWYwYmQ4YTU0NzNiYTZmYjBkMDlk
MGZmNTEyYjIuLmNmYjk4YmU1ODUyMGU1NzZjODNiZGM2OWFiMjNhZWI5OTZkODY5YjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC0xNTk0LDYgKzE1OTQsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKICAgICBpbnNwZWN0b3Iv
SW5zcGVjdG9ySGlzdG9yeS5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdl
bnQuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3BwCiAgICAgaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9y
TWVtb3J5QWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBkY2NiZjdiZWQyYmNlZDE5MjAyMDc4ZWE0NjEy
MTQ3OTgyNGVkN2FiLi41YzM0NGNlZTA0Yjg0YTE1OTdhZjBjYzRkODExZmZmNzQxYmE1YjMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTM3MzEsNiArMzczMSw4IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckhpc3Rv
cnkuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50
LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5j
cHAgXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNwcCBc
CisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuaCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQppbmRleCBjNTdkNThiMjBjYzVmNWU3MmVjODk1MWFiNjE2MmIzMTcwYWZmYTVlLi5mY2JlMzUw
MmU0ZDljZTNhNDViNWY3MjZhYThjYzNjMWM1YWMwZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTc2OSw2
ICs3NjksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbC5jcHAgXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3Bw
IFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5jcHAgXAorICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JJbnB1dEFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAgXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgXAog
ICAgIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
MDZmOTEyMDIxZDRmYzNiZWNiODQ1YTNhMjI2MmZmMjUzZTEwYTNkMi4uZDc5MGM5ZDM5YjExNGZi
MGM2NWExNjk4YmIxZWU1YzFkYmVmYTJmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjg3OCw2ICsy
ODc4LDggQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5oJywKICAg
ICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaCcsCisgICAgICAgICAg
ICAnaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3BwJywKKyAgICAgICAgICAgICdpbnNw
ZWN0b3IvSW5zcGVjdG9ySW5wdXRBZ2VudC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9y
TWVtb3J5QWdlbnQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBiMmQ1NzU2Y2M1YTYwMDVkNGRmOWNlZTc1MWZhOWQ4MmQ2
YWZmZWNjLi5lODFkNmVjNmE3NGJlNjgzM2E2NjUwMzRlMzk4MWFjOTQ3M2FkNjUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
NDc1LDYgKzE0NzUsOCBAQAogCQk0QjZGQTZGNzBDMzlFNEExMDAwODcwMTEgLyogU21hcnRSZXBs
YWNlQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NEI2RkE2RjYwQzM5RTRBMTAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZUNGLmNwcCAqLzsgfTsKIAkJ
NEI4QUY0QUEwQjFDRTAyQjAwNjg3NjkwIC8qIENsaXBib2FyZEFjY2Vzc1BvbGljeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI4QUY0QTkwQjFDRTAy
QjAwNjg3NjkwIC8qIENsaXBib2FyZEFjY2Vzc1BvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRCQUU5NUIxMEIyRkE5Q0UwMEFFRDhBMCAv
KiBFZGl0b3JEZWxldGVBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDRCQUU5NUIwMEIyRkE5Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0
RDI3M0NGOTE2Njk0MjA4MDAyNTlDQTEgLyogSW5zcGVjdG9ySW5wdXRBZ2VudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RDI3M0NGNzE2Njk0MjA4
MDAyNTlDQTEgLyogSW5zcGVjdG9ySW5wdXRBZ2VudC5jcHAgKi87IH07CisJCTREMjczQ0ZBMTY2
OTQyMDgwMDI1OUNBMSAvKiBJbnNwZWN0b3JJbnB1dEFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RDI3M0NGODE2Njk0MjA4MDAyNTlDQTEgLyog
SW5zcGVjdG9ySW5wdXRBZ2VudC5oICovOyB9OwogCQk0RTE5NTkyMTBBMzlEQUJBMDAyMjBGRTUg
LyogTWVkaWFGZWF0dXJlTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNEUxOTU5MUYwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5h
bWVzLmNwcCAqLzsgfTsKIAkJNEUxOTU5MjIwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVy
ZU5hbWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
RTE5NTkyMDBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuaCAqLzsgfTsKIAkJ
NEUxOTU5MjkwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5MjMwQTM5REFDQzAwMjIwRkU1
IC8qIE1lZGlhUXVlcnkuY3BwICovOyB9OwpAQCAtODcyNCw2ICs4NzI2LDggQEAKIAkJNEI2RkE2
RjYwQzM5RTRBMTAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZUNGLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNtYXJ0UmVwbGFjZUNGLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNEI4QUY0QTkwQjFDRTAyQjAwNjg3NjkwIC8qIENsaXBib2FyZEFjY2Vz
c1BvbGljeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcGJvYXJkQWNj
ZXNzUG9saWN5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCQUU5NUIwMEIyRkE5
Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRWRpdG9yRGVsZXRlQWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTREMjczQ0Y3MTY2OTQyMDgwMDI1OUNBMSAvKiBJbnNwZWN0b3JJbnB1dEFnZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvcklucHV0QWdl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0RDI3M0NGODE2Njk0MjA4MDAy
NTlDQTEgLyogSW5zcGVjdG9ySW5wdXRBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJbnNwZWN0b3JJbnB1dEFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTRFMTk1OTFGMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFGZWF0dXJlTmFtZXMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0RTE5NTkyMDBBMzlEQUJBMDAyMjBGRTUg
LyogTWVkaWFGZWF0dXJlTmFtZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE1lZGlhRmVhdHVyZU5hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRFMTk1
OTIzMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVF1ZXJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE0ODY5LDYgKzE0ODczLDggQEAKIAkJCQk3QTU0ODU3RTE0RTAyRDUxMDA2QUUw
NUEgLyogSW5zcGVjdG9ySGlzdG9yeS5oICovLAogCQkJCTdBQ0Q4OEQxMTRDMDhCRDYwMDg0RURE
MiAvKiBJbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAgKi8sCiAJCQkJN0FDRDg4RDIxNEMwOEJE
NjAwODRFREQyIC8qIEluc3BlY3RvckluZGV4ZWREQkFnZW50LmggKi8sCisJCQkJNEQyNzNDRjcx
NjY5NDIwODAwMjU5Q0ExIC8qIEluc3BlY3RvcklucHV0QWdlbnQuY3BwICovLAorCQkJCTREMjcz
Q0Y4MTY2OTQyMDgwMDI1OUNBMSAvKiBJbnNwZWN0b3JJbnB1dEFnZW50LmggKi8sCiAJCQkJMjBE
NjI5MjQxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgKi8s
CiAJCQkJMjBENjI5MjUxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oICovLAogCQkJCTdBQTUxREQzMTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlB
Z2VudC5jcHAgKi8sCkBAIC0yNDAzOCw2ICsyNDA0NCw3IEBACiAJCQkJN0EwRTc3MEYxMEMwMEE4
ODAwQTAyNzZFIC8qIEluc3BlY3RvckZyb250ZW5kSG9zdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0E1NDg1ODAxNEUwMkQ1MTAwNkFFMDVBIC8qIEluc3BlY3Rvckhpc3RvcnkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTdBQ0Q4OEQ0MTRDMDhCRDYwMDg0RUREMiAvKiBJbnNwZWN0b3JJbmRleGVkREJB
Z2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNEQyNzNDRkExNjY5NDIwODAwMjU5Q0ExIC8qIElu
c3BlY3RvcklucHV0QWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTIwRDYyOTI3MTI1MzY5MEIw
MDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTdBQTUxREQ2MTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlBZ2VudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNEY2RkRENjUxMzQxREVERDAwMUY4RUUzIC8qIEluc3BlY3RvclBhZ2VB
Z2VudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzI0Niw2ICsyNzI1Myw3IEBACiAJCQkJN0EwRTc3
MEUxMEMwMEE4ODAwQTAyNzZFIC8qIEluc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk3QTU0ODU3RjE0RTAyRDUxMDA2QUUwNUEgLyogSW5zcGVjdG9ySGlzdG9yeS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUNEODhEMzE0QzA4QkQ2MDA4NEVERDIgLyogSW5zcGVj
dG9ySW5kZXhlZERCQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNEQyNzNDRjkxNjY5NDIw
ODAwMjU5Q0ExIC8qIEluc3BlY3RvcklucHV0QWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MjBENjI5MjYxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk3QUE1MURENTE0ODUwNkE5MDBBRDI3NTIgLyogSW5zcGVjdG9y
TWVtb3J5QWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M1MjJENEIxNUI0NzdFODAwOUI3
Qzk1IC8qIEluc3BlY3Rvck92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggNjM1ZmE5NDE1MDViMTgzYmVkY2NlYzg2Nzg1
OTQ0MTJjNmVhYjJjMy4uYjBiOGE2OTAzMWYzMzI1Y2Y0OGY3YzYzYWM5M2ViMTQ1YWI2ZDljMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMTkzNSw2ICsxOTM1
LDE0IEBACiAgICAgICAgICAgICAgICAgIm5hbWUiOiAibWFya1VuZG9hYmxlU3RhdGUiLAogICAg
ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXJrcyBsYXN0IHVuZG9hYmxlIHN0YXRlLiIs
CiAgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZm9jdXMiLAorICAgICAgICAgICAgICAg
ICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIs
ICIkcmVmIjogIkRPTS5Ob2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiSWQgb2YgdGhlIG5vZGUgdG8g
Zm9jdXMuIiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRp
b24iOiAiRm9jdXNlcyB0aGUgZ2l2ZW4gZWxlbWVudC4iLAorICAgICAgICAgICAgICAgICJoaWRk
ZW4iOiB0cnVlCiAgICAgICAgICAgICB9CiAgICAgICAgIF0sCiAgICAgICAgICJldmVudHMiOiBb
CkBAIC0zMjQxLDUgKzMyNDksMzEgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgXSwKICAgICAg
ICAgImV2ZW50cyI6IFtdCisgICAgfSwKKyAgICB7CisgICAgICAgICJkb21haW4iOiAiSW5wdXQi
LAorICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKKyAgICAgICAgInR5cGVzIjogW10sCisgICAgICAg
ICJjb21tYW5kcyI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJk
aXNwYXRjaEtleUV2ZW50IiwKKyAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0eXBlIiwgInR5cGUiOiAic3RyaW5nIiwgImVudW0i
OiBbImtleURvd24iLCAia2V5VXAiLCAicmF3S2V5RG93biIsICJjaGFyIl0sICJkZXNjcmlwdGlv
biI6ICJUeXBlIG9mIHRoZSBrZXkgZXZlbnQuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogIm1vZGlmaWVycyIsICJ0eXBlIjogImludGVnZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiQml0IGZpZWxkIHJlcHJlc2VudGluZyBwcmVzc2VkIG1vZGlmaWVyIGtl
eXMuIEFsdD0xLCBDdHJsPTIsIE1ldGEvQ29tbWFuZD00LCBTaGlmdD04IChkZWZhdWx0OiAwKS4i
IH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAi
bnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRpbWUgYXQgd2hpY2gg
dGhlIGV2ZW50IG9jY3VycmVkLiBNZWFzdXJlZCBpbiBVVEMgdGltZSBpbiBzZWNvbmRzIHNpbmNl
IEphbnVhcnkgMSwgMTk3MCAoZGVmYXVsdDogY3VycmVudCB0aW1lKS4iIH0sCisgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAidGV4dCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6
IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUZXh0IGFzIGdlbmVyYXRlZCBieSBwcm9jZXNzaW5nIGEg
dmlydHVhbCBrZXkgY29kZSB3aXRoIGEga2V5Ym9hcmQgbGF5b3V0LiBOb3QgbmVlZGVkIGZvciBm
b3IgPGNvZGU+a2V5VXA8L2NvZGU+IGFuZCA8Y29kZT5yYXdLZXlEb3duPC9jb2RlPiBldmVudHMg
KGRlZmF1bHQ6IFwiXCIpIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInVubW9k
aWZpZWRUZXh0IiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIlRleHQgdGhhdCB3b3VsZCBoYXZlIGJlZW4gZ2VuZXJhdGVkIGJ5IHRoZSBrZXlib2Fy
ZCBpZiBubyBtb2RpZmllcnMgd2VyZSBwcmVzc2VkIChleGNlcHQgZm9yIHNoaWZ0KS4gVXNlZnVs
IGZvciBzaG9ydGN1dCAoYWNjZWxlcmF0b3IpIGtleSBoYW5kbGluZyAoZGVmYXVsdDogXCJcIiku
IiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImtleUlkZW50aWZpZXIiLCAidHlw
ZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVW5pcXVlIGtl
eSBpZGVudGlmaWVyIChlLmcuLCAnVSswMDQxJykgKGRlZmF1bHQ6IFwiXCIpLiIgfSwKKyAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ3aW5kb3dzVmlydHVhbEtleUNvZGUiLCAidHlwZSI6
ICJpbnRlZ2VyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldpbmRvd3Mgdmly
dHVhbCBrZXkgY29kZSAoZGVmYXVsdDogMCkuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogIm5hdGl2ZVZpcnR1YWxLZXlDb2RlIiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25h
bCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJOYXRpdmUgdmlydHVhbCBrZXkgY29kZSAoZGVmYXVs
dDogMCkuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm1hY0NoYXJDb2RlIiwg
InR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJNYWMg
Y2hhcmFjdGVyIGNvZGUgKGRlZmF1bHQ6IDApLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJhdXRvUmVwZWF0IiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUs
ICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRoZSBldmVudCB3YXMgZ2VuZXJhdGVkIGZyb20gYXV0
byByZXBlYXQgKGRlZmF1bHQ6IGZhbHNlKS4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiaXNLZXlwYWQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIGV2ZW50IHdhcyBnZW5lcmF0ZWQgZnJvbSB0aGUga2V5
cGFkIChkZWZhdWx0OiBmYWxzZSkuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImlzU3lzdGVtS2V5IiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNj
cmlwdGlvbiI6ICJXaGV0aGVyIHRoZSBldmVudCB3YXMgYSBzeXN0ZW0ga2V5IGV2ZW50IChkZWZh
dWx0OiBmYWxzZSkuIiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiRGlzcGF0Y2hlcyBhIGtleSBldmVudCB0byB0aGUgcGFnZS4iCisgICAgICAg
ICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVudHMiOiBbXQogICAgIH1dCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAppbmRleCBkMTlh
ZDJlMGEwMjNiOTlhODY0NDU2N2EzMTRmNzRhMWRmZjcwNzFmLi5jOWE4MGFkZjI2YTk2YjFlYzA1
Y2I0YjNjYTc3Y2I5ZTVjZTFlYmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTU3LDYgKzU3LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0
b3JGcm9udGVuZEhvc3QuY3BwIgogI2luY2x1ZGUgIkluc3BlY3Rvckhpc3RvcnkuY3BwIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJ
bnB1dEFnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIgog
I2luY2x1ZGUgIkluc3BlY3Rvck1lbW9yeUFnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JP
dmVybGF5LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcAppbmRleCBjYTkyYzRhZTIzNmQwNWFlM2JmODQzZGY4ZGFlNzg4YTM2YTA0NzVl
Li5iYTVjZTM1MzkzYTA2Y2ExZGZkZjY3YmU4M2MzZjA1NjljMGZmZDY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC01NSw2ICs1
NSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JGcm9udGVuZENsaWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckluZGV4ZWREQkFnZW50Lmgi
CisjaW5jbHVkZSAiSW5zcGVjdG9ySW5wdXRBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3Rvck1lbW9yeUFnZW50LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgpAQCAtMTUxLDYgKzE1Miw4IEBAIEluc3BlY3RvckNv
bnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50
KiBpbnNwZWN0b3JDCiAKICAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yQ2FudmFzQWdlbnQ6
OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCksIHBhZ2Us
IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKSk7CiAKKyAgICBtX2FnZW50cy5hcHBlbmQo
SW5zcGVjdG9ySW5wdXRBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwg
bV9zdGF0ZS5nZXQoKSwgcGFnZSkpOworCiAgICAgQVNTRVJUX0FSRyhpbnNwZWN0b3JDbGllbnQs
IGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVk
U2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9yQWdlbnQKICAgICAgICAgLCBjb25zb2xlQWdl
bnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2Vu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmlu
ZGV4IDFiMDg5MzQ3MjFhMmZlZDM5YzMyYmEyNDAwZTMwODA3ODY0ZDEzM2MuLmNmMjgwYmIyYWIw
Y2QzMTg1ZWI1ZGU3ODZlOWVhN2Y2OWFiOGFjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtNTIsNiArNTIsNyBAQAogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50VHlwZS5oIgorI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50U2hh
ZG93LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudENvbnRleHQuaCIKQEAg
LTExNDksMTcgKzExNTAsMjkgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6bWFya1VuZG9hYmxl
U3RhdGUoRXJyb3JTdHJpbmcqKQogICAgIG1faGlzdG9yeS0+bWFya1VuZG9hYmxlU3RhdGUoKTsK
IH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVzb2x2ZU5vZGUoRXJyb3JTdHJpbmcqIGVy
cm9yLCBpbnQgbm9kZUlkLCBjb25zdCBTdHJpbmcqIGNvbnN0IG9iamVjdEdyb3VwLCBSZWZQdHI8
VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCkKK3ZvaWQgSW5zcGVj
dG9yRE9NQWdlbnQ6OmZvY3VzKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50IG5vZGVJZCkK
K3sKKyAgICBFbGVtZW50KiBlbGVtZW50ID0gYXNzZXJ0RWxlbWVudChlcnJvclN0cmluZywgbm9k
ZUlkKTsKKyAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIWVsZW1l
bnQtPmlzRm9jdXNhYmxlKCkpIHsKKyAgICAgICAgKmVycm9yU3RyaW5nID0gIkVsZW1lbnQgaXMg
bm90IGZvY3VzYWJsZSI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZWxlbWVudC0+Zm9j
dXMoKTsKK30KKwordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVzb2x2ZU5vZGUoRXJyb3JTdHJp
bmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBjb25zdCBTdHJpbmcqIGNvbnN0IG9iamVjdEdy
b3VwLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCkK
IHsKICAgICBTdHJpbmcgb2JqZWN0R3JvdXBOYW1lID0gb2JqZWN0R3JvdXAgPyAqb2JqZWN0R3Jv
dXAgOiAiIjsKICAgICBOb2RlKiBub2RlID0gbm9kZUZvcklkKG5vZGVJZCk7CiAgICAgaWYgKCFu
b2RlKSB7Ci0gICAgICAgICplcnJvciA9ICJObyBub2RlIHdpdGggZ2l2ZW4gaWQgZm91bmQiOwor
ICAgICAgICAqZXJyb3JTdHJpbmcgPSAiTm8gbm9kZSB3aXRoIGdpdmVuIGlkIGZvdW5kIjsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJl
bW90ZU9iamVjdD4gb2JqZWN0ID0gcmVzb2x2ZU5vZGUobm9kZSwgb2JqZWN0R3JvdXBOYW1lKTsK
ICAgICBpZiAoIW9iamVjdCkgewotICAgICAgICAqZXJyb3IgPSAiTm9kZSB3aXRoIGdpdmVuIGlk
IGRvZXMgbm90IGJlbG9uZyB0byB0aGUgZG9jdW1lbnQiOworICAgICAgICAqZXJyb3JTdHJpbmcg
PSAiTm9kZSB3aXRoIGdpdmVuIGlkIGRvZXMgbm90IGJlbG9uZyB0byB0aGUgZG9jdW1lbnQiOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogICAgIHJlc3VsdCA9IG9iamVjdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggM2I3MjY1MjgzMWIxMWNi
MWM0M2ZlMWI4MWRmMjY5MGRjYWJiMzQyZC4uYzA4M2RiOWU4Y2M1OWYwNjNmNDgwOTZiNDRhNjkx
NjI4NjZjZjIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFn
ZW50LmgKQEAgLTE0Nyw2ICsxNDcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHVuZG8o
RXJyb3JTdHJpbmcqKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVkbyhFcnJvclN0cmluZyopOwogICAg
IHZpcnR1YWwgdm9pZCBtYXJrVW5kb2FibGVTdGF0ZShFcnJvclN0cmluZyopOworICAgIHZpcnR1
YWwgdm9pZCBmb2N1cyhFcnJvclN0cmluZyosIGludCBub2RlSWQpOwogCiAgICAgdm9pZCBnZXRF
dmVudExpc3RlbmVycyhOb2RlKiwgVmVjdG9yPEV2ZW50TGlzdGVuZXJJbmZvPiYgbGlzdGVuZXJz
QXJyYXksIGJvb2wgaW5jbHVkZUFuY2VzdG9ycyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZjJiMzFlYjkzZjJh
M2UwOWNlNWIxZDMxOWZiNDA3ZTMwNzY5NjNiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3BwCkBAIC0wLDAgKzEsODggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCisjaW5jbHVkZSAi
SW5zcGVjdG9ySW5wdXRBZ2VudC5oIgorCisjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCisjaW5j
bHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1FdmVu
dC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIgorCisjaW5jbHVkZSA8d3Rm
L0N1cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworSW5zcGVjdG9ySW5wdXRBZ2VudDo6SW5zcGVjdG9ySW5wdXRBZ2Vu
dChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0
ZSogaW5zcGVjdG9yU3RhdGUsIFBhZ2UqIHBhZ2UpCisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8
SW5zcGVjdG9ySW5wdXRBZ2VudD4oIklucHV0IiwgaW5zdHJ1bWVudGluZ0FnZW50cywgaW5zcGVj
dG9yU3RhdGUpCisgICAgLCBtX3BhZ2UocGFnZSkKK3sKK30KKworSW5zcGVjdG9ySW5wdXRBZ2Vu
dDo6fkluc3BlY3RvcklucHV0QWdlbnQoKQoreworfQorCit2b2lkIEluc3BlY3RvcklucHV0QWdl
bnQ6OmRpc3BhdGNoS2V5RXZlbnQoRXJyb3JTdHJpbmcqIGVycm9yLCBjb25zdCBTdHJpbmcmIHR5
cGUsIGNvbnN0IGludCogbW9kaWZpZXJzLCBjb25zdCBkb3VibGUqIHRpbWVzdGFtcCwgY29uc3Qg
U3RyaW5nKiB0ZXh0LCBjb25zdCBTdHJpbmcqIHVubW9kaWZpZWRUZXh0LCBjb25zdCBTdHJpbmcq
IGtleUlkZW50aWZpZXIsIGNvbnN0IGludCogd2luZG93c1ZpcnR1YWxLZXlDb2RlLCBjb25zdCBp
bnQqIG5hdGl2ZVZpcnR1YWxLZXlDb2RlLCBjb25zdCBpbnQqIG1hY0NoYXJDb2RlLCBjb25zdCBi
b29sKiBhdXRvUmVwZWF0LCBjb25zdCBib29sKiBpc0tleXBhZCwgY29uc3QgYm9vbCogaXNTeXN0
ZW1LZXkpCit7CisgICAgUGxhdGZvcm1FdmVudDo6VHlwZSBjb252ZXJ0ZWRUeXBlOworICAgIGlm
ICh0eXBlID09ICJrZXlEb3duIikKKyAgICAgICAgY29udmVydGVkVHlwZSA9IFBsYXRmb3JtRXZl
bnQ6OktleURvd247CisgICAgZWxzZSBpZiAodHlwZSA9PSAia2V5VXAiKQorICAgICAgICBjb252
ZXJ0ZWRUeXBlID0gUGxhdGZvcm1FdmVudDo6S2V5VXA7CisgICAgZWxzZSBpZiAodHlwZSA9PSAi
Y2hhciIpCisgICAgICAgIGNvbnZlcnRlZFR5cGUgPSBQbGF0Zm9ybUV2ZW50OjpDaGFyOworICAg
IGVsc2UKKyAgICAgICAgY29udmVydGVkVHlwZSA9IFBsYXRmb3JtRXZlbnQ6OlJhd0tleURvd247
CisKKyAgICBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgZXZlbnQoCisgICAgICAgIGNvbnZlcnRlZFR5
cGUsCisgICAgICAgIHRleHQgPyAqdGV4dCA6ICIiLAorICAgICAgICB1bm1vZGlmaWVkVGV4dCA/
ICp1bm1vZGlmaWVkVGV4dCA6ICIiLAorICAgICAgICBrZXlJZGVudGlmaWVyID8gKmtleUlkZW50
aWZpZXIgOiAiIiwKKyAgICAgICAgd2luZG93c1ZpcnR1YWxLZXlDb2RlID8gKndpbmRvd3NWaXJ0
dWFsS2V5Q29kZSA6IDAsCisgICAgICAgIG5hdGl2ZVZpcnR1YWxLZXlDb2RlID8gKm5hdGl2ZVZp
cnR1YWxLZXlDb2RlIDogMCwKKyAgICAgICAgbWFjQ2hhckNvZGUgPyAqbWFjQ2hhckNvZGUgOiAw
LAorICAgICAgICBhdXRvUmVwZWF0ID8gKmF1dG9SZXBlYXQgOiBmYWxzZSwKKyAgICAgICAgaXNL
ZXlwYWQgPyAqaXNLZXlwYWQgOiBmYWxzZSwKKyAgICAgICAgaXNTeXN0ZW1LZXkgPyAqaXNTeXN0
ZW1LZXkgOiBmYWxzZSwKKyAgICAgICAgc3RhdGljX2Nhc3Q8UGxhdGZvcm1FdmVudDo6TW9kaWZp
ZXJzPihtb2RpZmllcnMgPyAqbW9kaWZpZXJzIDogMCksCisgICAgICAgIHRpbWVzdGFtcCA/ICp0
aW1lc3RhbXAgOiBjdXJyZW50VGltZSgpKTsKKyAgICBtX3BhZ2UtPm1haW5GcmFtZSgpLT5ldmVu
dEhhbmRsZXIoKS0+a2V5RXZlbnQoZXZlbnQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBjNGMwOTU3ZWFkMzM3YWVi
MDQ4NWZiMTQ5MGUyZTUxNzM3OGExNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmgKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
SW5zcGVjdG9ySW5wdXRBZ2VudF9oCisjZGVmaW5lIEluc3BlY3RvcklucHV0QWdlbnRfaAorCisj
aWYgRU5BQkxFKElOU1BFQ1RPUikKKworI2luY2x1ZGUgIkluc3BlY3RvckJhc2VBZ2VudC5oIgor
CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworY2xhc3MgSW5zcGVjdG9yU3RhdGU7CitjbGFzcyBQYWdlOworCit0eXBlZGVmIFN0cmluZyBF
cnJvclN0cmluZzsKKworY2xhc3MgSW5zcGVjdG9ySW5wdXRBZ2VudCA6IHB1YmxpYyBJbnNwZWN0
b3JCYXNlQWdlbnQ8SW5zcGVjdG9ySW5wdXRBZ2VudD4sIHB1YmxpYyBJbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hlcjo6SW5wdXRDb21tYW5kSGFuZGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSW5zcGVjdG9ySW5wdXRBZ2VudCk7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8
SW5zcGVjdG9ySW5wdXRBZ2VudD4gY3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBpbnNwZWN0b3JTdGF0ZSwgUGFnZSogcGFnZSkK
KyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgSW5zcGVjdG9ySW5wdXRBZ2VudChp
bnN0cnVtZW50aW5nQWdlbnRzLCBpbnNwZWN0b3JTdGF0ZSwgcGFnZSkpOworICAgIH0KKworICAg
IH5JbnNwZWN0b3JJbnB1dEFnZW50KCk7CisKKyAgICAvLyBNZXRob2RzIGNhbGxlZCBmcm9tIHRo
ZSBmcm9udGVuZCBmb3Igc2ltdWxhdGluZyBpbnB1dC4KKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0
Y2hLZXlFdmVudChFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgaW50KiBt
b2RpZmllcnMsIGNvbnN0IGRvdWJsZSogdGltZXN0YW1wLCBjb25zdCBTdHJpbmcqIHRleHQsIGNv
bnN0IFN0cmluZyogdW5tb2RpZmllZFRleHQsIGNvbnN0IFN0cmluZyoga2V5SWRlbnRpZmllciwg
Y29uc3QgaW50KiB3aW5kb3dzVmlydHVhbEtleUNvZGUsIGNvbnN0IGludCogbmF0aXZlVmlydHVh
bEtleUNvZGUsIGNvbnN0IGludCogbWFjQ2hhckNvZGUsIGNvbnN0IGJvb2wqIGF1dG9SZXBlYXQs
IGNvbnN0IGJvb2wqIGlzS2V5cGFkLCBjb25zdCBib29sKiBpc1N5c3RlbUtleSk7CisKK3ByaXZh
dGU6CisgICAgSW5zcGVjdG9ySW5wdXRBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVj
dG9yU3RhdGUqLCBQYWdlKik7CisKKyAgICBQYWdlKiBtX3BhZ2U7Cit9OworCisjZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
IWRlZmluZWQoSW5zcGVjdG9ySW5wdXRBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDYxMWI2YTE0N2YyZDkxNjUy
NWQwMTA0OTZjNDE5OGZhYzU0ZTY0ZTkuLmQwZTE1NWYyY2M4ZWQ0MTBjZTJiMDUzMWNkZmE0YmM0
NjUyYjdiMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0xMS0zMCAgS2VuIEthbmlhICA8
a2thbmlhQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbnNwZWN0b3I6IEludHJvZHVjZSBJbnB1
dC5kaXNwYXRjaEtleUV2ZW50IGFuZCBET00uZm9jdXMgZm9yIHR5cGluZyBzaW11bGF0aW9uLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzNTMwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5wdXQuZGlz
cGF0Y2hLZXlFdmVudCBzaW1wbHkgY2FsbHMgRXZlbnRIYW5kbGVyOjprZXlFdmVudCB3aXRoIHRo
ZSBrZXkgZXZlbnQgZGF0YQorICAgICAgICBmcm9tIHRoZSBjb21tYW5kIHBhcmFtZXRlcnMuIFRo
ZSBjbGllbnQgd2lsbCBiZSByZXNwb25zaWJsZSBmb3IgcHJvdmlkaW5nIHByb3BlcgorICAgICAg
ICBldmVudHMgdG8gc2ltdWxhdGUgZGVzaXJlZCB0eXBpbmcgYmVoYXZpb3IuCisgICAgICAgIERP
TS5mb2N1cyBjYWxscyBmb2N1cyBvbiBhIGRvbSBlbGVtZW50LgorCisgICAgICAgICogaW5zcGVj
dG9yLXByb3RvY29sL2RvbS1mb2N1cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGlu
c3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMuaHRtbDogQWRkZWQuCisgICAgICAgICogaW5zcGVj
dG9yLXByb3RvY29sL2lucHV0L2Rpc3BhdGNoS2V5RXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvaW5wdXQvZGlzcGF0Y2hLZXlFdmVudC5odG1s
OiBBZGRlZC4KKwogMjAxMi0xMS0yOCAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIExheW91dCBUZXN0IHN2Zy9hbmltYXRpb25zL21wYXRoLXJlbW92
ZS1mcm9tLWRlcGVuZGVudHMtb24tZGVsZXRlLWNyYXNoLmh0bWwgaXMgZmxha3kKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS1mb2N1cy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjA3YjVjMjk5MWRlMjczZjM3ODVlYTIwMmMxZmI1NTJmODc1NjBmYwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorIAorZm9jdXNlZAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3VzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzg3YjU0ZDMx
ZDVlM2JiMmUzYjNhNjY5YTdlZjY4ODk4NjM3MzQ1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMuaHRtbApAQCAtMCwwICsxLDUxIEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2VzL3Byb3RvY29sLXRlc3QuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBm
dW5jdGlvbigpIHsKKyAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjc2Vjb25kIikuYWRkRXZl
bnRMaXN0ZW5lcigiZm9jdXMiLCBvbkZvY3VzKTsKKworICAgIGZ1bmN0aW9uIG9uRm9jdXMoKSB7
CisgICAgICAgIGxvZygiZm9jdXNlZCIpOworICAgIH0KK30pOworCitmdW5jdGlvbiB0ZXN0KCkK
K3sKKyAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00uZ2V0RG9jdW1lbnQiLCB7fSwg
b25Hb3REb2N1bWVudCk7CisKKyAgICBmdW5jdGlvbiBvbkdvdERvY3VtZW50KG1zZykgeworICAg
ICAgICBpZiAobXNnLmVycm9yKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhtc2cu
ZXJyb3IubWVzc2FnZSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHZhciBub2RlID0gbXNn
LnJlc3VsdC5yb290OworICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00ucXVl
cnlTZWxlY3RvciIsIHsgIm5vZGVJZCI6IG5vZGUubm9kZUlkLCAic2VsZWN0b3IiOiAiI3NlY29u
ZCIgfSwgb25RdWVyeVNlbGVjdG9yKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBvblF1ZXJ5U2Vs
ZWN0b3IobXNnKSB7CisgICAgICAgIGlmIChtc2cuZXJyb3IpIHsKKyAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QubG9nKG1zZy5lcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAg
ICAgdmFyIG5vZGUgPSBtc2cucmVzdWx0OworICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21t
YW5kKCJET00uZm9jdXMiLCB7ICJub2RlSWQiOiBub2RlLm5vZGVJZCB9LCBvbkZvY3VzKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBvbkZvY3VzKG1zZykgeworICAgICAgICBpZiAobXNnLmVycm9y
KQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2cobXNnLmVycm9yKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGlucHV0PjwvaW5wdXQ+Cis8aW5wdXQgaWQ9
InNlY29uZCI+PC9pbnB1dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci1wcm90b2NvbC9pbnB1dC9kaXNwYXRjaEtleUV2ZW50LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9pbnB1dC9kaXNwYXRjaEtleUV2ZW50
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iODNhN2E2YWJkNmI3MjkyYjFjOThmNzM2OWNiNWI2
NDhhZmExNGM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3Rv
Y29sL2lucHV0L2Rpc3BhdGNoS2V5RXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAK
Ky0tLS0tRXZlbnQtLS0tLQordHlwZToga2V5ZG93bgora2V5Q29kZTogNjUKK2tleUlkZW50aWZp
ZXI6IFUrMDA0MQorCistLS0tLUV2ZW50LS0tLS0KK3R5cGU6IGtleXByZXNzCitzaGlmdEtleQor
a2V5Q29kZTogNjUKK2NoYXJDb2RlOiA2NQorCistLS0tLUV2ZW50LS0tLS0KK3R5cGU6IGtleXVw
CitrZXlDb2RlOiA2NQora2V5SWRlbnRpZmllcjogVSswMDQxCisKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2lucHV0L2Rpc3BhdGNoS2V5RXZlbnQuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9pbnB1dC9kaXNwYXRjaEtleUV2ZW50Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzI2ZDcyZmRlYjA4ODMwNTI5MzJhOGIyMjMyMmI0YTY2NmJjMWMwNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9pbnB1dC9k
aXNwYXRjaEtleUV2ZW50Lmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVj
dG9yLXByb3RvY29sL3Jlc291cmNlcy9wcm90b2NvbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgbG9nRXZlbnQpOword2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXByZXNzIiwgbG9nRXZlbnQpOword2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoImtleXVwIiwgbG9nRXZlbnQpOworCitmdW5jdGlvbiBsb2dFdmVudChldmVu
dCkgeworICAgIGxvZygiLS0tLS1FdmVudC0tLS0tIik7CisgICAgbG9nKCJ0eXBlOiAiICsgZXZl
bnQudHlwZSk7CisgICAgaWYgKGV2ZW50LmFsdEtleSkKKyAgICAgICAgbG9nKCJhbHRLZXkiKTsK
KyAgICBpZiAoZXZlbnQuY3RybEtleSkKKyAgICAgICAgbG9nKCJjdHJsS2V5Iik7CisgICAgaWYg
KGV2ZW50Lm1ldGFLZXkpCisgICAgICAgIGxvZygibWV0YUtleSIpOworICAgIGlmIChldmVudC5z
aGlmdEtleSkKKyAgICAgICAgbG9nKCJzaGlmdEtleSIpOworICAgIGlmIChldmVudC5rZXlDb2Rl
KQorICAgICAgICBsb2coImtleUNvZGU6ICIgKyBldmVudC5rZXlDb2RlKTsKKyAgICBpZiAoZXZl
bnQua2V5SWRlbnRpZmllcikKKyAgICAgICAgbG9nKCJrZXlJZGVudGlmaWVyOiAiICsgZXZlbnQu
a2V5SWRlbnRpZmllcik7CisgICAgaWYgKGV2ZW50LmNoYXJDb2RlKQorICAgICAgICBsb2coImNo
YXJDb2RlOiAiICsgZXZlbnQuY2hhckNvZGUpOworICAgIGlmIChldmVudC50ZXh0KQorICAgICAg
ICBsb2coInRleHQ6ICIgKyBldmVudC50ZXh0KTsKKyAgICBsb2coIiIpOworfQorCitmdW5jdGlv
biB0ZXN0KCkKK3sKKyAgICB2YXIgZXZlbnRzID0gWworICAgICAgICB7CisgICAgICAgICAgICAi
dHlwZSI6ICJrZXlEb3duIiwKKyAgICAgICAgICAgICJ3aW5kb3dzVmlydHVhbEtleUNvZGUiOiA2
NSwgLy8gVktfQQorICAgICAgICAgICAgImtleUlkZW50aWZpZXIiOiAiVSswMDQxIiwKKyAgICAg
ICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgInR5cGUiOiAiY2hhciIsCisgICAgICAgICAg
ICAibW9kaWZpZXJzIjogOCwgLy8gc2hpZnQKKyAgICAgICAgICAgICJ0ZXh0IjogIkEiLAorICAg
ICAgICAgICAgInVubW9kaWZpZWRUZXh0IjogImEiLAorICAgICAgICB9LAorICAgICAgICB7Cisg
ICAgICAgICAgICAidHlwZSI6ICJrZXlVcCIsCisgICAgICAgICAgICAid2luZG93c1ZpcnR1YWxL
ZXlDb2RlIjogNjUsCisgICAgICAgICAgICAia2V5SWRlbnRpZmllciI6ICJVKzAwNDEiCisgICAg
ICAgIH0KKyAgICBdOworCisgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiSW5wdXQuZGlz
cGF0Y2hLZXlFdmVudCIsIGV2ZW50cy5zaGlmdCgpLCBjb250aW51ZVRlc3QpOworCisgICAgZnVu
Y3Rpb24gY29udGludWVUZXN0KG1zZykgeworICAgICAgICBpZiAobXNnLmVycm9yKSB7CisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiRXJyb3I6ICIgKyBtc2cuZXJyb3IubWVzc2FnZSk7
CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGV2ZW50cy5sZW5ndGgpCisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJJbnB1dC5kaXNwYXRjaEtleUV2ZW50Iiwg
ZXZlbnRzLnNoaWZ0KCksIGNvbnRpbnVlVGVzdCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177048</attachid>
            <date>2012-11-30 16:30:52 -0800</date>
            <delta_ts>2012-11-30 16:59:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103530-20121130162823.patch</filename>
            <type>text/plain</type>
            <size>30143</size>
            <attacher name="Ken Kania">kkania</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM4MDNlNDVkZTJkZWJj
OWRmNjY3ZWU5MTkyZDYxMDlkYWJlMzdiZS4uMzJjNDIzYjc0YmE0NTBjNjdlNzA2ZmE1ZGU5ODBi
ODY3ZTczOWRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTExLTMwICBLZW4g
S2FuaWEgIDxra2FuaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluc3BlY3RvcjogSW50cm9k
dWNlIElucHV0LmRpc3BhdGNoS2V5RXZlbnQgYW5kIERPTS5mb2N1cyBmb3IgdHlwaW5nIHNpbXVs
YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDM1MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bnB1dC5kaXNwYXRjaEtleUV2ZW50IHNpbXBseSBjYWxscyBFdmVudEhhbmRsZXI6OmtleUV2ZW50
IHdpdGggdGhlIGtleSBldmVudCBkYXRhCisgICAgICAgIGZyb20gdGhlIGNvbW1hbmQgcGFyYW1l
dGVycy4gVGhlIGNsaWVudCB3aWxsIGJlIHJlc3BvbnNpYmxlIGZvciBwcm92aWRpbmcgcHJvcGVy
CisgICAgICAgIGV2ZW50cyB0byBzaW11bGF0ZSBkZXNpcmVkIHR5cGluZyBiZWhhdmlvci4KKyAg
ICAgICAgRE9NLmZvY3VzIGNhbGxzIGZvY3VzIG9uIGEgZG9tIGVsZW1lbnQuCisKKyAgICAgICAg
VGVzdHM6IGluc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMuaHRtbAorICAgICAgICAgICAgICAg
aW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZlbnQuaHRtbAorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHA6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRPTUFnZW50Ojpmb2N1cyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpyZXNvbHZlTm9kZSk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckRPTUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JET01BZ2VudCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5wdXRBZ2VudDo6SW5z
cGVjdG9ySW5wdXRBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnB1dEFnZW50
Ojp+SW5zcGVjdG9ySW5wdXRBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnB1
dEFnZW50OjpkaXNwYXRjaEtleUV2ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
SW5wdXRBZ2VudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVj
dG9ySW5wdXRBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnB1dEFnZW50Ojpj
cmVhdGUpOgorCiAyMDEyLTExLTI4ICBaZW5vIEFsYmlzc2VyICA8emVub0B3ZWJraXQub3JnPgog
CiAgICAgICAgIFtRdF1bV2luXSBFbmFibGUgdXNhZ2Ugb2YgUVRXRUJLSVRfUExVR0lOX1BBVEgu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDNhNWQyMTczNTg0NWYwYmQ4YTU0NzNiYTZmYjBkMDlk
MGZmNTEyYjIuLmNmYjk4YmU1ODUyMGU1NzZjODNiZGM2OWFiMjNhZWI5OTZkODY5YjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC0xNTk0LDYgKzE1OTQsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKICAgICBpbnNwZWN0b3Iv
SW5zcGVjdG9ySGlzdG9yeS5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdl
bnQuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3BwCiAgICAgaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9y
TWVtb3J5QWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBkY2NiZjdiZWQyYmNlZDE5MjAyMDc4ZWE0NjEy
MTQ3OTgyNGVkN2FiLi41YzM0NGNlZTA0Yjg0YTE1OTdhZjBjYzRkODExZmZmNzQxYmE1YjMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTM3MzEsNiArMzczMSw4IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckhpc3Rv
cnkuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50
LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5j
cHAgXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNwcCBc
CisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuaCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQppbmRleCBjNTdkNThiMjBjYzVmNWU3MmVjODk1MWFiNjE2MmIzMTcwYWZmYTVlLi5mY2JlMzUw
MmU0ZDljZTNhNDViNWY3MjZhYThjYzNjMWM1YWMwZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTc2OSw2
ICs3NjksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbC5jcHAgXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3Bw
IFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5jcHAgXAorICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JJbnB1dEFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAgXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgXAog
ICAgIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
MDZmOTEyMDIxZDRmYzNiZWNiODQ1YTNhMjI2MmZmMjUzZTEwYTNkMi4uZDc5MGM5ZDM5YjExNGZi
MGM2NWExNjk4YmIxZWU1YzFkYmVmYTJmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjg3OCw2ICsy
ODc4LDggQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5oJywKICAg
ICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaCcsCisgICAgICAgICAg
ICAnaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3BwJywKKyAgICAgICAgICAgICdpbnNw
ZWN0b3IvSW5zcGVjdG9ySW5wdXRBZ2VudC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9y
TWVtb3J5QWdlbnQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBiMmQ1NzU2Y2M1YTYwMDVkNGRmOWNlZTc1MWZhOWQ4MmQ2
YWZmZWNjLi5lODFkNmVjNmE3NGJlNjgzM2E2NjUwMzRlMzk4MWFjOTQ3M2FkNjUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
NDc1LDYgKzE0NzUsOCBAQAogCQk0QjZGQTZGNzBDMzlFNEExMDAwODcwMTEgLyogU21hcnRSZXBs
YWNlQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NEI2RkE2RjYwQzM5RTRBMTAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZUNGLmNwcCAqLzsgfTsKIAkJ
NEI4QUY0QUEwQjFDRTAyQjAwNjg3NjkwIC8qIENsaXBib2FyZEFjY2Vzc1BvbGljeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI4QUY0QTkwQjFDRTAy
QjAwNjg3NjkwIC8qIENsaXBib2FyZEFjY2Vzc1BvbGljeS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRCQUU5NUIxMEIyRkE5Q0UwMEFFRDhBMCAv
KiBFZGl0b3JEZWxldGVBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDRCQUU5NUIwMEIyRkE5Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0
RDI3M0NGOTE2Njk0MjA4MDAyNTlDQTEgLyogSW5zcGVjdG9ySW5wdXRBZ2VudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RDI3M0NGNzE2Njk0MjA4
MDAyNTlDQTEgLyogSW5zcGVjdG9ySW5wdXRBZ2VudC5jcHAgKi87IH07CisJCTREMjczQ0ZBMTY2
OTQyMDgwMDI1OUNBMSAvKiBJbnNwZWN0b3JJbnB1dEFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RDI3M0NGODE2Njk0MjA4MDAyNTlDQTEgLyog
SW5zcGVjdG9ySW5wdXRBZ2VudC5oICovOyB9OwogCQk0RTE5NTkyMTBBMzlEQUJBMDAyMjBGRTUg
LyogTWVkaWFGZWF0dXJlTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNEUxOTU5MUYwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5h
bWVzLmNwcCAqLzsgfTsKIAkJNEUxOTU5MjIwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVy
ZU5hbWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
RTE5NTkyMDBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuaCAqLzsgfTsKIAkJ
NEUxOTU5MjkwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5MjMwQTM5REFDQzAwMjIwRkU1
IC8qIE1lZGlhUXVlcnkuY3BwICovOyB9OwpAQCAtODcyNCw2ICs4NzI2LDggQEAKIAkJNEI2RkE2
RjYwQzM5RTRBMTAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZUNGLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNtYXJ0UmVwbGFjZUNGLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNEI4QUY0QTkwQjFDRTAyQjAwNjg3NjkwIC8qIENsaXBib2FyZEFjY2Vz
c1BvbGljeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcGJvYXJkQWNj
ZXNzUG9saWN5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCQUU5NUIwMEIyRkE5
Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRWRpdG9yRGVsZXRlQWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTREMjczQ0Y3MTY2OTQyMDgwMDI1OUNBMSAvKiBJbnNwZWN0b3JJbnB1dEFnZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvcklucHV0QWdl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0RDI3M0NGODE2Njk0MjA4MDAy
NTlDQTEgLyogSW5zcGVjdG9ySW5wdXRBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJbnNwZWN0b3JJbnB1dEFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTRFMTk1OTFGMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFGZWF0dXJlTmFtZXMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0RTE5NTkyMDBBMzlEQUJBMDAyMjBGRTUg
LyogTWVkaWFGZWF0dXJlTmFtZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE1lZGlhRmVhdHVyZU5hbWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRFMTk1
OTIzMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVF1ZXJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE0ODY5LDYgKzE0ODczLDggQEAKIAkJCQk3QTU0ODU3RTE0RTAyRDUxMDA2QUUw
NUEgLyogSW5zcGVjdG9ySGlzdG9yeS5oICovLAogCQkJCTdBQ0Q4OEQxMTRDMDhCRDYwMDg0RURE
MiAvKiBJbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAgKi8sCiAJCQkJN0FDRDg4RDIxNEMwOEJE
NjAwODRFREQyIC8qIEluc3BlY3RvckluZGV4ZWREQkFnZW50LmggKi8sCisJCQkJNEQyNzNDRjcx
NjY5NDIwODAwMjU5Q0ExIC8qIEluc3BlY3RvcklucHV0QWdlbnQuY3BwICovLAorCQkJCTREMjcz
Q0Y4MTY2OTQyMDgwMDI1OUNBMSAvKiBJbnNwZWN0b3JJbnB1dEFnZW50LmggKi8sCiAJCQkJMjBE
NjI5MjQxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgKi8s
CiAJCQkJMjBENjI5MjUxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oICovLAogCQkJCTdBQTUxREQzMTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlB
Z2VudC5jcHAgKi8sCkBAIC0yNDAzOCw2ICsyNDA0NCw3IEBACiAJCQkJN0EwRTc3MEYxMEMwMEE4
ODAwQTAyNzZFIC8qIEluc3BlY3RvckZyb250ZW5kSG9zdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0E1NDg1ODAxNEUwMkQ1MTAwNkFFMDVBIC8qIEluc3BlY3Rvckhpc3RvcnkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTdBQ0Q4OEQ0MTRDMDhCRDYwMDg0RUREMiAvKiBJbnNwZWN0b3JJbmRleGVkREJB
Z2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNEQyNzNDRkExNjY5NDIwODAwMjU5Q0ExIC8qIElu
c3BlY3RvcklucHV0QWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTIwRDYyOTI3MTI1MzY5MEIw
MDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTdBQTUxREQ2MTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlBZ2VudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNEY2RkRENjUxMzQxREVERDAwMUY4RUUzIC8qIEluc3BlY3RvclBhZ2VB
Z2VudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzI0Niw2ICsyNzI1Myw3IEBACiAJCQkJN0EwRTc3
MEUxMEMwMEE4ODAwQTAyNzZFIC8qIEluc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk3QTU0ODU3RjE0RTAyRDUxMDA2QUUwNUEgLyogSW5zcGVjdG9ySGlzdG9yeS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUNEODhEMzE0QzA4QkQ2MDA4NEVERDIgLyogSW5zcGVj
dG9ySW5kZXhlZERCQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNEQyNzNDRjkxNjY5NDIw
ODAwMjU5Q0ExIC8qIEluc3BlY3RvcklucHV0QWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MjBENjI5MjYxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk3QUE1MURENTE0ODUwNkE5MDBBRDI3NTIgLyogSW5zcGVjdG9y
TWVtb3J5QWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M1MjJENEIxNUI0NzdFODAwOUI3
Qzk1IC8qIEluc3BlY3Rvck92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggNjM1ZmE5NDE1MDViMTgzYmVkY2NlYzg2Nzg1
OTQ0MTJjNmVhYjJjMy4uYjBiOGE2OTAzMWYzMzI1Y2Y0OGY3YzYzYWM5M2ViMTQ1YWI2ZDljMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMTkzNSw2ICsxOTM1
LDE0IEBACiAgICAgICAgICAgICAgICAgIm5hbWUiOiAibWFya1VuZG9hYmxlU3RhdGUiLAogICAg
ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNYXJrcyBsYXN0IHVuZG9hYmxlIHN0YXRlLiIs
CiAgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUKKyAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZm9jdXMiLAorICAgICAgICAgICAgICAg
ICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIs
ICIkcmVmIjogIkRPTS5Ob2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiSWQgb2YgdGhlIG5vZGUgdG8g
Zm9jdXMuIiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRp
b24iOiAiRm9jdXNlcyB0aGUgZ2l2ZW4gZWxlbWVudC4iLAorICAgICAgICAgICAgICAgICJoaWRk
ZW4iOiB0cnVlCiAgICAgICAgICAgICB9CiAgICAgICAgIF0sCiAgICAgICAgICJldmVudHMiOiBb
CkBAIC0zMjQxLDUgKzMyNDksMzEgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgXSwKICAgICAg
ICAgImV2ZW50cyI6IFtdCisgICAgfSwKKyAgICB7CisgICAgICAgICJkb21haW4iOiAiSW5wdXQi
LAorICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKKyAgICAgICAgInR5cGVzIjogW10sCisgICAgICAg
ICJjb21tYW5kcyI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJk
aXNwYXRjaEtleUV2ZW50IiwKKyAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0eXBlIiwgInR5cGUiOiAic3RyaW5nIiwgImVudW0i
OiBbImtleURvd24iLCAia2V5VXAiLCAicmF3S2V5RG93biIsICJjaGFyIl0sICJkZXNjcmlwdGlv
biI6ICJUeXBlIG9mIHRoZSBrZXkgZXZlbnQuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogIm1vZGlmaWVycyIsICJ0eXBlIjogImludGVnZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiQml0IGZpZWxkIHJlcHJlc2VudGluZyBwcmVzc2VkIG1vZGlmaWVyIGtl
eXMuIEFsdD0xLCBDdHJsPTIsIE1ldGEvQ29tbWFuZD00LCBTaGlmdD04IChkZWZhdWx0OiAwKS4i
IH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAi
bnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRpbWUgYXQgd2hpY2gg
dGhlIGV2ZW50IG9jY3VycmVkLiBNZWFzdXJlZCBpbiBVVEMgdGltZSBpbiBzZWNvbmRzIHNpbmNl
IEphbnVhcnkgMSwgMTk3MCAoZGVmYXVsdDogY3VycmVudCB0aW1lKS4iIH0sCisgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAidGV4dCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6
IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUZXh0IGFzIGdlbmVyYXRlZCBieSBwcm9jZXNzaW5nIGEg
dmlydHVhbCBrZXkgY29kZSB3aXRoIGEga2V5Ym9hcmQgbGF5b3V0LiBOb3QgbmVlZGVkIGZvciBm
b3IgPGNvZGU+a2V5VXA8L2NvZGU+IGFuZCA8Y29kZT5yYXdLZXlEb3duPC9jb2RlPiBldmVudHMg
KGRlZmF1bHQ6IFwiXCIpIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInVubW9k
aWZpZWRUZXh0IiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIlRleHQgdGhhdCB3b3VsZCBoYXZlIGJlZW4gZ2VuZXJhdGVkIGJ5IHRoZSBrZXlib2Fy
ZCBpZiBubyBtb2RpZmllcnMgd2VyZSBwcmVzc2VkIChleGNlcHQgZm9yIHNoaWZ0KS4gVXNlZnVs
IGZvciBzaG9ydGN1dCAoYWNjZWxlcmF0b3IpIGtleSBoYW5kbGluZyAoZGVmYXVsdDogXCJcIiku
IiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImtleUlkZW50aWZpZXIiLCAidHlw
ZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVW5pcXVlIGtl
eSBpZGVudGlmaWVyIChlLmcuLCAnVSswMDQxJykgKGRlZmF1bHQ6IFwiXCIpLiIgfSwKKyAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ3aW5kb3dzVmlydHVhbEtleUNvZGUiLCAidHlwZSI6
ICJpbnRlZ2VyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldpbmRvd3Mgdmly
dHVhbCBrZXkgY29kZSAoZGVmYXVsdDogMCkuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogIm5hdGl2ZVZpcnR1YWxLZXlDb2RlIiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25h
bCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJOYXRpdmUgdmlydHVhbCBrZXkgY29kZSAoZGVmYXVs
dDogMCkuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm1hY0NoYXJDb2RlIiwg
InR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJNYWMg
Y2hhcmFjdGVyIGNvZGUgKGRlZmF1bHQ6IDApLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJhdXRvUmVwZWF0IiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUs
ICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRoZSBldmVudCB3YXMgZ2VuZXJhdGVkIGZyb20gYXV0
byByZXBlYXQgKGRlZmF1bHQ6IGZhbHNlKS4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiaXNLZXlwYWQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIGV2ZW50IHdhcyBnZW5lcmF0ZWQgZnJvbSB0aGUga2V5
cGFkIChkZWZhdWx0OiBmYWxzZSkuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImlzU3lzdGVtS2V5IiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNj
cmlwdGlvbiI6ICJXaGV0aGVyIHRoZSBldmVudCB3YXMgYSBzeXN0ZW0ga2V5IGV2ZW50IChkZWZh
dWx0OiBmYWxzZSkuIiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiRGlzcGF0Y2hlcyBhIGtleSBldmVudCB0byB0aGUgcGFnZS4iCisgICAgICAg
ICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVudHMiOiBbXQogICAgIH1dCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAppbmRleCBkMTlh
ZDJlMGEwMjNiOTlhODY0NDU2N2EzMTRmNzRhMWRmZjcwNzFmLi5jOWE4MGFkZjI2YTk2YjFlYzA1
Y2I0YjNjYTc3Y2I5ZTVjZTFlYmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTU3LDYgKzU3LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0
b3JGcm9udGVuZEhvc3QuY3BwIgogI2luY2x1ZGUgIkluc3BlY3Rvckhpc3RvcnkuY3BwIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJ
bnB1dEFnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIgog
I2luY2x1ZGUgIkluc3BlY3Rvck1lbW9yeUFnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JP
dmVybGF5LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcAppbmRleCBjYTkyYzRhZTIzNmQwNWFlM2JmODQzZGY4ZGFlNzg4YTM2YTA0NzVl
Li5iYTVjZTM1MzkzYTA2Y2ExZGZkZjY3YmU4M2MzZjA1NjljMGZmZDY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC01NSw2ICs1
NSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JGcm9udGVuZENsaWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckluZGV4ZWREQkFnZW50Lmgi
CisjaW5jbHVkZSAiSW5zcGVjdG9ySW5wdXRBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3Rvck1lbW9yeUFnZW50LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgpAQCAtMTUxLDYgKzE1Miw4IEBAIEluc3BlY3RvckNv
bnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50
KiBpbnNwZWN0b3JDCiAKICAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yQ2FudmFzQWdlbnQ6
OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCksIHBhZ2Us
IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKSk7CiAKKyAgICBtX2FnZW50cy5hcHBlbmQo
SW5zcGVjdG9ySW5wdXRBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwg
bV9zdGF0ZS5nZXQoKSwgcGFnZSkpOworCiAgICAgQVNTRVJUX0FSRyhpbnNwZWN0b3JDbGllbnQs
IGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVk
U2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9yQWdlbnQKICAgICAgICAgLCBjb25zb2xlQWdl
bnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2Vu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmlu
ZGV4IDFiMDg5MzQ3MjFhMmZlZDM5YzMyYmEyNDAwZTMwODA3ODY0ZDEzM2MuLmNmMjgwYmIyYWIw
Y2QzMTg1ZWI1ZGU3ODZlOWVhN2Y2OWFiOGFjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtNTIsNiArNTIsNyBAQAogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50VHlwZS5oIgorI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50U2hh
ZG93LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudENvbnRleHQuaCIKQEAg
LTExNDksMTcgKzExNTAsMjkgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6bWFya1VuZG9hYmxl
U3RhdGUoRXJyb3JTdHJpbmcqKQogICAgIG1faGlzdG9yeS0+bWFya1VuZG9hYmxlU3RhdGUoKTsK
IH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVzb2x2ZU5vZGUoRXJyb3JTdHJpbmcqIGVy
cm9yLCBpbnQgbm9kZUlkLCBjb25zdCBTdHJpbmcqIGNvbnN0IG9iamVjdEdyb3VwLCBSZWZQdHI8
VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCkKK3ZvaWQgSW5zcGVj
dG9yRE9NQWdlbnQ6OmZvY3VzKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50IG5vZGVJZCkK
K3sKKyAgICBFbGVtZW50KiBlbGVtZW50ID0gYXNzZXJ0RWxlbWVudChlcnJvclN0cmluZywgbm9k
ZUlkKTsKKyAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIWVsZW1l
bnQtPmlzRm9jdXNhYmxlKCkpIHsKKyAgICAgICAgKmVycm9yU3RyaW5nID0gIkVsZW1lbnQgaXMg
bm90IGZvY3VzYWJsZSI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZWxlbWVudC0+Zm9j
dXMoKTsKK30KKwordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cmVzb2x2ZU5vZGUoRXJyb3JTdHJp
bmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBjb25zdCBTdHJpbmcqIGNvbnN0IG9iamVjdEdy
b3VwLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90ZU9iamVjdD4mIHJlc3VsdCkK
IHsKICAgICBTdHJpbmcgb2JqZWN0R3JvdXBOYW1lID0gb2JqZWN0R3JvdXAgPyAqb2JqZWN0R3Jv
dXAgOiAiIjsKICAgICBOb2RlKiBub2RlID0gbm9kZUZvcklkKG5vZGVJZCk7CiAgICAgaWYgKCFu
b2RlKSB7Ci0gICAgICAgICplcnJvciA9ICJObyBub2RlIHdpdGggZ2l2ZW4gaWQgZm91bmQiOwor
ICAgICAgICAqZXJyb3JTdHJpbmcgPSAiTm8gbm9kZSB3aXRoIGdpdmVuIGlkIGZvdW5kIjsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJl
bW90ZU9iamVjdD4gb2JqZWN0ID0gcmVzb2x2ZU5vZGUobm9kZSwgb2JqZWN0R3JvdXBOYW1lKTsK
ICAgICBpZiAoIW9iamVjdCkgewotICAgICAgICAqZXJyb3IgPSAiTm9kZSB3aXRoIGdpdmVuIGlk
IGRvZXMgbm90IGJlbG9uZyB0byB0aGUgZG9jdW1lbnQiOworICAgICAgICAqZXJyb3JTdHJpbmcg
PSAiTm9kZSB3aXRoIGdpdmVuIGlkIGRvZXMgbm90IGJlbG9uZyB0byB0aGUgZG9jdW1lbnQiOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogICAgIHJlc3VsdCA9IG9iamVjdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggM2I3MjY1MjgzMWIxMWNi
MWM0M2ZlMWI4MWRmMjY5MGRjYWJiMzQyZC4uYzA4M2RiOWU4Y2M1OWYwNjNmNDgwOTZiNDRhNjkx
NjI4NjZjZjIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFn
ZW50LmgKQEAgLTE0Nyw2ICsxNDcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHVuZG8o
RXJyb3JTdHJpbmcqKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVkbyhFcnJvclN0cmluZyopOwogICAg
IHZpcnR1YWwgdm9pZCBtYXJrVW5kb2FibGVTdGF0ZShFcnJvclN0cmluZyopOworICAgIHZpcnR1
YWwgdm9pZCBmb2N1cyhFcnJvclN0cmluZyosIGludCBub2RlSWQpOwogCiAgICAgdm9pZCBnZXRF
dmVudExpc3RlbmVycyhOb2RlKiwgVmVjdG9yPEV2ZW50TGlzdGVuZXJJbmZvPiYgbGlzdGVuZXJz
QXJyYXksIGJvb2wgaW5jbHVkZUFuY2VzdG9ycyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjgzNGFhNzA2ZTc0
MzAyZDQzZGQ3NTBmOWVlZTgyNjA4ODQxNGQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3BwCkBAIC0wLDAgKzEsOTIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCisjaW5jbHVkZSAi
SW5zcGVjdG9ySW5wdXRBZ2VudC5oIgorCisjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCisjaW5j
bHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1FdmVu
dC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIgorCisjaW5jbHVkZSA8d3Rm
L0N1cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworSW5zcGVjdG9ySW5wdXRBZ2VudDo6SW5zcGVjdG9ySW5wdXRBZ2Vu
dChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0
ZSogaW5zcGVjdG9yU3RhdGUsIFBhZ2UqIHBhZ2UpCisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8
SW5zcGVjdG9ySW5wdXRBZ2VudD4oIklucHV0IiwgaW5zdHJ1bWVudGluZ0FnZW50cywgaW5zcGVj
dG9yU3RhdGUpCisgICAgLCBtX3BhZ2UocGFnZSkKK3sKK30KKworSW5zcGVjdG9ySW5wdXRBZ2Vu
dDo6fkluc3BlY3RvcklucHV0QWdlbnQoKQoreworfQorCit2b2lkIEluc3BlY3RvcklucHV0QWdl
bnQ6OmRpc3BhdGNoS2V5RXZlbnQoRXJyb3JTdHJpbmcqIGVycm9yLCBjb25zdCBTdHJpbmcmIHR5
cGUsIGNvbnN0IGludCogbW9kaWZpZXJzLCBjb25zdCBkb3VibGUqIHRpbWVzdGFtcCwgY29uc3Qg
U3RyaW5nKiB0ZXh0LCBjb25zdCBTdHJpbmcqIHVubW9kaWZpZWRUZXh0LCBjb25zdCBTdHJpbmcq
IGtleUlkZW50aWZpZXIsIGNvbnN0IGludCogd2luZG93c1ZpcnR1YWxLZXlDb2RlLCBjb25zdCBp
bnQqIG5hdGl2ZVZpcnR1YWxLZXlDb2RlLCBjb25zdCBpbnQqIG1hY0NoYXJDb2RlLCBjb25zdCBi
b29sKiBhdXRvUmVwZWF0LCBjb25zdCBib29sKiBpc0tleXBhZCwgY29uc3QgYm9vbCogaXNTeXN0
ZW1LZXkpCit7CisgICAgUGxhdGZvcm1FdmVudDo6VHlwZSBjb252ZXJ0ZWRUeXBlOworICAgIGlm
ICh0eXBlID09ICJrZXlEb3duIikKKyAgICAgICAgY29udmVydGVkVHlwZSA9IFBsYXRmb3JtRXZl
bnQ6OktleURvd247CisgICAgZWxzZSBpZiAodHlwZSA9PSAia2V5VXAiKQorICAgICAgICBjb252
ZXJ0ZWRUeXBlID0gUGxhdGZvcm1FdmVudDo6S2V5VXA7CisgICAgZWxzZSBpZiAodHlwZSA9PSAi
Y2hhciIpCisgICAgICAgIGNvbnZlcnRlZFR5cGUgPSBQbGF0Zm9ybUV2ZW50OjpDaGFyOworICAg
IGVsc2UgaWYgKHR5cGUgPT0gInJhd0tleURvd24iKQorICAgICAgICBjb252ZXJ0ZWRUeXBlID0g
UGxhdGZvcm1FdmVudDo6UmF3S2V5RG93bjsKKyAgICBlbHNlIHsKKyAgICAgICAgKmVycm9yID0g
IlVucmVjb2duaXplZCB0eXBlOiAiICsgdHlwZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCBldmVudCgKKyAgICAgICAgY29udmVydGVkVHlwZSwK
KyAgICAgICAgdGV4dCA/ICp0ZXh0IDogIiIsCisgICAgICAgIHVubW9kaWZpZWRUZXh0ID8gKnVu
bW9kaWZpZWRUZXh0IDogIiIsCisgICAgICAgIGtleUlkZW50aWZpZXIgPyAqa2V5SWRlbnRpZmll
ciA6ICIiLAorICAgICAgICB3aW5kb3dzVmlydHVhbEtleUNvZGUgPyAqd2luZG93c1ZpcnR1YWxL
ZXlDb2RlIDogMCwKKyAgICAgICAgbmF0aXZlVmlydHVhbEtleUNvZGUgPyAqbmF0aXZlVmlydHVh
bEtleUNvZGUgOiAwLAorICAgICAgICBtYWNDaGFyQ29kZSA/ICptYWNDaGFyQ29kZSA6IDAsCisg
ICAgICAgIGF1dG9SZXBlYXQgPyAqYXV0b1JlcGVhdCA6IGZhbHNlLAorICAgICAgICBpc0tleXBh
ZCA/ICppc0tleXBhZCA6IGZhbHNlLAorICAgICAgICBpc1N5c3RlbUtleSA/ICppc1N5c3RlbUtl
eSA6IGZhbHNlLAorICAgICAgICBzdGF0aWNfY2FzdDxQbGF0Zm9ybUV2ZW50OjpNb2RpZmllcnM+
KG1vZGlmaWVycyA/ICptb2RpZmllcnMgOiAwKSwKKyAgICAgICAgdGltZXN0YW1wID8gKnRpbWVz
dGFtcCA6IGN1cnJlbnRUaW1lKCkpOworICAgIG1fcGFnZS0+bWFpbkZyYW1lKCktPmV2ZW50SGFu
ZGxlcigpLT5rZXlFdmVudChldmVudCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5wdXRBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvcklucHV0QWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMGM0YzA5NTdlYWQzMzdhZWIwNDg1
ZmIxNDkwZTJlNTE3Mzc4YTE0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuaApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJbnNw
ZWN0b3JJbnB1dEFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9ySW5wdXRBZ2VudF9oCisKKyNpZiBF
TkFCTEUoSU5TUEVDVE9SKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yQmFzZUFnZW50LmgiCisKKyNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgor
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7Citj
bGFzcyBJbnNwZWN0b3JTdGF0ZTsKK2NsYXNzIFBhZ2U7CisKK3R5cGVkZWYgU3RyaW5nIEVycm9y
U3RyaW5nOworCitjbGFzcyBJbnNwZWN0b3JJbnB1dEFnZW50IDogcHVibGljIEluc3BlY3RvckJh
c2VBZ2VudDxJbnNwZWN0b3JJbnB1dEFnZW50PiwgcHVibGljIEluc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVyOjpJbnB1dENvbW1hbmRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bnNwZWN0b3JJbnB1dEFnZW50KTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxJbnNw
ZWN0b3JJbnB1dEFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIGluc3BlY3RvclN0YXRlLCBQYWdlKiBwYWdlKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JJbnB1dEFnZW50KGluc3Ry
dW1lbnRpbmdBZ2VudHMsIGluc3BlY3RvclN0YXRlLCBwYWdlKSk7CisgICAgfQorCisgICAgfklu
c3BlY3RvcklucHV0QWdlbnQoKTsKKworICAgIC8vIE1ldGhvZHMgY2FsbGVkIGZyb20gdGhlIGZy
b250ZW5kIGZvciBzaW11bGF0aW5nIGlucHV0LgorICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEtl
eUV2ZW50KEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBpbnQqIG1vZGlm
aWVycywgY29uc3QgZG91YmxlKiB0aW1lc3RhbXAsIGNvbnN0IFN0cmluZyogdGV4dCwgY29uc3Qg
U3RyaW5nKiB1bm1vZGlmaWVkVGV4dCwgY29uc3QgU3RyaW5nKiBrZXlJZGVudGlmaWVyLCBjb25z
dCBpbnQqIHdpbmRvd3NWaXJ0dWFsS2V5Q29kZSwgY29uc3QgaW50KiBuYXRpdmVWaXJ0dWFsS2V5
Q29kZSwgY29uc3QgaW50KiBtYWNDaGFyQ29kZSwgY29uc3QgYm9vbCogYXV0b1JlcGVhdCwgY29u
c3QgYm9vbCogaXNLZXlwYWQsIGNvbnN0IGJvb2wqIGlzU3lzdGVtS2V5KTsKKworcHJpdmF0ZToK
KyAgICBJbnNwZWN0b3JJbnB1dEFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JT
dGF0ZSosIFBhZ2UqKTsKKworICAgIFBhZ2UqIG1fcGFnZTsKK307CisKKyNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyAhZGVm
aW5lZChJbnNwZWN0b3JJbnB1dEFnZW50X2gpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjExYjZhMTQ3ZjJkOTE2NTI1ZDAx
MDQ5NmM0MTk4ZmFjNTRlNjRlOS4uZDBlMTU1ZjJjYzhlZDQxMGNlMmIwNTMxY2RmYTRiYzQ2NTJi
N2IxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTExLTMwICBLZW4gS2FuaWEgIDxra2Fu
aWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluc3BlY3RvcjogSW50cm9kdWNlIElucHV0LmRp
c3BhdGNoS2V5RXZlbnQgYW5kIERPTS5mb2N1cyBmb3IgdHlwaW5nIHNpbXVsYXRpb24uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM1MzAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnB1dC5kaXNwYXRj
aEtleUV2ZW50IHNpbXBseSBjYWxscyBFdmVudEhhbmRsZXI6OmtleUV2ZW50IHdpdGggdGhlIGtl
eSBldmVudCBkYXRhCisgICAgICAgIGZyb20gdGhlIGNvbW1hbmQgcGFyYW1ldGVycy4gVGhlIGNs
aWVudCB3aWxsIGJlIHJlc3BvbnNpYmxlIGZvciBwcm92aWRpbmcgcHJvcGVyCisgICAgICAgIGV2
ZW50cyB0byBzaW11bGF0ZSBkZXNpcmVkIHR5cGluZyBiZWhhdmlvci4KKyAgICAgICAgRE9NLmZv
Y3VzIGNhbGxzIGZvY3VzIG9uIGEgZG9tIGVsZW1lbnQuCisKKyAgICAgICAgKiBpbnNwZWN0b3It
cHJvdG9jb2wvZG9tLWZvY3VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVj
dG9yLXByb3RvY29sL2RvbS1mb2N1cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
cHJvdG9jb2wvaW5wdXQvZGlzcGF0Y2hLZXlFdmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9pbnB1dC9kaXNwYXRjaEtleUV2ZW50Lmh0bWw6IEFk
ZGVkLgorCiAyMDEyLTExLTI4ICBTdGVwaGVuIENoZW5uZXkgIDxzY2hlbm5leUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgTGF5b3V0IFRlc3Qgc3ZnL2FuaW1hdGlvbnMvbXBhdGgtcmVtb3ZlLWZy
b20tZGVwZW5kZW50cy1vbi1kZWxldGUtY3Jhc2guaHRtbCBpcyBmbGFreQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS1mb2N1cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3VzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMDdiNWMyOTkxZGUyNzNmMzc4NWVhMjAyYzFmYjU1MmY4NzU2MGZjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS1mb2N1cy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisgCitmb2N1c2VkCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODdiNTRkMzFkNWUz
YmIyZTNiM2E2NjlhN2VmNjg4OTg2MzczNDViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS1mb2N1cy5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0
aW9uKCkgeworICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzZWNvbmQiKS5hZGRFdmVudExp
c3RlbmVyKCJmb2N1cyIsIG9uRm9jdXMpOworCisgICAgZnVuY3Rpb24gb25Gb2N1cygpIHsKKyAg
ICAgICAgbG9nKCJmb2N1c2VkIik7CisgICAgfQorfSk7CisKK2Z1bmN0aW9uIHRlc3QoKQorewor
ICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5nZXREb2N1bWVudCIsIHt9LCBvbkdv
dERvY3VtZW50KTsKKworICAgIGZ1bmN0aW9uIG9uR290RG9jdW1lbnQobXNnKSB7CisgICAgICAg
IGlmIChtc2cuZXJyb3IpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKG1zZy5lcnJv
ci5tZXNzYWdlKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdmFyIG5vZGUgPSBtc2cucmVz
dWx0LnJvb3Q7CisgICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5xdWVyeVNl
bGVjdG9yIiwgeyAibm9kZUlkIjogbm9kZS5ub2RlSWQsICJzZWxlY3RvciI6ICIjc2Vjb25kIiB9
LCBvblF1ZXJ5U2VsZWN0b3IpOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uUXVlcnlTZWxlY3Rv
cihtc2cpIHsKKyAgICAgICAgaWYgKG1zZy5lcnJvcikgeworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2cobXNnLmVycm9yLm1lc3NhZ2UpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB2
YXIgbm9kZSA9IG1zZy5yZXN1bHQ7CisgICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQo
IkRPTS5mb2N1cyIsIHsgIm5vZGVJZCI6IG5vZGUubm9kZUlkIH0sIG9uRm9jdXMpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIG9uRm9jdXMobXNnKSB7CisgICAgICAgIGlmIChtc2cuZXJyb3IpCisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhtc2cuZXJyb3IpOworICAgICAgICBJbnNwZWN0
b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8aW5wdXQ+PC9pbnB1dD4KKzxpbnB1dCBpZD0ic2Vj
b25kIj48L2lucHV0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLXByb3RvY29sL2lucHV0L2Rpc3BhdGNoS2V5RXZlbnQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2lucHV0L2Rpc3BhdGNoS2V5RXZlbnQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4M2E3YTZhYmQ2YjcyOTJiMWM5OGY3MzY5Y2I1YjY0OGFm
YTE0YzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wv
aW5wdXQvZGlzcGF0Y2hLZXlFdmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorLS0t
LS1FdmVudC0tLS0tCit0eXBlOiBrZXlkb3duCitrZXlDb2RlOiA2NQora2V5SWRlbnRpZmllcjog
VSswMDQxCisKKy0tLS0tRXZlbnQtLS0tLQordHlwZToga2V5cHJlc3MKK3NoaWZ0S2V5CitrZXlD
b2RlOiA2NQorY2hhckNvZGU6IDY1CisKKy0tLS0tRXZlbnQtLS0tLQordHlwZToga2V5dXAKK2tl
eUNvZGU6IDY1CitrZXlJZGVudGlmaWVyOiBVKzAwNDEKKworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvaW5wdXQvZGlzcGF0Y2hLZXlFdmVudC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2lucHV0L2Rpc3BhdGNoS2V5RXZlbnQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43MjZkNzJmZGViMDg4MzA1MjkzMmE4YjIyMzIyYjRhNjY2YmMxYzA1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2lucHV0L2Rpc3Bh
dGNoS2V5RXZlbnQuaHRtbApAQCAtMCwwICsxLDczIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3It
cHJvdG9jb2wvcmVzb3VyY2VzL3Byb3RvY29sLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
Kword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCBsb2dFdmVudCk7Cit3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigia2V5cHJlc3MiLCBsb2dFdmVudCk7Cit3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigia2V5dXAiLCBsb2dFdmVudCk7CisKK2Z1bmN0aW9uIGxvZ0V2ZW50KGV2ZW50KSB7
CisgICAgbG9nKCItLS0tLUV2ZW50LS0tLS0iKTsKKyAgICBsb2coInR5cGU6ICIgKyBldmVudC50
eXBlKTsKKyAgICBpZiAoZXZlbnQuYWx0S2V5KQorICAgICAgICBsb2coImFsdEtleSIpOworICAg
IGlmIChldmVudC5jdHJsS2V5KQorICAgICAgICBsb2coImN0cmxLZXkiKTsKKyAgICBpZiAoZXZl
bnQubWV0YUtleSkKKyAgICAgICAgbG9nKCJtZXRhS2V5Iik7CisgICAgaWYgKGV2ZW50LnNoaWZ0
S2V5KQorICAgICAgICBsb2coInNoaWZ0S2V5Iik7CisgICAgaWYgKGV2ZW50LmtleUNvZGUpCisg
ICAgICAgIGxvZygia2V5Q29kZTogIiArIGV2ZW50LmtleUNvZGUpOworICAgIGlmIChldmVudC5r
ZXlJZGVudGlmaWVyKQorICAgICAgICBsb2coImtleUlkZW50aWZpZXI6ICIgKyBldmVudC5rZXlJ
ZGVudGlmaWVyKTsKKyAgICBpZiAoZXZlbnQuY2hhckNvZGUpCisgICAgICAgIGxvZygiY2hhckNv
ZGU6ICIgKyBldmVudC5jaGFyQ29kZSk7CisgICAgaWYgKGV2ZW50LnRleHQpCisgICAgICAgIGxv
ZygidGV4dDogIiArIGV2ZW50LnRleHQpOworICAgIGxvZygiIik7Cit9CisKK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIHZhciBldmVudHMgPSBbCisgICAgICAgIHsKKyAgICAgICAgICAgICJ0eXBl
IjogImtleURvd24iLAorICAgICAgICAgICAgIndpbmRvd3NWaXJ0dWFsS2V5Q29kZSI6IDY1LCAv
LyBWS19BCisgICAgICAgICAgICAia2V5SWRlbnRpZmllciI6ICJVKzAwNDEiLAorICAgICAgICB9
LAorICAgICAgICB7CisgICAgICAgICAgICAidHlwZSI6ICJjaGFyIiwKKyAgICAgICAgICAgICJt
b2RpZmllcnMiOiA4LCAvLyBzaGlmdAorICAgICAgICAgICAgInRleHQiOiAiQSIsCisgICAgICAg
ICAgICAidW5tb2RpZmllZFRleHQiOiAiYSIsCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAg
ICAgICAgICJ0eXBlIjogImtleVVwIiwKKyAgICAgICAgICAgICJ3aW5kb3dzVmlydHVhbEtleUNv
ZGUiOiA2NSwKKyAgICAgICAgICAgICJrZXlJZGVudGlmaWVyIjogIlUrMDA0MSIKKyAgICAgICAg
fQorICAgIF07CisKKyAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJJbnB1dC5kaXNwYXRj
aEtleUV2ZW50IiwgZXZlbnRzLnNoaWZ0KCksIGNvbnRpbnVlVGVzdCk7CisKKyAgICBmdW5jdGlv
biBjb250aW51ZVRlc3QobXNnKSB7CisgICAgICAgIGlmIChtc2cuZXJyb3IpIHsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QubG9nKCJFcnJvcjogIiArIG1zZy5lcnJvci5tZXNzYWdlKTsKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAoZXZlbnRzLmxlbmd0aCkKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIklucHV0LmRpc3BhdGNoS2V5RXZlbnQiLCBldmVu
dHMuc2hpZnQoKSwgY29udGludWVUZXN0KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177056</attachid>
            <date>2012-11-30 16:59:18 -0800</date>
            <delta_ts>2012-12-03 15:56:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103530-20121130165649.patch</filename>
            <type>text/plain</type>
            <size>31144</size>
            <attacher name="Ken Kania">kkania</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM4MDNlNDVkZTJkZWJj
OWRmNjY3ZWU5MTkyZDYxMDlkYWJlMzdiZS4uNWIyNDU0N2ZmNzllZWVhODk2MjJjYTlkMDRjNWMy
MzIzMTc0ZTVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTExLTMwICBLZW4g
S2FuaWEgIDxra2FuaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluc3BlY3RvcjogSW50cm9k
dWNlIElucHV0LmRpc3BhdGNoS2V5RXZlbnQgYW5kIERPTS5mb2N1cyBmb3IgdHlwaW5nIHNpbXVs
YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDM1MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bnB1dC5kaXNwYXRjaEtleUV2ZW50IHNpbXBseSBjYWxscyBFdmVudEhhbmRsZXI6OmtleUV2ZW50
IHdpdGggdGhlIGtleSBldmVudCBkYXRhCisgICAgICAgIGZyb20gdGhlIGNvbW1hbmQgcGFyYW1l
dGVycy4gVGhlIGNsaWVudCB3aWxsIGJlIHJlc3BvbnNpYmxlIGZvciBwcm92aWRpbmcgcHJvcGVy
CisgICAgICAgIGV2ZW50cyB0byBzaW11bGF0ZSBkZXNpcmVkIHR5cGluZyBiZWhhdmlvci4KKyAg
ICAgICAgRE9NLmZvY3VzIGNhbGxzIGZvY3VzIG9uIGEgZG9tIGVsZW1lbnQuCisKKyAgICAgICAg
VGVzdHM6IGluc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMuaHRtbAorICAgICAgICAgICAgICAg
aW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZlbnQuaHRtbAorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHA6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
Q29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50
Ojpmb2N1cyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckRPTUFnZW50OjpyZXNvbHZlTm9kZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRP
TUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5wdXRBZ2VudDo6SW5zcGVjdG9ySW5wdXRBZ2Vu
dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnB1dEFnZW50Ojp+SW5zcGVjdG9ySW5w
dXRBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnB1dEFnZW50OjpkaXNwYXRj
aEtleUV2ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5wdXRBZ2VudC5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9ySW5wdXRBZ2VudCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnB1dEFnZW50OjpjcmVhdGUpOgorCiAyMDEy
LTExLTI4ICBaZW5vIEFsYmlzc2VyICA8emVub0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF1b
V2luXSBFbmFibGUgdXNhZ2Ugb2YgUVRXRUJLSVRfUExVR0lOX1BBVEguCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDNhNWQyMTczNTg0NWYwYmQ4YTU0NzNiYTZmYjBkMDlkMGZmNTEyYjIuLmNmYjk4
YmU1ODUyMGU1NzZjODNiZGM2OWFiMjNhZWI5OTZkODY5YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC0xNTk0LDYgKzE1OTQsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9y
eS5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCisgICAgaW5z
cGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3Bw
CiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQppbmRleCBkY2NiZjdiZWQyYmNlZDE5MjAyMDc4ZWE0NjEyMTQ3OTgyNGVkN2FiLi41
YzM0NGNlZTA0Yjg0YTE1OTdhZjBjYzRkODExZmZmNzQxYmE1YjMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KQEAgLTM3MzEsNiArMzczMSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckhpc3RvcnkuaCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmggXAogCVNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAgXAorCVNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNwcCBcCisJU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBjNTdkNThi
MjBjYzVmNWU3MmVjODk1MWFiNjE2MmIzMTcwYWZmYTVlLi5mY2JlMzUwMmU0ZDljZTNhNDViNWY3
MjZhYThjYzNjMWM1YWMwZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTc2OSw2ICs3NjksNyBAQCBTT1VS
Q0VTICs9IFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAg
XAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIFwKICAgICBpbnNwZWN0
b3IvSW5zcGVjdG9ySGlzdG9yeS5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFn
ZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgXAog
ICAgIGluc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgXAogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMDZmOTEyMDIxZDRmYzNi
ZWNiODQ1YTNhMjI2MmZmMjUzZTEwYTNkMi4uZDc5MGM5ZDM5YjExNGZiMGM2NWExNjk4YmIxZWU1
YzFkYmVmYTJmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjg3OCw2ICsyODc4LDggQEAKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5oJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3RvcklucHV0QWdlbnQuY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9y
SW5wdXRBZ2VudC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3Bw
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
MTFkM2EyMjMzMGZiODFhN2MwYWJjMmFhNjMxMDFhMDFmZjlhYWIyNC4uMjFmODY1YjYwN2I2OWQ0
OWU5YzExN2NlNmE0MWYxZWQzNzI5YzVmNCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTc1MzE0LDYgKzc1MzE0LDMwIEBACiAJCQkJPgogCQkJ
PC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0
b3JJbnB1dEFnZW50LmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvcklucHV0QWdlbnQuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGIy
ZDU3NTZjYzVhNjAwNWQ0ZGY5Y2VlNzUxZmE5ZDgyZDZhZmZlY2MuLmU4MWQ2ZWM2YTc0YmU2ODMz
YTY2NTAzNGUzOTgxYWM5NDczYWQ2NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0NzUsNiArMTQ3NSw4IEBACiAJCTRCNkZB
NkY3MEMzOUU0QTEwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2VDRi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QjZGQTZGNjBDMzlFNEExMDAwODcwMTEg
LyogU21hcnRSZXBsYWNlQ0YuY3BwICovOyB9OwogCQk0QjhBRjRBQTBCMUNFMDJCMDA2ODc2OTAg
LyogQ2xpcGJvYXJkQWNjZXNzUG9saWN5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0QjhBRjRBOTBCMUNFMDJCMDA2ODc2OTAgLyogQ2xpcGJvYXJkQWNj
ZXNzUG9saWN5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNEJBRTk1QjEwQjJGQTlDRTAwQUVEOEEwIC8qIEVkaXRvckRlbGV0ZUFjdGlvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJBRTk1QjAwQjJG
QTlDRTAwQUVEOEEwIC8qIEVkaXRvckRlbGV0ZUFjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTREMjczQ0Y5MTY2OTQyMDgwMDI1OUNBMSAv
KiBJbnNwZWN0b3JJbnB1dEFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDREMjczQ0Y3MTY2OTQyMDgwMDI1OUNBMSAvKiBJbnNwZWN0b3JJbnB1
dEFnZW50LmNwcCAqLzsgfTsKKwkJNEQyNzNDRkExNjY5NDIwODAwMjU5Q0ExIC8qIEluc3BlY3Rv
cklucHV0QWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDREMjczQ0Y4MTY2OTQyMDgwMDI1OUNBMSAvKiBJbnNwZWN0b3JJbnB1dEFnZW50LmggKi87
IH07CiAJCTRFMTk1OTIxMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RTE5NTkxRjBB
MzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuY3BwICovOyB9OwogCQk0RTE5NTky
MjBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1OTIwMEEzOURBQkEwMDIyMEZFNSAv
KiBNZWRpYUZlYXR1cmVOYW1lcy5oICovOyB9OwogCQk0RTE5NTkyOTBBMzlEQUNDMDAyMjBGRTUg
LyogTWVkaWFRdWVyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0RTE5NTkyMzBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeS5jcHAgKi87IH07
CkBAIC04NzI0LDYgKzg3MjYsOCBAQAogCQk0QjZGQTZGNjBDMzlFNEExMDAwODcwMTEgLyogU21h
cnRSZXBsYWNlQ0YuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU21h
cnRSZXBsYWNlQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QjhBRjRBOTBC
MUNFMDJCMDA2ODc2OTAgLyogQ2xpcGJvYXJkQWNjZXNzUG9saWN5LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNEJBRTk1QjAwQjJGQTlDRTAwQUVEOEEwIC8qIEVkaXRvckRlbGV0
ZUFjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0b3JEZWxldGVB
Y3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNEQyNzNDRjcxNjY5NDIwODAw
MjU5Q0ExIC8qIEluc3BlY3RvcklucHV0QWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSW5zcGVjdG9ySW5wdXRBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTREMjczQ0Y4MTY2OTQyMDgwMDI1OUNBMSAvKiBJbnNwZWN0b3JJbnB1dEFn
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvcklucHV0QWdl
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEUxOTU5MUYwQTM5REFCQTAwMjIw
RkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZWRpYUZlYXR1cmVOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTRFMTk1OTIwMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFGZWF0dXJlTmFtZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEUxOTU5MjMwQTM5REFDQzAwMjIwRkU1IC8qIE1l
ZGlhUXVlcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlh
UXVlcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ4NjksNiArMTQ4NzMs
OCBAQAogCQkJCTdBNTQ4NTdFMTRFMDJENTEwMDZBRTA1QSAvKiBJbnNwZWN0b3JIaXN0b3J5Lmgg
Ki8sCiAJCQkJN0FDRDg4RDExNEMwOEJENjAwODRFREQyIC8qIEluc3BlY3RvckluZGV4ZWREQkFn
ZW50LmNwcCAqLywKIAkJCQk3QUNEODhEMjE0QzA4QkQ2MDA4NEVERDIgLyogSW5zcGVjdG9ySW5k
ZXhlZERCQWdlbnQuaCAqLywKKwkJCQk0RDI3M0NGNzE2Njk0MjA4MDAyNTlDQTEgLyogSW5zcGVj
dG9ySW5wdXRBZ2VudC5jcHAgKi8sCisJCQkJNEQyNzNDRjgxNjY5NDIwODAwMjU5Q0ExIC8qIElu
c3BlY3RvcklucHV0QWdlbnQuaCAqLywKIAkJCQkyMEQ2MjkyNDEyNTM2OTBCMDAwODE1NDMgLyog
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCAqLywKIAkJCQkyMEQ2MjkyNTEyNTM2OTBCMDAw
ODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggKi8sCiAJCQkJN0FBNTFERDMxNDg1
MDZBOTAwQUQyNzUyIC8qIEluc3BlY3Rvck1lbW9yeUFnZW50LmNwcCAqLywKQEAgLTI0MDM4LDYg
KzI0MDQ0LDcgQEAKIAkJCQk3QTBFNzcwRjEwQzAwQTg4MDBBMDI3NkUgLyogSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QTU0ODU4MDE0RTAyRDUxMDA2QUUwNUEg
LyogSW5zcGVjdG9ySGlzdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0FDRDg4RDQxNEMwOEJE
NjAwODRFREQyIC8qIEluc3BlY3RvckluZGV4ZWREQkFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0RDI3M0NGQTE2Njk0MjA4MDAyNTlDQTEgLyogSW5zcGVjdG9ySW5wdXRBZ2VudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMjBENjI5MjcxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0FBNTFERDYxNDg1MDZBOTAwQUQyNzUy
IC8qIEluc3BlY3Rvck1lbW9yeUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0RjZGREQ2NTEz
NDFERUREMDAxRjhFRTMgLyogSW5zcGVjdG9yUGFnZUFnZW50LmggaW4gSGVhZGVycyAqLywKQEAg
LTI3MjQ2LDYgKzI3MjUzLDcgQEAKIAkJCQk3QTBFNzcwRTEwQzAwQTg4MDBBMDI3NkUgLyogSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBNTQ4NTdGMTRFMDJE
NTEwMDZBRTA1QSAvKiBJbnNwZWN0b3JIaXN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdB
Q0Q4OEQzMTRDMDhCRDYwMDg0RUREMiAvKiBJbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk0RDI3M0NGOTE2Njk0MjA4MDAyNTlDQTEgLyogSW5zcGVjdG9ySW5w
dXRBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyMEQ2MjkyNjEyNTM2OTBCMDAwODE1NDMg
LyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBQTUx
REQ1MTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk3QzUyMkQ0QjE1QjQ3N0U4MDA5QjdDOTUgLyogSW5zcGVjdG9yT3ZlcmxheS5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpp
bmRleCA2MzVmYTk0MTUwNWIxODNiZWRjY2VjODY3ODU5NDQxMmM2ZWFiMmMzLi5iMGI4YTY5MDMx
ZjMzMjVjZjQ4ZjdjNjNhYzkzZWIxNDVhYjZkOWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5qc29uCkBAIC0xOTM1LDYgKzE5MzUsMTQgQEAKICAgICAgICAgICAgICAgICAi
bmFtZSI6ICJtYXJrVW5kb2FibGVTdGF0ZSIsCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9u
IjogIk1hcmtzIGxhc3QgdW5kb2FibGUgc3RhdGUuIiwKICAgICAgICAgICAgICAgICAiaGlkZGVu
IjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAi
bmFtZSI6ICJmb2N1cyIsCisgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiRE9NLk5vZGVJZCIsICJk
ZXNjcmlwdGlvbiI6ICJJZCBvZiB0aGUgbm9kZSB0byBmb2N1cy4iIH0KKyAgICAgICAgICAgICAg
ICBdLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGb2N1c2VzIHRoZSBnaXZlbiBl
bGVtZW50LiIsCisgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUKICAgICAgICAgICAgIH0K
ICAgICAgICAgXSwKICAgICAgICAgImV2ZW50cyI6IFsKQEAgLTMyNDEsNSArMzI0OSwzMSBAQAog
ICAgICAgICAgICAgfQogICAgICAgICBdLAogICAgICAgICAiZXZlbnRzIjogW10KKyAgICB9LAor
ICAgIHsKKyAgICAgICAgImRvbWFpbiI6ICJJbnB1dCIsCisgICAgICAgICJoaWRkZW4iOiB0cnVl
LAorICAgICAgICAidHlwZXMiOiBbXSwKKyAgICAgICAgImNvbW1hbmRzIjogWworICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogImRpc3BhdGNoS2V5RXZlbnQiLAorICAgICAg
ICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InR5cGUiLCAidHlwZSI6ICJzdHJpbmciLCAiZW51bSI6IFsia2V5RG93biIsICJrZXlVcCIsICJy
YXdLZXlEb3duIiwgImNoYXIiXSwgImRlc2NyaXB0aW9uIjogIlR5cGUgb2YgdGhlIGtleSBldmVu
dC4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibW9kaWZpZXJzIiwgInR5cGUi
OiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJCaXQgZmllbGQg
cmVwcmVzZW50aW5nIHByZXNzZWQgbW9kaWZpZXIga2V5cy4gQWx0PTEsIEN0cmw9MiwgTWV0YS9D
b21tYW5kPTQsIFNoaWZ0PTggKGRlZmF1bHQ6IDApLiIgfSwKKyAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJ0aW1lc3RhbXAiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiB0cnVl
LCAiZGVzY3JpcHRpb24iOiAiVGltZSBhdCB3aGljaCB0aGUgZXZlbnQgb2NjdXJyZWQuIE1lYXN1
cmVkIGluIFVUQyB0aW1lIGluIHNlY29uZHMgc2luY2UgSmFudWFyeSAxLCAxOTcwIChkZWZhdWx0
OiBjdXJyZW50IHRpbWUpLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0ZXh0
IiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRl
eHQgYXMgZ2VuZXJhdGVkIGJ5IHByb2Nlc3NpbmcgYSB2aXJ0dWFsIGtleSBjb2RlIHdpdGggYSBr
ZXlib2FyZCBsYXlvdXQuIE5vdCBuZWVkZWQgZm9yIGZvciA8Y29kZT5rZXlVcDwvY29kZT4gYW5k
IDxjb2RlPnJhd0tleURvd248L2NvZGU+IGV2ZW50cyAoZGVmYXVsdDogXCJcIikiIH0sCisgICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidW5tb2RpZmllZFRleHQiLCAidHlwZSI6ICJzdHJp
bmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGV4dCB0aGF0IHdvdWxkIGhh
dmUgYmVlbiBnZW5lcmF0ZWQgYnkgdGhlIGtleWJvYXJkIGlmIG5vIG1vZGlmaWVycyB3ZXJlIHBy
ZXNzZWQgKGV4Y2VwdCBmb3Igc2hpZnQpLiBVc2VmdWwgZm9yIHNob3J0Y3V0IChhY2NlbGVyYXRv
cikga2V5IGhhbmRsaW5nIChkZWZhdWx0OiBcIlwiKS4iIH0sCisgICAgICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAia2V5SWRlbnRpZmllciIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6
IHRydWUsICJkZXNjcmlwdGlvbiI6ICJVbmlxdWUga2V5IGlkZW50aWZpZXIgKGUuZy4sICdVKzAw
NDEnKSAoZGVmYXVsdDogXCJcIikuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
IndpbmRvd3NWaXJ0dWFsS2V5Q29kZSIsICJ0eXBlIjogImludGVnZXIiLCAib3B0aW9uYWwiOiB0
cnVlLCAiZGVzY3JpcHRpb24iOiAiV2luZG93cyB2aXJ0dWFsIGtleSBjb2RlIChkZWZhdWx0OiAw
KS4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmF0aXZlVmlydHVhbEtleUNv
ZGUiLCAidHlwZSI6ICJpbnRlZ2VyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjog
Ik5hdGl2ZSB2aXJ0dWFsIGtleSBjb2RlIChkZWZhdWx0OiAwKS4iIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAibWFjQ2hhckNvZGUiLCAidHlwZSI6ICJpbnRlZ2VyIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIk1hYyBjaGFyYWN0ZXIgY29kZSAoZGVmYXVsdDog
MCkuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImF1dG9SZXBlYXQiLCAidHlw
ZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIg
dGhlIGV2ZW50IHdhcyBnZW5lcmF0ZWQgZnJvbSBhdXRvIHJlcGVhdCAoZGVmYXVsdDogZmFsc2Up
LiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpc0tleXBhZCIsICJ0eXBlIjog
ImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGUg
ZXZlbnQgd2FzIGdlbmVyYXRlZCBmcm9tIHRoZSBrZXlwYWQgKGRlZmF1bHQ6IGZhbHNlKS4iIH0s
CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaXNTeXN0ZW1LZXkiLCAidHlwZSI6ICJi
b29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIGV2
ZW50IHdhcyBhIHN5c3RlbSBrZXkgZXZlbnQgKGRlZmF1bHQ6IGZhbHNlKS4iIH0KKyAgICAgICAg
ICAgICAgICBdLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNwYXRjaGVzIGEg
a2V5IGV2ZW50IHRvIHRoZSBwYWdlLiIKKyAgICAgICAgICAgIH0KKyAgICAgICAgXSwKKyAgICAg
ICAgImV2ZW50cyI6IFtdCiAgICAgfV0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWxsSW5PbmUuY3BwCmluZGV4IGQxOWFkMmUwYTAyM2I5OWE4NjQ0NTY3YTMxNGY3
NGExZGZmNzA3MWYuLmM5YTgwYWRmMjZhOTZiMWVjMDVjYjRiM2NhNzdjYjllNWNlMWViZDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcApAQCAt
NTcsNiArNTcsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kSG9zdC5jcHAiCiAjaW5j
bHVkZSAiSW5zcGVjdG9ySGlzdG9yeS5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5kZXhlZERC
QWdlbnQuY3BwIgorI2luY2x1ZGUgIkluc3BlY3RvcklucHV0QWdlbnQuY3BwIgogI2luY2x1ZGUg
Ikluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yTWVtb3J5
QWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3Rvck92ZXJsYXkuY3BwIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGNhOTJjNGFl
MjM2ZDA1YWUzYmY4NDNkZjhkYWU3ODhhMzZhMDQ3NWUuLmJhNWNlMzUzOTNhMDZjYTFkZmRmNjdi
ZTgzYzNmMDU2OWMwZmZkNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0
b3JGcm9udGVuZC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnB1
dEFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yTWVtb3J5QWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5Lmgi
CkBAIC0xNTEsNiArMTUyLDggQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJv
bGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKIAogICAgIG1fYWdl
bnRzLmFwcGVuZChJbnNwZWN0b3JDYW52YXNBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0Fn
ZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwgcGFnZSwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIu
Z2V0KCkpKTsKIAorICAgIG1fYWdlbnRzLmFwcGVuZChJbnNwZWN0b3JJbnB1dEFnZW50OjpjcmVh
dGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpLCBwYWdlKSk7CisK
ICAgICBBU1NFUlRfQVJHKGluc3BlY3RvckNsaWVudCwgaW5zcGVjdG9yQ2xpZW50KTsKICAgICBt
X2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5qZWN0ZWRTY3JpcHRIb3N0KCktPmluaXQobV9pbnNw
ZWN0b3JBZ2VudAogICAgICAgICAsIGNvbnNvbGVBZ2VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggMWIwODkzNDcyMWEyZmVkMzljMzJi
YTI0MDBlMzA4MDc4NjRkMTMzYy4uY2YyODBiYjJhYjBjZDMxODVlYjVkZTc4NmU5ZWE3ZjY5YWI4
YWNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFn
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwCkBAIC01Miw2ICs1Miw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJE
b2N1bWVudEZyYWdtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRUeXBlLmgiCisjaW5jbHVkZSAi
RWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRTaGFkb3cuaCIKICNpbmNsdWRlICJFdmVudC5o
IgogI2luY2x1ZGUgIkV2ZW50Q29udGV4dC5oIgpAQCAtMTE0OSwxNyArMTE1MCwyOSBAQCB2b2lk
IEluc3BlY3RvckRPTUFnZW50OjptYXJrVW5kb2FibGVTdGF0ZShFcnJvclN0cmluZyopCiAgICAg
bV9oaXN0b3J5LT5tYXJrVW5kb2FibGVTdGF0ZSgpOwogfQogCi12b2lkIEluc3BlY3RvckRPTUFn
ZW50OjpyZXNvbHZlTm9kZShFcnJvclN0cmluZyogZXJyb3IsIGludCBub2RlSWQsIGNvbnN0IFN0
cmluZyogY29uc3Qgb2JqZWN0R3JvdXAsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVt
b3RlT2JqZWN0PiYgcmVzdWx0KQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6Zm9jdXMoRXJyb3JT
dHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkKQoreworICAgIEVsZW1lbnQqIGVsZW1lbnQg
PSBhc3NlcnRFbGVtZW50KGVycm9yU3RyaW5nLCBub2RlSWQpOworICAgIGlmICghZWxlbWVudCkK
KyAgICAgICAgcmV0dXJuOworICAgIGlmICghZWxlbWVudC0+aXNGb2N1c2FibGUoKSkgeworICAg
ICAgICAqZXJyb3JTdHJpbmcgPSAiRWxlbWVudCBpcyBub3QgZm9jdXNhYmxlIjsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBlbGVtZW50LT5mb2N1cygpOworfQorCit2b2lkIEluc3BlY3Rv
ckRPTUFnZW50OjpyZXNvbHZlTm9kZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBub2Rl
SWQsIGNvbnN0IFN0cmluZyogY29uc3Qgb2JqZWN0R3JvdXAsIFJlZlB0cjxUeXBlQnVpbGRlcjo6
UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVzdWx0KQogewogICAgIFN0cmluZyBvYmplY3RHcm91
cE5hbWUgPSBvYmplY3RHcm91cCA/ICpvYmplY3RHcm91cCA6ICIiOwogICAgIE5vZGUqIG5vZGUg
PSBub2RlRm9ySWQobm9kZUlkKTsKICAgICBpZiAoIW5vZGUpIHsKLSAgICAgICAgKmVycm9yID0g
Ik5vIG5vZGUgd2l0aCBnaXZlbiBpZCBmb3VuZCI7CisgICAgICAgICplcnJvclN0cmluZyA9ICJO
byBub2RlIHdpdGggZ2l2ZW4gaWQgZm91bmQiOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAg
IFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiBvYmplY3QgPSByZXNv
bHZlTm9kZShub2RlLCBvYmplY3RHcm91cE5hbWUpOwogICAgIGlmICghb2JqZWN0KSB7Ci0gICAg
ICAgICplcnJvciA9ICJOb2RlIHdpdGggZ2l2ZW4gaWQgZG9lcyBub3QgYmVsb25nIHRvIHRoZSBk
b2N1bWVudCI7CisgICAgICAgICplcnJvclN0cmluZyA9ICJOb2RlIHdpdGggZ2l2ZW4gaWQgZG9l
cyBub3QgYmVsb25nIHRvIHRoZSBkb2N1bWVudCI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgcmVzdWx0ID0gb2JqZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RE9NQWdlbnQuaAppbmRleCAzYjcyNjUyODMxYjExY2IxYzQzZmUxYjgxZGYyNjkwZGNhYmIzNDJk
Li5jMDgzZGI5ZThjYzU5ZjA2M2Y0ODA5NmI0NGE2OTE2Mjg2NmNmMjM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaApAQCAtMTQ3LDYgKzE0Nyw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdW5kbyhFcnJvclN0cmluZyopOwogICAgIHZpcnR1
YWwgdm9pZCByZWRvKEVycm9yU3RyaW5nKik7CiAgICAgdmlydHVhbCB2b2lkIG1hcmtVbmRvYWJs
ZVN0YXRlKEVycm9yU3RyaW5nKik7CisgICAgdmlydHVhbCB2b2lkIGZvY3VzKEVycm9yU3RyaW5n
KiwgaW50IG5vZGVJZCk7CiAKICAgICB2b2lkIGdldEV2ZW50TGlzdGVuZXJzKE5vZGUqLCBWZWN0
b3I8RXZlbnRMaXN0ZW5lckluZm8+JiBsaXN0ZW5lcnNBcnJheSwgYm9vbCBpbmNsdWRlQW5jZXN0
b3JzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
cHV0QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdl
bnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU2ODM0YWE3MDZlNzQzMDJkNDNkZDc1MGY5ZWVlODI2MDg4NDE0
ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5wdXRBZ2VudC5jcHAKQEAgLTAsMCArMSw5MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lm
IEVOQUJMRShJTlNQRUNUT1IpCisKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnB1dEFnZW50LmgiCisK
KyNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUg
IlBhZ2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUV2ZW50LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1L
ZXlib2FyZEV2ZW50LmgiCisKKyNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitJbnNwZWN0
b3JJbnB1dEFnZW50OjpJbnNwZWN0b3JJbnB1dEFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBpbnNwZWN0b3JTdGF0ZSwgUGFnZSog
cGFnZSkKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JJbnB1dEFnZW50PigiSW5w
dXQiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBpbnNwZWN0b3JTdGF0ZSkKKyAgICAsIG1fcGFnZShw
YWdlKQoreworfQorCitJbnNwZWN0b3JJbnB1dEFnZW50Ojp+SW5zcGVjdG9ySW5wdXRBZ2VudCgp
Cit7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySW5wdXRBZ2VudDo6ZGlzcGF0Y2hLZXlFdmVudChFcnJv
clN0cmluZyogZXJyb3IsIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgaW50KiBtb2RpZmllcnMs
IGNvbnN0IGRvdWJsZSogdGltZXN0YW1wLCBjb25zdCBTdHJpbmcqIHRleHQsIGNvbnN0IFN0cmlu
ZyogdW5tb2RpZmllZFRleHQsIGNvbnN0IFN0cmluZyoga2V5SWRlbnRpZmllciwgY29uc3QgaW50
KiB3aW5kb3dzVmlydHVhbEtleUNvZGUsIGNvbnN0IGludCogbmF0aXZlVmlydHVhbEtleUNvZGUs
IGNvbnN0IGludCogbWFjQ2hhckNvZGUsIGNvbnN0IGJvb2wqIGF1dG9SZXBlYXQsIGNvbnN0IGJv
b2wqIGlzS2V5cGFkLCBjb25zdCBib29sKiBpc1N5c3RlbUtleSkKK3sKKyAgICBQbGF0Zm9ybUV2
ZW50OjpUeXBlIGNvbnZlcnRlZFR5cGU7CisgICAgaWYgKHR5cGUgPT0gImtleURvd24iKQorICAg
ICAgICBjb252ZXJ0ZWRUeXBlID0gUGxhdGZvcm1FdmVudDo6S2V5RG93bjsKKyAgICBlbHNlIGlm
ICh0eXBlID09ICJrZXlVcCIpCisgICAgICAgIGNvbnZlcnRlZFR5cGUgPSBQbGF0Zm9ybUV2ZW50
OjpLZXlVcDsKKyAgICBlbHNlIGlmICh0eXBlID09ICJjaGFyIikKKyAgICAgICAgY29udmVydGVk
VHlwZSA9IFBsYXRmb3JtRXZlbnQ6OkNoYXI7CisgICAgZWxzZSBpZiAodHlwZSA9PSAicmF3S2V5
RG93biIpCisgICAgICAgIGNvbnZlcnRlZFR5cGUgPSBQbGF0Zm9ybUV2ZW50OjpSYXdLZXlEb3du
OworICAgIGVsc2UgeworICAgICAgICAqZXJyb3IgPSAiVW5yZWNvZ25pemVkIHR5cGU6ICIgKyB0
eXBlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUGxhdGZvcm1LZXlib2FyZEV2ZW50
IGV2ZW50KAorICAgICAgICBjb252ZXJ0ZWRUeXBlLAorICAgICAgICB0ZXh0ID8gKnRleHQgOiAi
IiwKKyAgICAgICAgdW5tb2RpZmllZFRleHQgPyAqdW5tb2RpZmllZFRleHQgOiAiIiwKKyAgICAg
ICAga2V5SWRlbnRpZmllciA/ICprZXlJZGVudGlmaWVyIDogIiIsCisgICAgICAgIHdpbmRvd3NW
aXJ0dWFsS2V5Q29kZSA/ICp3aW5kb3dzVmlydHVhbEtleUNvZGUgOiAwLAorICAgICAgICBuYXRp
dmVWaXJ0dWFsS2V5Q29kZSA/ICpuYXRpdmVWaXJ0dWFsS2V5Q29kZSA6IDAsCisgICAgICAgIG1h
Y0NoYXJDb2RlID8gKm1hY0NoYXJDb2RlIDogMCwKKyAgICAgICAgYXV0b1JlcGVhdCA/ICphdXRv
UmVwZWF0IDogZmFsc2UsCisgICAgICAgIGlzS2V5cGFkID8gKmlzS2V5cGFkIDogZmFsc2UsCisg
ICAgICAgIGlzU3lzdGVtS2V5ID8gKmlzU3lzdGVtS2V5IDogZmFsc2UsCisgICAgICAgIHN0YXRp
Y19jYXN0PFBsYXRmb3JtRXZlbnQ6Ok1vZGlmaWVycz4obW9kaWZpZXJzID8gKm1vZGlmaWVycyA6
IDApLAorICAgICAgICB0aW1lc3RhbXAgPyAqdGltZXN0YW1wIDogY3VycmVudFRpbWUoKSk7Cisg
ICAgbV9wYWdlLT5tYWluRnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmtleUV2ZW50KGV2ZW50KTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFn
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5wdXRBZ2VudC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIwYzRjMDk1N2VhZDMzN2FlYjA0ODVmYjE0OTBlMmU1MTczNzhhMTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5wdXRBZ2Vu
dC5oCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3BlY3RvcklucHV0QWdlbnRfaAorI2RlZmlu
ZSBJbnNwZWN0b3JJbnB1dEFnZW50X2gKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKKyNpbmNs
dWRlICJJbnNwZWN0b3JCYXNlQWdlbnQuaCIKKworI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEluc3BlY3RvclN0YXRlOworY2xh
c3MgUGFnZTsKKwordHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CisKK2NsYXNzIEluc3BlY3Rv
cklucHV0QWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvcklucHV0QWdl
bnQ+LCBwdWJsaWMgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OklucHV0Q29tbWFuZEhhbmRs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvcklucHV0QWdlbnQpOworcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvcklucHV0QWdlbnQ+IGNyZWF0ZShJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSog
aW5zcGVjdG9yU3RhdGUsIFBhZ2UqIHBhZ2UpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQ
dHIobmV3IEluc3BlY3RvcklucHV0QWdlbnQoaW5zdHJ1bWVudGluZ0FnZW50cywgaW5zcGVjdG9y
U3RhdGUsIHBhZ2UpKTsKKyAgICB9CisKKyAgICB+SW5zcGVjdG9ySW5wdXRBZ2VudCgpOworCisg
ICAgLy8gTWV0aG9kcyBjYWxsZWQgZnJvbSB0aGUgZnJvbnRlbmQgZm9yIHNpbXVsYXRpbmcgaW5w
dXQuCisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoS2V5RXZlbnQoRXJyb3JTdHJpbmcqLCBjb25z
dCBTdHJpbmcmIHR5cGUsIGNvbnN0IGludCogbW9kaWZpZXJzLCBjb25zdCBkb3VibGUqIHRpbWVz
dGFtcCwgY29uc3QgU3RyaW5nKiB0ZXh0LCBjb25zdCBTdHJpbmcqIHVubW9kaWZpZWRUZXh0LCBj
b25zdCBTdHJpbmcqIGtleUlkZW50aWZpZXIsIGNvbnN0IGludCogd2luZG93c1ZpcnR1YWxLZXlD
b2RlLCBjb25zdCBpbnQqIG5hdGl2ZVZpcnR1YWxLZXlDb2RlLCBjb25zdCBpbnQqIG1hY0NoYXJD
b2RlLCBjb25zdCBib29sKiBhdXRvUmVwZWF0LCBjb25zdCBib29sKiBpc0tleXBhZCwgY29uc3Qg
Ym9vbCogaXNTeXN0ZW1LZXkpOworCitwcml2YXRlOgorICAgIEluc3BlY3RvcklucHV0QWdlbnQo
SW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgUGFnZSopOworCisgICAgUGFn
ZSogbV9wYWdlOworfTsKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvcklucHV0QWdlbnRf
aCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA2MTFiNmExNDdmMmQ5MTY1MjVkMDEwNDk2YzQxOThmYWM1NGU2NGU5Li5kMGUx
NTVmMmNjOGVkNDEwY2UyYjA1MzFjZGZhNGJjNDY1MmI3YjEzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTItMTEtMzAgIEtlbiBLYW5pYSAgPGtrYW5pYUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgSW5zcGVjdG9yOiBJbnRyb2R1Y2UgSW5wdXQuZGlzcGF0Y2hLZXlFdmVudCBhbmQgRE9NLmZv
Y3VzIGZvciB0eXBpbmcgc2ltdWxhdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMzUzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIElucHV0LmRpc3BhdGNoS2V5RXZlbnQgc2ltcGx5IGNhbGxzIEV2
ZW50SGFuZGxlcjo6a2V5RXZlbnQgd2l0aCB0aGUga2V5IGV2ZW50IGRhdGEKKyAgICAgICAgZnJv
bSB0aGUgY29tbWFuZCBwYXJhbWV0ZXJzLiBUaGUgY2xpZW50IHdpbGwgYmUgcmVzcG9uc2libGUg
Zm9yIHByb3ZpZGluZyBwcm9wZXIKKyAgICAgICAgZXZlbnRzIHRvIHNpbXVsYXRlIGRlc2lyZWQg
dHlwaW5nIGJlaGF2aW9yLgorICAgICAgICBET00uZm9jdXMgY2FsbHMgZm9jdXMgb24gYSBkb20g
ZWxlbWVudC4KKworICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3VzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9pbnB1dC9kaXNwYXRjaEtl
eUV2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yLXByb3RvY29s
L2lucHV0L2Rpc3BhdGNoS2V5RXZlbnQuaHRtbDogQWRkZWQuCisKIDIwMTItMTEtMjggIFN0ZXBo
ZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KIAogICAgICAgICBMYXlvdXQgVGVz
dCBzdmcvYW5pbWF0aW9ucy9tcGF0aC1yZW1vdmUtZnJvbS1kZXBlbmRlbnRzLW9uLWRlbGV0ZS1j
cmFzaC5odG1sIGlzIGZsYWt5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJv
dG9jb2wvZG9tLWZvY3VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90
b2NvbC9kb20tZm9jdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwN2I1YzI5OTFkZTI3M2Yz
Nzg1ZWEyMDJjMWZiNTUyZjg3NTYwZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAK
KyAKK2ZvY3VzZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L2RvbS1mb2N1cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS1mb2N1
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjc4N2I1NGQzMWQ1ZTNiYjJlM2IzYTY2OWE3ZWY2ODg5ODYzNzM0
NWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9t
LWZvY3VzLmh0bWwKQEAgLTAsMCArMSw1MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L3Jlc291cmNlcy9wcm90b2NvbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3dpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgZG9jdW1lbnQucXVl
cnlTZWxlY3RvcigiI3NlY29uZCIpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwgb25Gb2N1cyk7
CisKKyAgICBmdW5jdGlvbiBvbkZvY3VzKCkgeworICAgICAgICBsb2coImZvY3VzZWQiKTsKKyAg
ICB9Cit9KTsKKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29t
bWFuZCgiRE9NLmdldERvY3VtZW50Iiwge30sIG9uR290RG9jdW1lbnQpOworCisgICAgZnVuY3Rp
b24gb25Hb3REb2N1bWVudChtc2cpIHsKKyAgICAgICAgaWYgKG1zZy5lcnJvcikgeworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5sb2cobXNnLmVycm9yLm1lc3NhZ2UpOworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorICAgICAgICB2YXIgbm9kZSA9IG1zZy5yZXN1bHQucm9vdDsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLnF1ZXJ5U2VsZWN0b3IiLCB7ICJub2RlSWQiOiBub2Rl
Lm5vZGVJZCwgInNlbGVjdG9yIjogIiNzZWNvbmQiIH0sIG9uUXVlcnlTZWxlY3Rvcik7CisgICAg
fQorCisgICAgZnVuY3Rpb24gb25RdWVyeVNlbGVjdG9yKG1zZykgeworICAgICAgICBpZiAobXNn
LmVycm9yKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhtc2cuZXJyb3IubWVzc2Fn
ZSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHZhciBub2RlID0gbXNnLnJlc3VsdDsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLmZvY3VzIiwgeyAibm9kZUlkIjog
bm9kZS5ub2RlSWQgfSwgb25Gb2N1cyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gb25Gb2N1cyht
c2cpIHsKKyAgICAgICAgaWYgKG1zZy5lcnJvcikKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKG1zZy5lcnJvcik7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cisg
ICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KzxpbnB1dD48L2lucHV0PgorPGlucHV0IGlkPSJzZWNvbmQiPjwvaW5wdXQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvaW5wdXQv
ZGlzcGF0Y2hLZXlFdmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJv
dG9jb2wvaW5wdXQvZGlzcGF0Y2hLZXlFdmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjgz
YTdhNmFiZDZiNzI5MmIxYzk4ZjczNjljYjViNjQ4YWZhMTRjNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9pbnB1dC9kaXNwYXRjaEtleUV2ZW50LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACistLS0tLUV2ZW50LS0tLS0KK3R5cGU6IGtleWRv
d24KK2tleUNvZGU6IDY1CitrZXlJZGVudGlmaWVyOiBVKzAwNDEKKworLS0tLS1FdmVudC0tLS0t
Cit0eXBlOiBrZXlwcmVzcworc2hpZnRLZXkKK2tleUNvZGU6IDY1CitjaGFyQ29kZTogNjUKKwor
LS0tLS1FdmVudC0tLS0tCit0eXBlOiBrZXl1cAora2V5Q29kZTogNjUKK2tleUlkZW50aWZpZXI6
IFUrMDA0MQorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9p
bnB1dC9kaXNwYXRjaEtleUV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9j
b2wvaW5wdXQvZGlzcGF0Y2hLZXlFdmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyNmQ3MmZkZWIwODgz
MDUyOTMyYThiMjIzMjJiNGE2NjZiYzFjMDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3ItcHJvdG9jb2wvaW5wdXQvZGlzcGF0Y2hLZXlFdmVudC5odG1sCkBAIC0wLDAg
KzEsNzMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvcHJvdG9j
b2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigia2V5ZG93biIsIGxvZ0V2ZW50KTsKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlwcmVz
cyIsIGxvZ0V2ZW50KTsKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsIGxvZ0V2ZW50
KTsKKworZnVuY3Rpb24gbG9nRXZlbnQoZXZlbnQpIHsKKyAgICBsb2coIi0tLS0tRXZlbnQtLS0t
LSIpOworICAgIGxvZygidHlwZTogIiArIGV2ZW50LnR5cGUpOworICAgIGlmIChldmVudC5hbHRL
ZXkpCisgICAgICAgIGxvZygiYWx0S2V5Iik7CisgICAgaWYgKGV2ZW50LmN0cmxLZXkpCisgICAg
ICAgIGxvZygiY3RybEtleSIpOworICAgIGlmIChldmVudC5tZXRhS2V5KQorICAgICAgICBsb2co
Im1ldGFLZXkiKTsKKyAgICBpZiAoZXZlbnQuc2hpZnRLZXkpCisgICAgICAgIGxvZygic2hpZnRL
ZXkiKTsKKyAgICBpZiAoZXZlbnQua2V5Q29kZSkKKyAgICAgICAgbG9nKCJrZXlDb2RlOiAiICsg
ZXZlbnQua2V5Q29kZSk7CisgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIpCisgICAgICAgIGxv
Zygia2V5SWRlbnRpZmllcjogIiArIGV2ZW50LmtleUlkZW50aWZpZXIpOworICAgIGlmIChldmVu
dC5jaGFyQ29kZSkKKyAgICAgICAgbG9nKCJjaGFyQ29kZTogIiArIGV2ZW50LmNoYXJDb2RlKTsK
KyAgICBpZiAoZXZlbnQudGV4dCkKKyAgICAgICAgbG9nKCJ0ZXh0OiAiICsgZXZlbnQudGV4dCk7
CisgICAgbG9nKCIiKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIGV2ZW50cyA9
IFsKKyAgICAgICAgeworICAgICAgICAgICAgInR5cGUiOiAia2V5RG93biIsCisgICAgICAgICAg
ICAid2luZG93c1ZpcnR1YWxLZXlDb2RlIjogNjUsIC8vIFZLX0EKKyAgICAgICAgICAgICJrZXlJ
ZGVudGlmaWVyIjogIlUrMDA0MSIsCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAg
ICJ0eXBlIjogImNoYXIiLAorICAgICAgICAgICAgIm1vZGlmaWVycyI6IDgsIC8vIHNoaWZ0Cisg
ICAgICAgICAgICAidGV4dCI6ICJBIiwKKyAgICAgICAgICAgICJ1bm1vZGlmaWVkVGV4dCI6ICJh
IiwKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgInR5cGUiOiAia2V5VXAiLAor
ICAgICAgICAgICAgIndpbmRvd3NWaXJ0dWFsS2V5Q29kZSI6IDY1LAorICAgICAgICAgICAgImtl
eUlkZW50aWZpZXIiOiAiVSswMDQxIgorICAgICAgICB9CisgICAgXTsKKworICAgIEluc3BlY3Rv
clRlc3Quc2VuZENvbW1hbmQoIklucHV0LmRpc3BhdGNoS2V5RXZlbnQiLCBldmVudHMuc2hpZnQo
KSwgY29udGludWVUZXN0KTsKKworICAgIGZ1bmN0aW9uIGNvbnRpbnVlVGVzdChtc2cpIHsKKyAg
ICAgICAgaWYgKG1zZy5lcnJvcikgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkVy
cm9yOiAiICsgbXNnLmVycm9yLm1lc3NhZ2UpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAg
IGlmIChldmVudHMubGVuZ3RoKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFu
ZCgiSW5wdXQuZGlzcGF0Y2hLZXlFdmVudCIsIGV2ZW50cy5zaGlmdCgpLCBjb250aW51ZVRlc3Qp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177360</attachid>
            <date>2012-12-03 15:56:38 -0800</date>
            <delta_ts>2012-12-04 10:05:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103530-20121203155404.patch</filename>
            <type>text/plain</type>
            <size>31147</size>
            <attacher name="Ken Kania">kkania</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM4MDNlNDVkZTJkZWJj
OWRmNjY3ZWU5MTkyZDYxMDlkYWJlMzdiZS4uNWIyNDU0N2ZmNzllZWVhODk2MjJjYTlkMDRjNWMy
MzIzMTc0ZTVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTExLTMwICBLZW4g
S2FuaWEgIDxra2FuaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluc3BlY3RvcjogSW50cm9k
dWNlIElucHV0LmRpc3BhdGNoS2V5RXZlbnQgYW5kIERPTS5mb2N1cyBmb3IgdHlwaW5nIHNpbXVs
YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDM1MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bnB1dC5kaXNwYXRjaEtleUV2ZW50IHNpbXBseSBjYWxscyBFdmVudEhhbmRsZXI6OmtleUV2ZW50
IHdpdGggdGhlIGtleSBldmVudCBkYXRhCisgICAgICAgIGZyb20gdGhlIGNvbW1hbmQgcGFyYW1l
dGVycy4gVGhlIGNsaWVudCB3aWxsIGJlIHJlc3BvbnNpYmxlIGZvciBwcm92aWRpbmcgcHJvcGVy
CisgICAgICAgIGV2ZW50cyB0byBzaW11bGF0ZSBkZXNpcmVkIHR5cGluZyBiZWhhdmlvci4KKyAg
ICAgICAgRE9NLmZvY3VzIGNhbGxzIGZvY3VzIG9uIGEgZG9tIGVsZW1lbnQuCisKKyAgICAgICAg
VGVzdHM6IGluc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMuaHRtbAorICAgICAgICAgICAgICAg
aW5zcGVjdG9yLXByb3RvY29sL2lucHV0LWRpc3BhdGNoS2V5RXZlbnQuaHRtbAorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHA6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
Q29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50
Ojpmb2N1cyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckRPTUFnZW50OjpyZXNvbHZlTm9kZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRP
TUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0b3JET01BZ2VudCk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5wdXRBZ2VudDo6SW5zcGVjdG9ySW5wdXRBZ2Vu
dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnB1dEFnZW50Ojp+SW5zcGVjdG9ySW5w
dXRBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnB1dEFnZW50OjpkaXNwYXRj
aEtleUV2ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5wdXRBZ2VudC5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9ySW5wdXRBZ2VudCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnB1dEFnZW50OjpjcmVhdGUpOgorCiAyMDEy
LTExLTI4ICBaZW5vIEFsYmlzc2VyICA8emVub0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF1b
V2luXSBFbmFibGUgdXNhZ2Ugb2YgUVRXRUJLSVRfUExVR0lOX1BBVEguCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDNhNWQyMTczNTg0NWYwYmQ4YTU0NzNiYTZmYjBkMDlkMGZmNTEyYjIuLmNmYjk4
YmU1ODUyMGU1NzZjODNiZGM2OWFiMjNhZWI5OTZkODY5YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC0xNTk0LDYgKzE1OTQsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9y
eS5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCisgICAgaW5z
cGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3Bw
CiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQppbmRleCBkY2NiZjdiZWQyYmNlZDE5MjAyMDc4ZWE0NjEyMTQ3OTgyNGVkN2FiLi41
YzM0NGNlZTA0Yjg0YTE1OTdhZjBjYzRkODExZmZmNzQxYmE1YjMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KQEAgLTM3MzEsNiArMzczMSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckhpc3RvcnkuaCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmggXAogCVNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAgXAorCVNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFnZW50LmNwcCBcCisJU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBjNTdkNThi
MjBjYzVmNWU3MmVjODk1MWFiNjE2MmIzMTcwYWZmYTVlLi5mY2JlMzUwMmU0ZDljZTNhNDViNWY3
MjZhYThjYzNjMWM1YWMwZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTc2OSw2ICs3NjksNyBAQCBTT1VS
Q0VTICs9IFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAg
XAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIFwKICAgICBpbnNwZWN0
b3IvSW5zcGVjdG9ySGlzdG9yeS5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFn
ZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgXAog
ICAgIGluc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgXAogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMDZmOTEyMDIxZDRmYzNi
ZWNiODQ1YTNhMjI2MmZmMjUzZTEwYTNkMi4uZDc5MGM5ZDM5YjExNGZiMGM2NWExNjk4YmIxZWU1
YzFkYmVmYTJmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjg3OCw2ICsyODc4LDggQEAKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5oJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3RvcklucHV0QWdlbnQuY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9y
SW5wdXRBZ2VudC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3Bw
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
MTFkM2EyMjMzMGZiODFhN2MwYWJjMmFhNjMxMDFhMDFmZjlhYWIyNC4uMjFmODY1YjYwN2I2OWQ0
OWU5YzExN2NlNmE0MWYxZWQzNzI5YzVmNCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTc1MzE0LDYgKzc1MzE0LDMwIEBACiAJCQkJPgogCQkJ
PC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0
b3JJbnB1dEFnZW50LmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvcklucHV0QWdlbnQuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGIy
ZDU3NTZjYzVhNjAwNWQ0ZGY5Y2VlNzUxZmE5ZDgyZDZhZmZlY2MuLmU4MWQ2ZWM2YTc0YmU2ODMz
YTY2NTAzNGUzOTgxYWM5NDczYWQ2NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0NzUsNiArMTQ3NSw4IEBACiAJCTRCNkZB
NkY3MEMzOUU0QTEwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2VDRi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QjZGQTZGNjBDMzlFNEExMDAwODcwMTEg
LyogU21hcnRSZXBsYWNlQ0YuY3BwICovOyB9OwogCQk0QjhBRjRBQTBCMUNFMDJCMDA2ODc2OTAg
LyogQ2xpcGJvYXJkQWNjZXNzUG9saWN5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0QjhBRjRBOTBCMUNFMDJCMDA2ODc2OTAgLyogQ2xpcGJvYXJkQWNj
ZXNzUG9saWN5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNEJBRTk1QjEwQjJGQTlDRTAwQUVEOEEwIC8qIEVkaXRvckRlbGV0ZUFjdGlvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJBRTk1QjAwQjJG
QTlDRTAwQUVEOEEwIC8qIEVkaXRvckRlbGV0ZUFjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTREMjczQ0Y5MTY2OTQyMDgwMDI1OUNBMSAv
KiBJbnNwZWN0b3JJbnB1dEFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDREMjczQ0Y3MTY2OTQyMDgwMDI1OUNBMSAvKiBJbnNwZWN0b3JJbnB1
dEFnZW50LmNwcCAqLzsgfTsKKwkJNEQyNzNDRkExNjY5NDIwODAwMjU5Q0ExIC8qIEluc3BlY3Rv
cklucHV0QWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDREMjczQ0Y4MTY2OTQyMDgwMDI1OUNBMSAvKiBJbnNwZWN0b3JJbnB1dEFnZW50LmggKi87
IH07CiAJCTRFMTk1OTIxMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RTE5NTkxRjBB
MzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuY3BwICovOyB9OwogCQk0RTE5NTky
MjBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0dXJlTmFtZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1OTIwMEEzOURBQkEwMDIyMEZFNSAv
KiBNZWRpYUZlYXR1cmVOYW1lcy5oICovOyB9OwogCQk0RTE5NTkyOTBBMzlEQUNDMDAyMjBGRTUg
LyogTWVkaWFRdWVyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0RTE5NTkyMzBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeS5jcHAgKi87IH07
CkBAIC04NzI0LDYgKzg3MjYsOCBAQAogCQk0QjZGQTZGNjBDMzlFNEExMDAwODcwMTEgLyogU21h
cnRSZXBsYWNlQ0YuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU21h
cnRSZXBsYWNlQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QjhBRjRBOTBC
MUNFMDJCMDA2ODc2OTAgLyogQ2xpcGJvYXJkQWNjZXNzUG9saWN5LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNEJBRTk1QjAwQjJGQTlDRTAwQUVEOEEwIC8qIEVkaXRvckRlbGV0
ZUFjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0b3JEZWxldGVB
Y3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNEQyNzNDRjcxNjY5NDIwODAw
MjU5Q0ExIC8qIEluc3BlY3RvcklucHV0QWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSW5zcGVjdG9ySW5wdXRBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTREMjczQ0Y4MTY2OTQyMDgwMDI1OUNBMSAvKiBJbnNwZWN0b3JJbnB1dEFn
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvcklucHV0QWdl
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEUxOTU5MUYwQTM5REFCQTAwMjIw
RkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZWRpYUZlYXR1cmVOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTRFMTk1OTIwMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFGZWF0dXJlTmFtZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEUxOTU5MjMwQTM5REFDQzAwMjIwRkU1IC8qIE1l
ZGlhUXVlcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlh
UXVlcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ4NjksNiArMTQ4NzMs
OCBAQAogCQkJCTdBNTQ4NTdFMTRFMDJENTEwMDZBRTA1QSAvKiBJbnNwZWN0b3JIaXN0b3J5Lmgg
Ki8sCiAJCQkJN0FDRDg4RDExNEMwOEJENjAwODRFREQyIC8qIEluc3BlY3RvckluZGV4ZWREQkFn
ZW50LmNwcCAqLywKIAkJCQk3QUNEODhEMjE0QzA4QkQ2MDA4NEVERDIgLyogSW5zcGVjdG9ySW5k
ZXhlZERCQWdlbnQuaCAqLywKKwkJCQk0RDI3M0NGNzE2Njk0MjA4MDAyNTlDQTEgLyogSW5zcGVj
dG9ySW5wdXRBZ2VudC5jcHAgKi8sCisJCQkJNEQyNzNDRjgxNjY5NDIwODAwMjU5Q0ExIC8qIElu
c3BlY3RvcklucHV0QWdlbnQuaCAqLywKIAkJCQkyMEQ2MjkyNDEyNTM2OTBCMDAwODE1NDMgLyog
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCAqLywKIAkJCQkyMEQ2MjkyNTEyNTM2OTBCMDAw
ODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggKi8sCiAJCQkJN0FBNTFERDMxNDg1
MDZBOTAwQUQyNzUyIC8qIEluc3BlY3Rvck1lbW9yeUFnZW50LmNwcCAqLywKQEAgLTI0MDM4LDYg
KzI0MDQ0LDcgQEAKIAkJCQk3QTBFNzcwRjEwQzAwQTg4MDBBMDI3NkUgLyogSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QTU0ODU4MDE0RTAyRDUxMDA2QUUwNUEg
LyogSW5zcGVjdG9ySGlzdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0FDRDg4RDQxNEMwOEJE
NjAwODRFREQyIC8qIEluc3BlY3RvckluZGV4ZWREQkFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0RDI3M0NGQTE2Njk0MjA4MDAyNTlDQTEgLyogSW5zcGVjdG9ySW5wdXRBZ2VudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMjBENjI5MjcxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0FBNTFERDYxNDg1MDZBOTAwQUQyNzUy
IC8qIEluc3BlY3Rvck1lbW9yeUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0RjZGREQ2NTEz
NDFERUREMDAxRjhFRTMgLyogSW5zcGVjdG9yUGFnZUFnZW50LmggaW4gSGVhZGVycyAqLywKQEAg
LTI3MjQ2LDYgKzI3MjUzLDcgQEAKIAkJCQk3QTBFNzcwRTEwQzAwQTg4MDBBMDI3NkUgLyogSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBNTQ4NTdGMTRFMDJE
NTEwMDZBRTA1QSAvKiBJbnNwZWN0b3JIaXN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdB
Q0Q4OEQzMTRDMDhCRDYwMDg0RUREMiAvKiBJbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk0RDI3M0NGOTE2Njk0MjA4MDAyNTlDQTEgLyogSW5zcGVjdG9ySW5w
dXRBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyMEQ2MjkyNjEyNTM2OTBCMDAwODE1NDMg
LyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBQTUx
REQ1MTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk3QzUyMkQ0QjE1QjQ3N0U4MDA5QjdDOTUgLyogSW5zcGVjdG9yT3ZlcmxheS5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpp
bmRleCA2MzVmYTk0MTUwNWIxODNiZWRjY2VjODY3ODU5NDQxMmM2ZWFiMmMzLi5iMGI4YTY5MDMx
ZjMzMjVjZjQ4ZjdjNjNhYzkzZWIxNDVhYjZkOWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5qc29uCkBAIC0xOTM1LDYgKzE5MzUsMTQgQEAKICAgICAgICAgICAgICAgICAi
bmFtZSI6ICJtYXJrVW5kb2FibGVTdGF0ZSIsCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9u
IjogIk1hcmtzIGxhc3QgdW5kb2FibGUgc3RhdGUuIiwKICAgICAgICAgICAgICAgICAiaGlkZGVu
IjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAi
bmFtZSI6ICJmb2N1cyIsCisgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiRE9NLk5vZGVJZCIsICJk
ZXNjcmlwdGlvbiI6ICJJZCBvZiB0aGUgbm9kZSB0byBmb2N1cy4iIH0KKyAgICAgICAgICAgICAg
ICBdLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGb2N1c2VzIHRoZSBnaXZlbiBl
bGVtZW50LiIsCisgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUKICAgICAgICAgICAgIH0K
ICAgICAgICAgXSwKICAgICAgICAgImV2ZW50cyI6IFsKQEAgLTMyNDEsNSArMzI0OSwzMSBAQAog
ICAgICAgICAgICAgfQogICAgICAgICBdLAogICAgICAgICAiZXZlbnRzIjogW10KKyAgICB9LAor
ICAgIHsKKyAgICAgICAgImRvbWFpbiI6ICJJbnB1dCIsCisgICAgICAgICJoaWRkZW4iOiB0cnVl
LAorICAgICAgICAidHlwZXMiOiBbXSwKKyAgICAgICAgImNvbW1hbmRzIjogWworICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogImRpc3BhdGNoS2V5RXZlbnQiLAorICAgICAg
ICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InR5cGUiLCAidHlwZSI6ICJzdHJpbmciLCAiZW51bSI6IFsia2V5RG93biIsICJrZXlVcCIsICJy
YXdLZXlEb3duIiwgImNoYXIiXSwgImRlc2NyaXB0aW9uIjogIlR5cGUgb2YgdGhlIGtleSBldmVu
dC4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibW9kaWZpZXJzIiwgInR5cGUi
OiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJCaXQgZmllbGQg
cmVwcmVzZW50aW5nIHByZXNzZWQgbW9kaWZpZXIga2V5cy4gQWx0PTEsIEN0cmw9MiwgTWV0YS9D
b21tYW5kPTQsIFNoaWZ0PTggKGRlZmF1bHQ6IDApLiIgfSwKKyAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJ0aW1lc3RhbXAiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiB0cnVl
LCAiZGVzY3JpcHRpb24iOiAiVGltZSBhdCB3aGljaCB0aGUgZXZlbnQgb2NjdXJyZWQuIE1lYXN1
cmVkIGluIFVUQyB0aW1lIGluIHNlY29uZHMgc2luY2UgSmFudWFyeSAxLCAxOTcwIChkZWZhdWx0
OiBjdXJyZW50IHRpbWUpLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0ZXh0
IiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRl
eHQgYXMgZ2VuZXJhdGVkIGJ5IHByb2Nlc3NpbmcgYSB2aXJ0dWFsIGtleSBjb2RlIHdpdGggYSBr
ZXlib2FyZCBsYXlvdXQuIE5vdCBuZWVkZWQgZm9yIGZvciA8Y29kZT5rZXlVcDwvY29kZT4gYW5k
IDxjb2RlPnJhd0tleURvd248L2NvZGU+IGV2ZW50cyAoZGVmYXVsdDogXCJcIikiIH0sCisgICAg
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidW5tb2RpZmllZFRleHQiLCAidHlwZSI6ICJzdHJp
bmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGV4dCB0aGF0IHdvdWxkIGhh
dmUgYmVlbiBnZW5lcmF0ZWQgYnkgdGhlIGtleWJvYXJkIGlmIG5vIG1vZGlmaWVycyB3ZXJlIHBy
ZXNzZWQgKGV4Y2VwdCBmb3Igc2hpZnQpLiBVc2VmdWwgZm9yIHNob3J0Y3V0IChhY2NlbGVyYXRv
cikga2V5IGhhbmRsaW5nIChkZWZhdWx0OiBcIlwiKS4iIH0sCisgICAgICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAia2V5SWRlbnRpZmllciIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6
IHRydWUsICJkZXNjcmlwdGlvbiI6ICJVbmlxdWUga2V5IGlkZW50aWZpZXIgKGUuZy4sICdVKzAw
NDEnKSAoZGVmYXVsdDogXCJcIikuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
IndpbmRvd3NWaXJ0dWFsS2V5Q29kZSIsICJ0eXBlIjogImludGVnZXIiLCAib3B0aW9uYWwiOiB0
cnVlLCAiZGVzY3JpcHRpb24iOiAiV2luZG93cyB2aXJ0dWFsIGtleSBjb2RlIChkZWZhdWx0OiAw
KS4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmF0aXZlVmlydHVhbEtleUNv
ZGUiLCAidHlwZSI6ICJpbnRlZ2VyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjog
Ik5hdGl2ZSB2aXJ0dWFsIGtleSBjb2RlIChkZWZhdWx0OiAwKS4iIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAibWFjQ2hhckNvZGUiLCAidHlwZSI6ICJpbnRlZ2VyIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIk1hYyBjaGFyYWN0ZXIgY29kZSAoZGVmYXVsdDog
MCkuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImF1dG9SZXBlYXQiLCAidHlw
ZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIg
dGhlIGV2ZW50IHdhcyBnZW5lcmF0ZWQgZnJvbSBhdXRvIHJlcGVhdCAoZGVmYXVsdDogZmFsc2Up
LiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpc0tleXBhZCIsICJ0eXBlIjog
ImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGUg
ZXZlbnQgd2FzIGdlbmVyYXRlZCBmcm9tIHRoZSBrZXlwYWQgKGRlZmF1bHQ6IGZhbHNlKS4iIH0s
CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaXNTeXN0ZW1LZXkiLCAidHlwZSI6ICJi
b29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIGV2
ZW50IHdhcyBhIHN5c3RlbSBrZXkgZXZlbnQgKGRlZmF1bHQ6IGZhbHNlKS4iIH0KKyAgICAgICAg
ICAgICAgICBdLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNwYXRjaGVzIGEg
a2V5IGV2ZW50IHRvIHRoZSBwYWdlLiIKKyAgICAgICAgICAgIH0KKyAgICAgICAgXSwKKyAgICAg
ICAgImV2ZW50cyI6IFtdCiAgICAgfV0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWxsSW5PbmUuY3BwCmluZGV4IGQxOWFkMmUwYTAyM2I5OWE4NjQ0NTY3YTMxNGY3
NGExZGZmNzA3MWYuLmM5YTgwYWRmMjZhOTZiMWVjMDVjYjRiM2NhNzdjYjllNWNlMWViZDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcApAQCAt
NTcsNiArNTcsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kSG9zdC5jcHAiCiAjaW5j
bHVkZSAiSW5zcGVjdG9ySGlzdG9yeS5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5kZXhlZERC
QWdlbnQuY3BwIgorI2luY2x1ZGUgIkluc3BlY3RvcklucHV0QWdlbnQuY3BwIgogI2luY2x1ZGUg
Ikluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yTWVtb3J5
QWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3Rvck92ZXJsYXkuY3BwIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGNhOTJjNGFl
MjM2ZDA1YWUzYmY4NDNkZjhkYWU3ODhhMzZhMDQ3NWUuLmJhNWNlMzUzOTNhMDZjYTFkZmRmNjdi
ZTgzYzNmMDU2OWMwZmZkNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0
b3JGcm9udGVuZC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnB1
dEFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yTWVtb3J5QWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5Lmgi
CkBAIC0xNTEsNiArMTUyLDggQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJv
bGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKIAogICAgIG1fYWdl
bnRzLmFwcGVuZChJbnNwZWN0b3JDYW52YXNBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0Fn
ZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwgcGFnZSwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIu
Z2V0KCkpKTsKIAorICAgIG1fYWdlbnRzLmFwcGVuZChJbnNwZWN0b3JJbnB1dEFnZW50OjpjcmVh
dGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpLCBwYWdlKSk7CisK
ICAgICBBU1NFUlRfQVJHKGluc3BlY3RvckNsaWVudCwgaW5zcGVjdG9yQ2xpZW50KTsKICAgICBt
X2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5qZWN0ZWRTY3JpcHRIb3N0KCktPmluaXQobV9pbnNw
ZWN0b3JBZ2VudAogICAgICAgICAsIGNvbnNvbGVBZ2VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggMWIwODkzNDcyMWEyZmVkMzljMzJi
YTI0MDBlMzA4MDc4NjRkMTMzYy4uY2YyODBiYjJhYjBjZDMxODVlYjVkZTc4NmU5ZWE3ZjY5YWI4
YWNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFn
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwCkBAIC01Miw2ICs1Miw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJE
b2N1bWVudEZyYWdtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRUeXBlLmgiCisjaW5jbHVkZSAi
RWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRTaGFkb3cuaCIKICNpbmNsdWRlICJFdmVudC5o
IgogI2luY2x1ZGUgIkV2ZW50Q29udGV4dC5oIgpAQCAtMTE0OSwxNyArMTE1MCwyOSBAQCB2b2lk
IEluc3BlY3RvckRPTUFnZW50OjptYXJrVW5kb2FibGVTdGF0ZShFcnJvclN0cmluZyopCiAgICAg
bV9oaXN0b3J5LT5tYXJrVW5kb2FibGVTdGF0ZSgpOwogfQogCi12b2lkIEluc3BlY3RvckRPTUFn
ZW50OjpyZXNvbHZlTm9kZShFcnJvclN0cmluZyogZXJyb3IsIGludCBub2RlSWQsIGNvbnN0IFN0
cmluZyogY29uc3Qgb2JqZWN0R3JvdXAsIFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVt
b3RlT2JqZWN0PiYgcmVzdWx0KQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6Zm9jdXMoRXJyb3JT
dHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkKQoreworICAgIEVsZW1lbnQqIGVsZW1lbnQg
PSBhc3NlcnRFbGVtZW50KGVycm9yU3RyaW5nLCBub2RlSWQpOworICAgIGlmICghZWxlbWVudCkK
KyAgICAgICAgcmV0dXJuOworICAgIGlmICghZWxlbWVudC0+aXNGb2N1c2FibGUoKSkgeworICAg
ICAgICAqZXJyb3JTdHJpbmcgPSAiRWxlbWVudCBpcyBub3QgZm9jdXNhYmxlIjsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBlbGVtZW50LT5mb2N1cygpOworfQorCit2b2lkIEluc3BlY3Rv
ckRPTUFnZW50OjpyZXNvbHZlTm9kZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBub2Rl
SWQsIGNvbnN0IFN0cmluZyogY29uc3Qgb2JqZWN0R3JvdXAsIFJlZlB0cjxUeXBlQnVpbGRlcjo6
UnVudGltZTo6UmVtb3RlT2JqZWN0PiYgcmVzdWx0KQogewogICAgIFN0cmluZyBvYmplY3RHcm91
cE5hbWUgPSBvYmplY3RHcm91cCA/ICpvYmplY3RHcm91cCA6ICIiOwogICAgIE5vZGUqIG5vZGUg
PSBub2RlRm9ySWQobm9kZUlkKTsKICAgICBpZiAoIW5vZGUpIHsKLSAgICAgICAgKmVycm9yID0g
Ik5vIG5vZGUgd2l0aCBnaXZlbiBpZCBmb3VuZCI7CisgICAgICAgICplcnJvclN0cmluZyA9ICJO
byBub2RlIHdpdGggZ2l2ZW4gaWQgZm91bmQiOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAg
IFJlZlB0cjxUeXBlQnVpbGRlcjo6UnVudGltZTo6UmVtb3RlT2JqZWN0PiBvYmplY3QgPSByZXNv
bHZlTm9kZShub2RlLCBvYmplY3RHcm91cE5hbWUpOwogICAgIGlmICghb2JqZWN0KSB7Ci0gICAg
ICAgICplcnJvciA9ICJOb2RlIHdpdGggZ2l2ZW4gaWQgZG9lcyBub3QgYmVsb25nIHRvIHRoZSBk
b2N1bWVudCI7CisgICAgICAgICplcnJvclN0cmluZyA9ICJOb2RlIHdpdGggZ2l2ZW4gaWQgZG9l
cyBub3QgYmVsb25nIHRvIHRoZSBkb2N1bWVudCI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgcmVzdWx0ID0gb2JqZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RE9NQWdlbnQuaAppbmRleCAzYjcyNjUyODMxYjExY2IxYzQzZmUxYjgxZGYyNjkwZGNhYmIzNDJk
Li5jMDgzZGI5ZThjYzU5ZjA2M2Y0ODA5NmI0NGE2OTE2Mjg2NmNmMjM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaApAQCAtMTQ3LDYgKzE0Nyw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdW5kbyhFcnJvclN0cmluZyopOwogICAgIHZpcnR1
YWwgdm9pZCByZWRvKEVycm9yU3RyaW5nKik7CiAgICAgdmlydHVhbCB2b2lkIG1hcmtVbmRvYWJs
ZVN0YXRlKEVycm9yU3RyaW5nKik7CisgICAgdmlydHVhbCB2b2lkIGZvY3VzKEVycm9yU3RyaW5n
KiwgaW50IG5vZGVJZCk7CiAKICAgICB2b2lkIGdldEV2ZW50TGlzdGVuZXJzKE5vZGUqLCBWZWN0
b3I8RXZlbnRMaXN0ZW5lckluZm8+JiBsaXN0ZW5lcnNBcnJheSwgYm9vbCBpbmNsdWRlQW5jZXN0
b3JzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
cHV0QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcklucHV0QWdl
bnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU2ODM0YWE3MDZlNzQzMDJkNDNkZDc1MGY5ZWVlODI2MDg4NDE0
ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5wdXRBZ2VudC5jcHAKQEAgLTAsMCArMSw5MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lm
IEVOQUJMRShJTlNQRUNUT1IpCisKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnB1dEFnZW50LmgiCisK
KyNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUg
IlBhZ2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUV2ZW50LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1L
ZXlib2FyZEV2ZW50LmgiCisKKyNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitJbnNwZWN0
b3JJbnB1dEFnZW50OjpJbnNwZWN0b3JJbnB1dEFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBpbnNwZWN0b3JTdGF0ZSwgUGFnZSog
cGFnZSkKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JJbnB1dEFnZW50PigiSW5w
dXQiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBpbnNwZWN0b3JTdGF0ZSkKKyAgICAsIG1fcGFnZShw
YWdlKQoreworfQorCitJbnNwZWN0b3JJbnB1dEFnZW50Ojp+SW5zcGVjdG9ySW5wdXRBZ2VudCgp
Cit7Cit9CisKK3ZvaWQgSW5zcGVjdG9ySW5wdXRBZ2VudDo6ZGlzcGF0Y2hLZXlFdmVudChFcnJv
clN0cmluZyogZXJyb3IsIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgaW50KiBtb2RpZmllcnMs
IGNvbnN0IGRvdWJsZSogdGltZXN0YW1wLCBjb25zdCBTdHJpbmcqIHRleHQsIGNvbnN0IFN0cmlu
ZyogdW5tb2RpZmllZFRleHQsIGNvbnN0IFN0cmluZyoga2V5SWRlbnRpZmllciwgY29uc3QgaW50
KiB3aW5kb3dzVmlydHVhbEtleUNvZGUsIGNvbnN0IGludCogbmF0aXZlVmlydHVhbEtleUNvZGUs
IGNvbnN0IGludCogbWFjQ2hhckNvZGUsIGNvbnN0IGJvb2wqIGF1dG9SZXBlYXQsIGNvbnN0IGJv
b2wqIGlzS2V5cGFkLCBjb25zdCBib29sKiBpc1N5c3RlbUtleSkKK3sKKyAgICBQbGF0Zm9ybUV2
ZW50OjpUeXBlIGNvbnZlcnRlZFR5cGU7CisgICAgaWYgKHR5cGUgPT0gImtleURvd24iKQorICAg
ICAgICBjb252ZXJ0ZWRUeXBlID0gUGxhdGZvcm1FdmVudDo6S2V5RG93bjsKKyAgICBlbHNlIGlm
ICh0eXBlID09ICJrZXlVcCIpCisgICAgICAgIGNvbnZlcnRlZFR5cGUgPSBQbGF0Zm9ybUV2ZW50
OjpLZXlVcDsKKyAgICBlbHNlIGlmICh0eXBlID09ICJjaGFyIikKKyAgICAgICAgY29udmVydGVk
VHlwZSA9IFBsYXRmb3JtRXZlbnQ6OkNoYXI7CisgICAgZWxzZSBpZiAodHlwZSA9PSAicmF3S2V5
RG93biIpCisgICAgICAgIGNvbnZlcnRlZFR5cGUgPSBQbGF0Zm9ybUV2ZW50OjpSYXdLZXlEb3du
OworICAgIGVsc2UgeworICAgICAgICAqZXJyb3IgPSAiVW5yZWNvZ25pemVkIHR5cGU6ICIgKyB0
eXBlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUGxhdGZvcm1LZXlib2FyZEV2ZW50
IGV2ZW50KAorICAgICAgICBjb252ZXJ0ZWRUeXBlLAorICAgICAgICB0ZXh0ID8gKnRleHQgOiAi
IiwKKyAgICAgICAgdW5tb2RpZmllZFRleHQgPyAqdW5tb2RpZmllZFRleHQgOiAiIiwKKyAgICAg
ICAga2V5SWRlbnRpZmllciA/ICprZXlJZGVudGlmaWVyIDogIiIsCisgICAgICAgIHdpbmRvd3NW
aXJ0dWFsS2V5Q29kZSA/ICp3aW5kb3dzVmlydHVhbEtleUNvZGUgOiAwLAorICAgICAgICBuYXRp
dmVWaXJ0dWFsS2V5Q29kZSA/ICpuYXRpdmVWaXJ0dWFsS2V5Q29kZSA6IDAsCisgICAgICAgIG1h
Y0NoYXJDb2RlID8gKm1hY0NoYXJDb2RlIDogMCwKKyAgICAgICAgYXV0b1JlcGVhdCA/ICphdXRv
UmVwZWF0IDogZmFsc2UsCisgICAgICAgIGlzS2V5cGFkID8gKmlzS2V5cGFkIDogZmFsc2UsCisg
ICAgICAgIGlzU3lzdGVtS2V5ID8gKmlzU3lzdGVtS2V5IDogZmFsc2UsCisgICAgICAgIHN0YXRp
Y19jYXN0PFBsYXRmb3JtRXZlbnQ6Ok1vZGlmaWVycz4obW9kaWZpZXJzID8gKm1vZGlmaWVycyA6
IDApLAorICAgICAgICB0aW1lc3RhbXAgPyAqdGltZXN0YW1wIDogY3VycmVudFRpbWUoKSk7Cisg
ICAgbV9wYWdlLT5tYWluRnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmtleUV2ZW50KGV2ZW50KTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnB1dEFn
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5wdXRBZ2VudC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIwYzRjMDk1N2VhZDMzN2FlYjA0ODVmYjE0OTBlMmU1MTczNzhhMTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5wdXRBZ2Vu
dC5oCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3BlY3RvcklucHV0QWdlbnRfaAorI2RlZmlu
ZSBJbnNwZWN0b3JJbnB1dEFnZW50X2gKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKKyNpbmNs
dWRlICJJbnNwZWN0b3JCYXNlQWdlbnQuaCIKKworI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEluc3BlY3RvclN0YXRlOworY2xh
c3MgUGFnZTsKKwordHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CisKK2NsYXNzIEluc3BlY3Rv
cklucHV0QWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvcklucHV0QWdl
bnQ+LCBwdWJsaWMgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OklucHV0Q29tbWFuZEhhbmRs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvcklucHV0QWdlbnQpOworcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvcklucHV0QWdlbnQ+IGNyZWF0ZShJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSog
aW5zcGVjdG9yU3RhdGUsIFBhZ2UqIHBhZ2UpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQ
dHIobmV3IEluc3BlY3RvcklucHV0QWdlbnQoaW5zdHJ1bWVudGluZ0FnZW50cywgaW5zcGVjdG9y
U3RhdGUsIHBhZ2UpKTsKKyAgICB9CisKKyAgICB+SW5zcGVjdG9ySW5wdXRBZ2VudCgpOworCisg
ICAgLy8gTWV0aG9kcyBjYWxsZWQgZnJvbSB0aGUgZnJvbnRlbmQgZm9yIHNpbXVsYXRpbmcgaW5w
dXQuCisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoS2V5RXZlbnQoRXJyb3JTdHJpbmcqLCBjb25z
dCBTdHJpbmcmIHR5cGUsIGNvbnN0IGludCogbW9kaWZpZXJzLCBjb25zdCBkb3VibGUqIHRpbWVz
dGFtcCwgY29uc3QgU3RyaW5nKiB0ZXh0LCBjb25zdCBTdHJpbmcqIHVubW9kaWZpZWRUZXh0LCBj
b25zdCBTdHJpbmcqIGtleUlkZW50aWZpZXIsIGNvbnN0IGludCogd2luZG93c1ZpcnR1YWxLZXlD
b2RlLCBjb25zdCBpbnQqIG5hdGl2ZVZpcnR1YWxLZXlDb2RlLCBjb25zdCBpbnQqIG1hY0NoYXJD
b2RlLCBjb25zdCBib29sKiBhdXRvUmVwZWF0LCBjb25zdCBib29sKiBpc0tleXBhZCwgY29uc3Qg
Ym9vbCogaXNTeXN0ZW1LZXkpOworCitwcml2YXRlOgorICAgIEluc3BlY3RvcklucHV0QWdlbnQo
SW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgUGFnZSopOworCisgICAgUGFn
ZSogbV9wYWdlOworfTsKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvcklucHV0QWdlbnRf
aCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA2MTFiNmExNDdmMmQ5MTY1MjVkMDEwNDk2YzQxOThmYWM1NGU2NGU5Li5kMGUx
NTVmMmNjOGVkNDEwY2UyYjA1MzFjZGZhNGJjNDY1MmI3YjEzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTItMTEtMzAgIEtlbiBLYW5pYSAgPGtrYW5pYUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgSW5zcGVjdG9yOiBJbnRyb2R1Y2UgSW5wdXQuZGlzcGF0Y2hLZXlFdmVudCBhbmQgRE9NLmZv
Y3VzIGZvciB0eXBpbmcgc2ltdWxhdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMzUzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIElucHV0LmRpc3BhdGNoS2V5RXZlbnQgc2ltcGx5IGNhbGxzIEV2
ZW50SGFuZGxlcjo6a2V5RXZlbnQgd2l0aCB0aGUga2V5IGV2ZW50IGRhdGEKKyAgICAgICAgZnJv
bSB0aGUgY29tbWFuZCBwYXJhbWV0ZXJzLiBUaGUgY2xpZW50IHdpbGwgYmUgcmVzcG9uc2libGUg
Zm9yIHByb3ZpZGluZyBwcm9wZXIKKyAgICAgICAgZXZlbnRzIHRvIHNpbXVsYXRlIGRlc2lyZWQg
dHlwaW5nIGJlaGF2aW9yLgorICAgICAgICBET00uZm9jdXMgY2FsbHMgZm9jdXMgb24gYSBkb20g
ZWxlbWVudC4KKworICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9kb20tZm9jdXMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3VzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9pbnB1dC9kaXNwYXRjaEtl
eUV2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yLXByb3RvY29s
L2lucHV0L2Rpc3BhdGNoS2V5RXZlbnQuaHRtbDogQWRkZWQuCisKIDIwMTItMTEtMjggIFN0ZXBo
ZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KIAogICAgICAgICBMYXlvdXQgVGVz
dCBzdmcvYW5pbWF0aW9ucy9tcGF0aC1yZW1vdmUtZnJvbS1kZXBlbmRlbnRzLW9uLWRlbGV0ZS1j
cmFzaC5odG1sIGlzIGZsYWt5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJv
dG9jb2wvZG9tLWZvY3VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90
b2NvbC9kb20tZm9jdXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwN2I1YzI5OTFkZTI3M2Yz
Nzg1ZWEyMDJjMWZiNTUyZjg3NTYwZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3ItcHJvdG9jb2wvZG9tLWZvY3VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAK
KyAKK2ZvY3VzZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L2RvbS1mb2N1cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS1mb2N1
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjc4N2I1NGQzMWQ1ZTNiYjJlM2IzYTY2OWE3ZWY2ODg5ODYzNzM0
NWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9t
LWZvY3VzLmh0bWwKQEAgLTAsMCArMSw1MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L3Jlc291cmNlcy9wcm90b2NvbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3dpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgZG9jdW1lbnQucXVl
cnlTZWxlY3RvcigiI3NlY29uZCIpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwgb25Gb2N1cyk7
CisKKyAgICBmdW5jdGlvbiBvbkZvY3VzKCkgeworICAgICAgICBsb2coImZvY3VzZWQiKTsKKyAg
ICB9Cit9KTsKKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29t
bWFuZCgiRE9NLmdldERvY3VtZW50Iiwge30sIG9uR290RG9jdW1lbnQpOworCisgICAgZnVuY3Rp
b24gb25Hb3REb2N1bWVudChtc2cpIHsKKyAgICAgICAgaWYgKG1zZy5lcnJvcikgeworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5sb2cobXNnLmVycm9yLm1lc3NhZ2UpOworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorICAgICAgICB2YXIgbm9kZSA9IG1zZy5yZXN1bHQucm9vdDsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLnF1ZXJ5U2VsZWN0b3IiLCB7ICJub2RlSWQiOiBub2Rl
Lm5vZGVJZCwgInNlbGVjdG9yIjogIiNzZWNvbmQiIH0sIG9uUXVlcnlTZWxlY3Rvcik7CisgICAg
fQorCisgICAgZnVuY3Rpb24gb25RdWVyeVNlbGVjdG9yKG1zZykgeworICAgICAgICBpZiAobXNn
LmVycm9yKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhtc2cuZXJyb3IubWVzc2Fn
ZSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHZhciBub2RlID0gbXNnLnJlc3VsdDsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLmZvY3VzIiwgeyAibm9kZUlkIjog
bm9kZS5ub2RlSWQgfSwgb25Gb2N1cyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gb25Gb2N1cyht
c2cpIHsKKyAgICAgICAgaWYgKG1zZy5lcnJvcikKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKG1zZy5lcnJvcik7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cisg
ICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KzxpbnB1dD48L2lucHV0PgorPGlucHV0IGlkPSJzZWNvbmQiPjwvaW5wdXQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvaW5wdXQv
ZGlzcGF0Y2hLZXlFdmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJv
dG9jb2wvaW5wdXQvZGlzcGF0Y2hLZXlFdmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjgz
YTdhNmFiZDZiNzI5MmIxYzk4ZjczNjljYjViNjQ4YWZhMTRjNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9pbnB1dC9kaXNwYXRjaEtleUV2ZW50LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACistLS0tLUV2ZW50LS0tLS0KK3R5cGU6IGtleWRv
d24KK2tleUNvZGU6IDY1CitrZXlJZGVudGlmaWVyOiBVKzAwNDEKKworLS0tLS1FdmVudC0tLS0t
Cit0eXBlOiBrZXlwcmVzcworc2hpZnRLZXkKK2tleUNvZGU6IDY1CitjaGFyQ29kZTogNjUKKwor
LS0tLS1FdmVudC0tLS0tCit0eXBlOiBrZXl1cAora2V5Q29kZTogNjUKK2tleUlkZW50aWZpZXI6
IFUrMDA0MQorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9p
bnB1dC9kaXNwYXRjaEtleUV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9j
b2wvaW5wdXQvZGlzcGF0Y2hLZXlFdmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwMGNmNDVkNDU0ZmVh
NGEzMzdjYTkyZjdjMTkyZmM4ODVhYTVlYzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3ItcHJvdG9jb2wvaW5wdXQvZGlzcGF0Y2hLZXlFdmVudC5odG1sCkBAIC0wLDAg
KzEsNzMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvcHJvdG9j
b2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigia2V5ZG93biIsIGxvZ0V2ZW50KTsKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlwcmVz
cyIsIGxvZ0V2ZW50KTsKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsIGxvZ0V2ZW50
KTsKKworZnVuY3Rpb24gbG9nRXZlbnQoZXZlbnQpIHsKKyAgICBsb2coIi0tLS0tRXZlbnQtLS0t
LSIpOworICAgIGxvZygidHlwZTogIiArIGV2ZW50LnR5cGUpOworICAgIGlmIChldmVudC5hbHRL
ZXkpCisgICAgICAgIGxvZygiYWx0S2V5Iik7CisgICAgaWYgKGV2ZW50LmN0cmxLZXkpCisgICAg
ICAgIGxvZygiY3RybEtleSIpOworICAgIGlmIChldmVudC5tZXRhS2V5KQorICAgICAgICBsb2co
Im1ldGFLZXkiKTsKKyAgICBpZiAoZXZlbnQuc2hpZnRLZXkpCisgICAgICAgIGxvZygic2hpZnRL
ZXkiKTsKKyAgICBpZiAoZXZlbnQua2V5Q29kZSkKKyAgICAgICAgbG9nKCJrZXlDb2RlOiAiICsg
ZXZlbnQua2V5Q29kZSk7CisgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIpCisgICAgICAgIGxv
Zygia2V5SWRlbnRpZmllcjogIiArIGV2ZW50LmtleUlkZW50aWZpZXIpOworICAgIGlmIChldmVu
dC5jaGFyQ29kZSkKKyAgICAgICAgbG9nKCJjaGFyQ29kZTogIiArIGV2ZW50LmNoYXJDb2RlKTsK
KyAgICBpZiAoZXZlbnQudGV4dCkKKyAgICAgICAgbG9nKCJ0ZXh0OiAiICsgZXZlbnQudGV4dCk7
CisgICAgbG9nKCIiKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIGV2ZW50cyA9
IFsKKyAgICAgICAgeworICAgICAgICAgICAgInR5cGUiOiAicmF3S2V5RG93biIsCisgICAgICAg
ICAgICAid2luZG93c1ZpcnR1YWxLZXlDb2RlIjogNjUsIC8vIFZLX0EKKyAgICAgICAgICAgICJr
ZXlJZGVudGlmaWVyIjogIlUrMDA0MSIsCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAg
ICAgICJ0eXBlIjogImNoYXIiLAorICAgICAgICAgICAgIm1vZGlmaWVycyI6IDgsIC8vIHNoaWZ0
CisgICAgICAgICAgICAidGV4dCI6ICJBIiwKKyAgICAgICAgICAgICJ1bm1vZGlmaWVkVGV4dCI6
ICJhIiwKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgInR5cGUiOiAia2V5VXAi
LAorICAgICAgICAgICAgIndpbmRvd3NWaXJ0dWFsS2V5Q29kZSI6IDY1LAorICAgICAgICAgICAg
ImtleUlkZW50aWZpZXIiOiAiVSswMDQxIgorICAgICAgICB9CisgICAgXTsKKworICAgIEluc3Bl
Y3RvclRlc3Quc2VuZENvbW1hbmQoIklucHV0LmRpc3BhdGNoS2V5RXZlbnQiLCBldmVudHMuc2hp
ZnQoKSwgY29udGludWVUZXN0KTsKKworICAgIGZ1bmN0aW9uIGNvbnRpbnVlVGVzdChtc2cpIHsK
KyAgICAgICAgaWYgKG1zZy5lcnJvcikgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2co
IkVycm9yOiAiICsgbXNnLmVycm9yLm1lc3NhZ2UpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAg
ICAgIGlmIChldmVudHMubGVuZ3RoKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29t
bWFuZCgiSW5wdXQuZGlzcGF0Y2hLZXlFdmVudCIsIGV2ZW50cy5zaGlmdCgpLCBjb250aW51ZVRl
c3QpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>